String[] grade = request.getParameterValues("grade");
  String[] week = request.getParameterValues("week");
  String[] dor_id = request.getParameterValues("dor_id");
  String[] year = request.getParameterValues("year");
  for(int i=1;i<=grade.length;i++)
  {
  sql = "insert into score (dor_id,grade,week,year) values('"+dor_id[i]+"','"+grade[i]+"','"+week[i]+"','"+year[i]+"')";
  stmt.executeUpdate(sql);
  }

解决方案 »

  1.   

    这是出错信息:
    org.apache.jasper.JasperException: Exception in JSP: /ping.jsp:1815:    String[] year = request.getParameterValues("year");
    16:    for(int i=1;i<=grade.length;i++)
    17:    {
    18:    sql = "insert into score (dor_id,grade,week,year) values('"+dor_id[i]+"','"+grade[i]+"','"+week[i]+"','"+year[i]+"')";
    19:    stmt.executeUpdate(sql);
    20:    }
    21:    %>
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    root cause java.lang.NullPointerException
    org.apache.jsp.ping_jsp._jspService(ping_jsp.java:104)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      

  2.   

    这是出错信息:
    org.apache.jasper.JasperException: Exception in JSP: /ping.jsp:1815:    String[] year = request.getParameterValues("year");
    16:    for(int i=1;i<=grade.length;i++)
    17:    {
    18:    sql = "insert into score (dor_id,grade,week,year) values('"+dor_id[i]+"','"+grade[i]+"','"+week[i]+"','"+year[i]+"')";
    19:    stmt.executeUpdate(sql);
    20:    }
    21:    %>
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    root cause java.lang.NullPointerException
    org.apache.jsp.ping_jsp._jspService(ping_jsp.java:104)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
      

  3.   

    这是源文件:
    <%@ include file = "include/dbconn.jsp" %>
    <%
          String[] grade = request.getParameterValues("grade");
      String[] week = request.getParameterValues("week");
      String[] dor_id = request.getParameterValues("dor_id");
      String[] year = request.getParameterValues("year");
      for(int i=1;i<=grade.length;i++)
      {
      sql = "insert into score (dor_id,grade,week,year) values('"+dor_id[i]+"','"+grade[i]+"','"+week[i]+"','"+year[i]+"')";
      stmt.executeUpdate(sql);
      }
      %>
      <script language="javascript">alert("评分成功!!");document.location.href = "score.jsp";
      </script>
      
      <%      
       stmt.close();
       conn.close();
    %>
      

  4.   

     1、 for(int i=1;i <=grade.length;i++)   数组会越界 , ===>for(int i=1;i <grade.length;i++) 
     2、 确定 grade 、week 、dor_id 、year  四个数组的长度相等 ? 
      

  5.   

    root cause 
    java.lang.NullPointerException 
    估计是你哪得值没取到出异常了。
      

  6.   

    for(int i=1;i <=grade.length;i++)改成for(int i=0;i < grade.length;i++)数组下标从0开始
      

  7.   

    楼上说的对,length反回数组有多少个元素,下标是从0开始。
    你用的request.getParameterValues会不会有返回空值的情况,之前你不是不应该判断一下是不是为空null
      

  8.   

    String[] grade  =  request.getParameterValues 获取的值为null的话
    ....
    for (int i = 1 ; i < grade  .length; i++)就回包NullPointerException 错误也 有可能是connection 对象还没有打开
    执行 stmt.executeUpdate(sql); 
    也会包NullPointerException 错误