最不友好的 界面报错:
HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: java.lang.NullPointerException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) root cause java.lang.NullPointerException org.apache.jsp.computer_005flist_jsp._jspService(computer_005flist_jsp.java:111) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
相对友好的界面:
type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: An exception occurred processing JSP page /computer_list.jsp at line 57 54: //System.out.println("request:"+request); 55: //if(computers == null){ System.out.println("computers:=="+computers);} 56: //else{ 57: for(int i=0;i<computers.size();i++){ 58: Computer c = computers.get(i); 59: %> 60: <tr> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) root cause java.lang.NullPointerException org.apache.jsp.computer_005flist_jsp._jspService(computer_005flist_jsp.java:111) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.
解决:
帮助一位女孩子解决以上异常
最初的判断,以为是哪个英文写错了,可查了半个小时,没结果,最后,我怀疑是不是jsp页面本来就有错。
后来,我回来我的电脑运行,发现我是从list.do重定向到computer_list.jsp
于是,最初得出的结论是:因为在servlet中进行session绑定引起的。
今晚,又重新定位这个原因,才发现,页面给的报错才是真正的原因,不能莫须有的联想判断,太主观。
在..\localhost\shoppingCart\org\apache\jsp目录下,找到MyExlipse编译的computer_005flist_jsp.java文件,111行,正是
for(int i=0;i<computers.size();i++){
错误的原因就是computers的值为null,所以不能直接调用
computers.size() 原来,JAVA程序友好报错界面,真的这么好~