java.lang.NullPointerException

555555555555555 2011-09-21 11:11:14
错误信息
4e49231f WebGroup E SRVE0026E: [Servlet Error]-[]: java.lang.NullPointerException
at org.apache.jsp._header._jspService(header.jsp :8)
at com.ibm.ws.webcontainer.jsp.runtime.HttpJspBase.service(HttpJspBase.java:89)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:344)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:669)
at com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:767)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.ServicingServletState.service(StrictLifecycleServlet.java:333)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:983)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:253)


jsp页面
<% response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
response.setHeader("Cache-Control","no-cache");
%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/nuchtml.tld" prefix="prenuchtml" %>
<%@ page import="com.nucleus.los.dto.common.SessionDTO" %>
<%@ page import="com.nucleus.los.dto.common.ApplicationDTO" %>
<%@ page import="com.nucleus.los.util.Format" %>
<%
SessionDTO sessionDTO = (SessionDTO)session.getAttribute("SESSIONOBJECT");
//String crFlag = sessionDTO.getCorpRetailFlag();
String crFlag = sessionDTO.getCorpRetailFlag();
//Debug下面运行到这里就停止了
ApplicationDTO applicationDTO = (ApplicationDTO)session.getAttribute("APPLICATIONOBJECT");
if (applicationDTO==null)
{
applicationDTO = new ApplicationDTO();
}


我以为是sessionDTO的问题,后来看了一下,sessionDTO所在得EJB项目顺利编译。jsp所在的WEB项目也把EJB放在了项目属性>Java Build Path加载的路径中。

然后运行Web项目on test server就出现了这个问题。

我又检查了struts类库,都在classpath路径下面。
还有WEB-INF/下面

环境是EJB 2.0,struts,jdk 1.4
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
555555555555555 2011-09-21
  • 打赏
  • 举报
回复
运行到这行
String crFlag = sessionDTO.getCorpRetailFlag();


要是SPO就是这么个情况
//out.println("OK,printed.");
String crFlag = sessionDTO.getCorpRetailFlag();
//out.println("Not printed");


然后在sessionDTO得getCorpRetailFlag()方法加打印语句,控制台也看不见输出。

-所以我开始以为是EJB项目没有被WEB项目中配置,可是后来看到WEB项目属性中关于EJB的配置是正确的。

whlusha720 2011-09-21
  • 打赏
  • 举报
回复
没用过EJB 不过你的
ApplicationDTO applicationDTO = (ApplicationDTO)session.getAttribute("APPLICATIONOBJECT"); 是空吧 ?在哪定义的
chenliuyang 2011-09-21
  • 打赏
  • 举报
回复
sessoin 里面SESSIONOBJECT 不存在。 你拿到sessionDTO 就是null咯, 去调用他的方法当然会NullPointException

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧