2017-03-03 6 views
0

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(); 
     } 






    } 

} 

Webクライアントから送信されたリクエストを処理するサーブレットを作成しました。このサーブレットでは、データベース接続の詳細を追加し、リクエストオブジェクトを使用してフォームデータを読み込み、セッターメソッドを使用して値をデータベースに格納しています。フォームに詳細を追加することはできますが、フォームデータはデータベースに格納されません。フォームデータをデータベースに保存するにはどうすればよいですか。

答えて

1

いくつかの理由があります。

  1. まず、このサーブレットにデータが到着していることを確認します。
  2. 1がOKであれば、あなたの文をコミットする必要がありますが:connection.commit()
0

サーブレットはokです。最初に私は、MySQLデータベースのテストを作成し、テーブルNEWUSERを追加しました:

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

その後、私はそれであなたのコードとMavenの突堤プロジェクトを作成しました。その後、私はブラウザに次のURLを開いた。

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

そして、表が記録されている。

関連する問題