2013-6-13 14:24:18 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.select_jsp._jspService(select_jsp.java:99)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
-----------------------------------------------------------------
代码区
List qList = null;
try {
qList = zzlMg.getQlistsx();

 request.setAttribute("newlist", qList); //保存到request方便前台调用
 request.getRequestDispatcher("/select.jsp").forward(request,response); } catch (RuntimeException e) {
e.printStackTrace();
throw e;
}


return null;
-----------------------------------------
jsp:<%
   //循环显示数据
   List xulist=(List)request.getAttribute("newlist"); // 取request里面的对象队列
   System.out.print(xulist.size());
    if(xulist.size()!=0){
   
      for(int i=0;i<xulist.size();i++){        
         pageContext.setAttribute("news",xulist.get(i)); 
           //保存到页面pageContext里面方便下面进行EL表达式调用
     %>
<tr>
      <td>${news.grade }</td>    
      <td>${news.courseid }</td>
      <td>${news.newterm }</td>
      <td>${news.oldgrade }</td>
      <td>${news.oldterm }</td>
      
      <td>${news.title }</td>
      <td>${news.shorttitle }</td>
 
     <td>${news.count }</td> 
   </tr>
   <%
      }
    }else{
     %>
<tr><td colspan="8">数据库中没有数据!</td></tr>
    <%
    }
    %>  
   ServletJSP异常

解决方案 »

  1.   

    你到tomcat下的work目录下找到对应的工程的select_jsp.java:99
    看看是哪一行出的错?
      

  2.   

    到你的web服务器的工作空间下面找select_jsp.java文件,看99行是什么代码
      

  3.   

    话说LZ你只是想要循环输出list中的内容的话,用<c:foreach> 标签吧,尽量别在jsp里面嵌入java代码。
      

  4.   


    List xulist=(List)request.getAttribute("newlist"); // 取request里面的对象队列
    99行
    但是,大神我在点击调试  <script type="text/javascript">
         function subdata(){
            alert("2222222222");
         window.open("http://172.16.71.151:8080/hpapi/select/selectid/");
        
        
         }
       </script>
    这段代码的时候,这是jsp onload方法  ,可以显示出来结果。但是在外部浏览器访问的时候,就报错
      

  5.   


    List xulist=(List)request.getAttribute("newlist"); // 取request里面的对象队列
    99行
    但是,大神我在点击调试  <script type="text/javascript">
         function subdata(){
            alert("2222222222");
         window.open("http://172.16.71.151:8080/hpapi/select/selectid/");
        
        
         }
       </script>
    这段代码的时候,这是jsp onload方法  ,可以显示出来结果。但是在外部浏览器访问的时候,就报错
      

  6.   


    List xulist=(List)request.getAttribute("newlist"); // 取request里面的对象队列
    99行
    但是,大神我在点击调试  <script type="text/javascript">
         function subdata(){
            alert("2222222222");
         window.open("http://172.16.71.151:8080/hpapi/select/selectid/");
        
        
         }
       </script>
    这段代码的时候,这是jsp onload方法  ,可以显示出来结果。但是在外部浏览器访问的时候,就报错
      

  7.   

    你可以直接在
     List xulist=(List)request.getAttribute("newlist"); // 取request里面的对象队列
    行上加断点,
    看看xulist是不是 = null
      

  8.   

    把你项目里的servlet-api和jsp-api删除试试。
    一般自己项目里的与tomcat的会冲突。
      

  9.   

    xulist为空吧应该,不是包的问题吧,上面报的是控制异常
      

  10.   

    java.lang.NullPointerException  
    看看你哪个list 为空了
     打印一下
      

  11.   


    问题昨天就解决了,因为jsp里面有伪代码,所以会先执行jsp,所以会报空指针