因为strPut并没得到值,也就是说它是不可访问的。
如果你接着访问它,就会报错。
应该这样:
if(strPut == null){
...
}顺便说一句,也许你并没有找到真正的Exception,
一堆报错里面,你应该看下面那个Exception(呵呵,我好像没说清楚)
如果你接着访问它,就会报错。
应该这样:
if(strPut == null){
...
}顺便说一句,也许你并没有找到真正的Exception,
一堆报错里面,你应该看下面那个Exception(呵呵,我好像没说清楚)
我想写的只是一个简单的判断其是否已经登录过……下面的报错如下:Root Cause:
java.lang.NullPointerException
at org.apache.jsp.Update_0005fLogin_jsp._jspService(Update_0005fLogin_jsp.java:56)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:200)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:357)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:431)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:191)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:255)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:879)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:225)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:879)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:446)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:879)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:162)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:879)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:827)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:904)
at java.lang.Thread.run(Thread.java:484)
(String) session.getValue("user");就会错了吧?
但是包涵在一jsp文件中却运行没反应。
被包涵的文件如下:
<%//********************************************************************%>
<%// 文件名 : isLogin.jsp %>
<%// 编写 : AntGhazi/2001-6-14 11:45 %>
<%// 功能 : 用户是否登录过验证文件,通常包涵使用 %>
<%//********************************************************************%><%
String username="";
try{
username=(String) session.getValue("username");
}catch(Exception ex){
%>
<script language="javascript">
alert("您还没有登录,或您登录后长时间没有刷新页面,请从重登录一次!");
</script>
<%
out.println("<html> <head><meta HTTP-EQUIV=refresh Content='0;url=javascript:login.htm'>");
out.println("</head><body>");
out.println("</body></html>");
out.close();
}
%>
这一句得到的结果是null,我加了一判断句,OK!!不知为何有时报错,而有时却得到null