HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage 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 /index.jsp at line 3229:  <%
30:  String num = request.getParameter("num");
31:  //String num1 = num.substring(0,7);
32:  check.setNumber(num.substring(0,7));
33:  //out.println(num);
34:  %>
35:  <%
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.index_jsp._jspService(index_jsp.java:94)
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.18 logs.

解决方案 »

  1.   

    String num = request.getParameter("num"); 
    很明显,你没有从这句话得到num。你单步调试下。
      

  2.   

    check哪里来的?check如果为null,调用方法也会报这个错
      

  3.   

    num参数没有传给服务端。导致String num = null 
      

  4.   

    这样的问题是可以避免的,只是coding时多注意一下null pointer excption就可以了。要避免它,只要注意一点就可以了。那就是当你在对了个对像进行操做时,可以肯定它不为null时,那就可以直接对它进行操作,要不然就要对它时行判空。如:if(operater != null) {//业务处理} else {//异常处理}
    又如:用equals()方法时,尽量把不为空的那个放在前面。要是两个都不能判断,那就对它判空。
    不要怕麻烦,平时小心点儿,后面bug就会少一点儿。
      

  5.   

    num有值?>
    是不是太短了,不够长也报错的
      

  6.   

    郁闷JSP ,正在学,头大我都是先在控制台调试成功再把代码改成JSP
      

  7.   

    不应该是数组越界访问应该是 num为NULL 或者 check为NULL调试一下就知道了,或者直接 在num下面和check下面分别写一个输出语句看一下!
      

  8.   

    这个问题是你的request.getParameter("num"); 得到的什么值啦,如果为"",null,或者小于7字符的长度的话,那进行substring就会出错呀,因此你要截取值的话,一定要满足截取的长度呀!
      

  9.   

    设置断点,追踪变量类型和变量值,我看你的方法是setNumber(String str) 是不是参数类型不匹配 猜测
    从你贴出来的错误信息没发现什么有价值的东西
      

  10.   

    给num先赋值调试一下,如果没问题就是check出错了