servlet执行顺利,但记录没有插入到mysql表中

时间:2017-09-22 02:44:21

标签: jsp servlets mysql-python

  1. 我的应用程序有一个jsp文件用于表单设计以获取学生详细信息。 (jsp ok)(mysql后端有6个列)
  2. 我从jsp文件servlet文件传递了所有表单值。 servlet还从jsp文件
  3. 接收所有表单值
  4. excuteUpdate()方法用于将记录插入mysql。
  5. 我的servlet文件执行时没有任何错误,但记录未插入表中。当我调试我的应用程序时,它说我的例外列表中的sql状态值为null。
  6. (mysql后端有6个列)rollno,name,dept,mark1,mark2,mark3
  7. //这是我的servlet代码。

    import java.io.*;
    import java.net.*;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    /**
     *
     * @author CSE
     */
    public class AddStudent extends HttpServlet 
    {
    
       protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException
       {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            out.print("Hello");
    
            try 
            {
                   Class.forName("com.mysql.jdbc.Driver");//MySQL database connection
                    Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/javademo?"+"user=root&password=");
                    int rollno = Integer.parseInt(request.getParameter("txtrollno"));
                    String name = request.getParameter("txtname");
                    String department = request.getParameter("txtdept");
                    int mark1 = Integer.parseInt(request.getParameter("txtmark1"));
                    int mark2 = Integer.parseInt(request.getParameter("txtmark2"));
                    int mark3 = Integer.parseInt(request.getParameter("txtmark3"));
    
                    PreparedStatement ps=con.prepareStatement("insert into student(rollno,name,department,mark1,mark2,mark3)values(?,?,?,?,?,?)"); 
                    ps.setInt(1,rollno);
                    ps.setString(2,name);
                    ps.setString(3,department);
                    ps.setInt(4,mark1);
                    ps.setInt(5,mark2);
                    ps.setInt(6,mark3);
    
                    ps.executeUpdate();
                    con.commit();
    
                    ps.close();
                    con.close();
                    out.print(name);
                  out.print("\n Record inserted successfully");  
                }
                catch (Exception e)
                { 
                    System.out.println("End");
                }
    
       }
    }
    

1 个答案:

答案 0 :(得分:0)

您似乎没有在此行中添加密码,未建立连接的可能性。

Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/javademo?"+"user=root&password=");