2017-03-03 130 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 

並且瞧 - 記錄出現在表格中。

相關問題