2017-03-03 114 views
0

我想在java中添加表单数据到数据库 - 使用jQuery模型表单对话框来创建表单 - 但我看不到数据库中的任何数据。jQuery模型表单不存储数据库中的数据

import java.io.IOException; 
import java.io.PrintWriter; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

/** 
* Servlet implementation class newUserServlet 
*/ 
@WebServlet("/newUserServ") 
public class newUserServlet extends HttpServlet { 

    Connection connection; 

    @Override 
    public void init() throws ServletException { 

     try{ 

      Class.forName("org.gjt.mm.mysql.Driver"); 

            //my database connection url     
      connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","kavuri654"); 

     }catch(Exception e){ 
      e.printStackTrace(); 
     } 


    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

     String username =request.getParameter("name"); 
     String email =request.getParameter("email"); 
     String password =request.getParameter("password"); 

      PrintWriter out =response.getWriter(); 

     out.println("<h3>added<h3>"); 

     try{ 
      String selectQuery="insert into test.newuser(name,email,password)"+"values(?,?,?)"; 
      PreparedStatement preparedstatement=connection.prepareStatement(selectQuery); 
      preparedstatement.setString(1, username); 
      preparedstatement.setString(2, email); 
      preparedstatement.setString(3, password); 

      int i =preparedstatement.executeUpdate(); 

      if(i>0){ 
       System.out.println("one row is added"); 
      } 

      connection.close(); 

     }catch(Exception e){ 
      e.printStackTrace(); 
     } 






    } 

} 

我创建了一个servlet来处理从Web客户端发送的请求。在这个servlet中,我添加了数据库连接的详细信息,并且正在使用请求对象读取表单数据,并使用setter方法将值存储到数据库中。我可以将详细信息添加到表单中,但表单数据不存储在数据库中。我应该如何将表单数据存储到数据库中。

回答

1

会有一些原因。

  1. 首先检查你的数据是否“到达”这个Servlet。
  2. 如果1是确定的,那么你应该提交你的语句:connection.commit()
0

你的servlet是确定的。首先我创建了一个MySQL数据库测试,并添加表NEWUSER:

create table newuser (
    name varchar(255), 
    email varchar(255), 
    password varchar(255) 
) 

然后我创建了与它的代码一个maven码头项目。然后我在浏览器中打开以下网址:

http://localhost:8899/newUserServ?name=testname&email=testemail&password=testpwd 

并且瞧 - 记录出现在表格中。