因为strPut并没得到值,也就是说它是不可访问的。
如果你接着访问它,就会报错。
应该这样:
if(strPut == null){
  ...
}顺便说一句,也许你并没有找到真正的Exception,
一堆报错里面,你应该看下面那个Exception(呵呵,我好像没说清楚)

解决方案 »

  1.   

    正是x86(大雪)的说的情况,我应该如何解决他?
    我想写的只是一个简单的判断其是否已经登录过……下面的报错如下: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)
      

  2.   

    如果session.getValue("user")==null怎么办?
    (String) session.getValue("user");就会错了吧?
      

  3.   

    楼上几位说的都没有解决方法,小弟使用try{}catch(){}后不会报错.
    但是包涵在一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();
      }
    %>
      

  4.   

    搞定,username=(String)session.getValue("username");
    这一句得到的结果是null,我加了一判断句,OK!!不知为何有时报错,而有时却得到null