问题
Here is my servlet that contains the form.
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con1 = null;
con1 = DriverManager.getConnection("jdbc:mysql://localhost:3306/itcomplaintsystem", "root", "colbiecaillat");
Statement stmt = con1.createStatement();
ResultSet rs = stmt.executeQuery("select * FROM complaints");
out.println("<form action='assignedc1' method='post'>");
out.println("<table cellspacing='0' width='100%' border=1 width=50% height=50%>");
out.println("<tr><th>Select</th><th>C_NO</th><th>DEPT</th><th>SEC</th><th>NAME</th><th>PHONE</th><th>COMPLAINT FOR</th><th>COMPLAINT FOR(OTHERS)</th><th>MAKE & MODEL</th><th>MAKE & MOODEL(OTHERS)</th><th>MACHINE SERIAL NUMBER</th><th>NOP</th><th>REMARKS</th><tr>");
while (rs.next()) {
String cno=rs.getString("C_NO");
String dpt = rs.getString("DEPT");
String sec = rs.getString("SEC");
String na = rs.getString("NAME");
int pno = rs.getInt("PHONE");
String cfor = rs.getString("COMPFOR");
String cforo = rs.getString("COMPFORO");
String mm = rs.getString("MMODEL");
String mmo = rs.getString("MMODELO");
String serno = rs.getString("MSERNO");
String nop = rs.getString("NOP");
String rem = rs.getString("REM");
out.println("<tr> <td><input type=\"checkbox\" name='comp' value='" + cno + "'/></td><td >" + cno + "</td> <td >" + dpt + "</td><td>" + sec + "</td><td>" + na + "</td><td>" + pno + "</td><td>" + cfor + "</td><td>" + cforo + "</td><td>" + mm + "</td><td>" + mmo + "</td><td>" + serno + "</td><td>" + nop + "</td><td>" + rem + "</td></tr>");
}
out.println("</table>");
out.println("<tabel cellspacing='o' width='50%'>");
out.println("<tr><th> Select <th><th><th></tr>");
out.println("<tr><td><input type=\"checkbox\" name='ITSubordinates' value='IT Subordinate 1' /></td><td> IT Subordinate 1</td></tr>");
out.println("<tr><td><input type=\"checkbox\" name='ITSubordinates' value='IT Subordinate 2' /></td><td> IT Subordinate 2</td></tr>");
out.println("<tr><td><input type=\"checkbox\" name='ITSubordinates' value='IT Subordinate 3' /></td><td> IT Subordinate 3</td></tr>");
out.println("<tr><td><input type=\"checkbox\" name='ITSubordinates' value='IT Subordinate 4' /></td><td> IT Subordinate 4</td></tr>");
out.println("<tr><td><input type=\"checkbox\" name='ITSubordinates' value='IT Subordinate 5' /></td><td> IT Subordinate 5</td></tr>");
out.println("</table>");
out.println("<button type=\"submit\" name=\"submit\" value=\"Submit\"> Submit </button>");
out.println("</form>");
}
Here is the servlet that performs the query required. What might be the issue?
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
PrintWriter out = response.getWriter();
String[] comps = request.getParameterValues("comp");
String[] subs = request.getParameterValues("ITSubordinates");
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("</head>");
out.println("<body>");
out.println("hey");
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con1 = null;
Statement stmt = con1.createStatement();
con1 = DriverManager.getConnection("jdbc:mysql://localhost:3306/itcomplaintsystem", "root", "colbiecaillat");
PreparedStatement pstmt = null;
ResultSet rs = null;
for (int i=0;i<subs.length; i++) {
for (int j=0;j<comps.length; j++)
{
pstmt = con1.prepareStatement("INSERT INTO assigndetails(C_NO,ASSIGNEDTO) values(" + comps[j] + "," + subs[i] + ")");
}
}
int x = pstmt.executeUpdate();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("</head>");
out.println("<body>");
out.println("hey");
out.println("<script type='text/javascript'>");
if(x>0)
{
RequestDispatcher view = request.getRequestDispatcher("assignsuccess.jsp");
view.forward(request, response);
return;
}
else
{
out.println("<font color='red'<b>Sorry, couldn't be assigned.</b></font>");
} out.println("</script>");
out.println("</body>");
out.println("</html>");
}
catch(ClassNotFoundException | InstantiationException | IllegalAccessException | SQLException e)
{
out.println(e);
}
}
On runnig, the webpage shows java.lang.NullPointerException. I'm not getting where I am going wrong. Kindly, resolve this.
来源:https://stackoverflow.com/questions/37851632/i-am-trying-to-get-checked-values-from-a-form-contained-in-a-servlet-to-another