2017-11-23 4 views
1

ここにhtmlページの写真があります。登録ボタンを押すと表示されます。ファイルはmysqlに接続されており、登録されるたびに入力データが表示されます。ここには画像へのリンクがあります。ここでJavaサーブレットでサブミットした後にウェブページ上のデータを表示する方法は?

https://i.stack.imgur.com/aTRfP.png

javaファイルのコードです。

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    PrintWriter out = response.getWriter(); 

    String name = request.getParameter("name"); 
    String email = request.getParameter("email"); 
    String pass = request.getParameter("pass"); 
    try{ 

    //loading drivers for mysql 
    Class.forName("com.mysql.jdbc.Driver"); 

//creating connection with the database 
     Connection conn=DriverManager.getConnection 
       ("jdbc:mysql://localhost:3306/form","root","xxxx"); 

    PreparedStatement ps=conn.prepareStatement 
       ("insert into Student values(?,?,?)"); 

    ps.setString(1, name); 
    ps.setString(2, email); 
    ps.setString(3, pass); 
    int i=ps.executeUpdate(); 

     if(i>0) 
     { 
     out.println("you are successfully regitered"); 
     } 
     String query = "SELECT * FROM student"; 

    // create the java statement 
    Statement st = conn.createStatement(); 

    // execute the query, and get a java resultset 
    ResultSet rs = st.executeQuery(query); 

    // iterate through the java resultset 
    while (rs.next()) 
    { 
       rs.getString("name"); 
       rs.getString("email"); 
       rs.getString("pass"); 


    // print the results 
    System.out.format("%s, %s, %s\n", name, email, pass); 
    System.out.print("name: " + name); 
    System.out.print(", email: " + email); 
    System.out.print(", pass: " + pass); 

    } 

    st.close(); 

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


    } 

println関数のhtmlページのリンクを追加しようとしましたが、うまくいきませんので、お勧めします。

+0

レスポンスオブジェクトから取得しているライターを使用して、HTMLコードを作成する必要があります。これは送信後にクライアント側で表示されます。リクエストパラメータを含めることができます。 – vanje

+0

request.setAttribute( "myObjectName"、myObject) オブジェクトをリターンアトリビュートとして設定し、request.getRequestDispatcher( "/ mypage.jsp")を使用してmypage.jspに戻るforward(request、response) –

+0

whats the writer ? –

答えて

1

私が理解しているように、データが正常に追加されたら確認メッセージを表示する必要があります。 URLを呼び出すと、すべてのヘッダーとパラメーターを含む要求が作成され、サーバーに送信されます。あなたの場合、サーブレットコンテナはそれをキャッチして処理し、応答を返します。しかし、これはWebページにメッセージが表示されない

PrintWriter out = response.getWriter(); 
out.println("message to return"); 

:応答への書き込み

をすることによって行うことができます。あなたは明示的にそれをしなければなりません。あなたは2つの方法でそれを行うことができます。 1 ajaxを使用しています。 2 jspを使用しています。

USING AJAX URLへのajax呼び出しを行い、必要な方法で応答を処理します。 jQueryのようなライブラリを使うと簡単になります。 doGet()又はdoPost()方法でJSP を用い

、最後に

request.setAttribute("message", "my message"); 
request.getRequestDispatcher(URL).forward(request, response); 

この行を追加し、この属性セットに指定URLにリダイレクト。通常は、属性を読み込んで表示するjspページです。

+0

私はまだそれを取得していません。私はそれを作成する必要がありますのでjspを持っていない? –

+0

@vinaysingh jspページがない場合は、最初の方法を使用する必要があります。 2番目のものを使用しないでください –

+0

@ YogeshHShenoy私はjspページを持っていません –

関連する問題