<%
String spath="jcdg/jcdg.mdb";
String dbpath=application.getRealPath(spath);
String url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbpath;
Connection conn;
ResultSet rs;
String sel_sql,ins_sql;
PreparedStatement stmt1,stmt2;
String ck="";
String check[]=request.getParameterValues("check");
for(int i=0;i<check.length;i++)
{
ck=ck+("'"+check[i]+"'"+",");
}
ck=ck.substring(0,ck.length()-1);
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection(url);
sel_sql="select * from kucun where BookId in("+ck+")";
stmt1=conn.prepareStatement(sel_sql);
rs=stmt1.executeQuery(sel_sql);
ins_sql="insert into gsc(BookId,BookName,price,author,press)values(?,?,?,?,?)";
stmt2=conn.prepareStatement(ins_sql);
while(rs.next())
{
String a,b,c,d,e;
a=rs.getString(1);
b=rs.getString(2);
c=rs.getString(3);
d=rs.getString(4);
e=rs.getString(5);
stmt2.setString(1,a);
stmt2.setString(2,b);
stmt2.setString(3,c);
stmt2.setString(4,d);
stmt2.setString(5,e);
stmt2.executeUpdate();
}
conn.close();
stmt2.close();%>
订单提交成功,3秒钟后自动返回首页,如果你不想等待,可以点击这里<a href="userindex.jsp">返回首页</a>
<%response.setHeader("Refresh","3;URL=userindex.jsp");%>
%>每次运行都会出现错误org.apache.jasper.JasperException: An exception occurred processing JSP page /dingdantj.jsp at line 2017: PreparedStatement stmt1,stmt2;
18: String ck="";
19: String check[]=request.getParameterValues("check");
20: for(int i=0;i<check.length;i++)
21: {
22:  ck=ck+("'"+check[i]+"'"+",");
23: }
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:567)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:471)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause java.lang.NullPointerException
org.apache.jsp.dingdantj_jsp._jspService(dingdantj_jsp.java:82)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

解决方案 »

  1.   

    String check[]=request.getParameterValues("check");check = null;
      

  2.   

    说明一下,有两个表,kucun,gsc,kucun表中有(BookId,BookName,price)等记录,在1.jsp中,复选框的value值为BookId,选择复选框,传到2.jsp中,通过value值查询kucun表,将表中的(BookId,BookName,price)等内容都显示出来,然后在3.jsp中,通过上边的代码,我想将显示出来的内容插入到表gsc中,我是先重新进行了查询,然后插入
      

  3.   

    java.lang.NullPointerException
    org.apache.jsp.dingdantj_jsp._jspService(dingdantj_jsp.java:82)
    空指针错误。
    在org.apache.jsp.dingdantj_jsp._jspService(dingdantj_jsp.java:82)
    严重怀疑i<check.length可能是length不是获取string [] 长度的方法。或者根本通过这种方法获取不到长度。
    刚刚模拟了一下这个问题。
    应该是这个问题。check.length,如果String check[] =null的话。check的成员的变量length是没有办法初始化的。所以会报空指针错误。所以在这条语句之前,请先验证 String check[]是否为空吧。
      

  4.   

    我应该如何将check的值从1.jsp传到3.jsp中