0

私はサーブレットが初めてです。データベースを更新するサーブレットがあります。送信ボタンをクリックした後、更新が成功したかどうかを示すメッセージを表示したい。このために、ラベルを付ける予定ですが、ラベルタグには値、表示などのプロパティがありません。どうすればよいですか? これが私のサーブレットのコードです:

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

    //System.out.println("editservlet");

    try
    {
        connect();
        int result=-1;
        PreparedStatement checkDB = (PreparedStatement) con.prepareStatement(
        "UPDATE users set username=?,password=?,name=?,surname=?,phone=?,address=?," +
        "email=? where username=?");
        checkDB.setString(8,request.getParameter("tUserName"));
        checkDB.setString(1,request.getParameter("tUserName"));
        checkDB.setString(2,request.getParameter("tPassword"));
        checkDB.setString(3,request.getParameter("tName"));
        checkDB.setString(4,request.getParameter("tSurName"));
        checkDB.setString(5,request.getParameter("tPhone"));
        checkDB.setString(6,request.getParameter("tAddress"));
        checkDB.setString(7,request.getParameter("tEmail"));
        result= checkDB.executeUpdate();
                    if(result>0)
            //SHOW THE MESSAGE THAT TELLS UPDATE SUCCESFUL

    }
    catch(Exception e)
    {
        e.printStackTrace();
                    //SHOW THE MESSAGE THAT UPDATE UNSUCCESFUL
    }


}

誰でもこれで私を助けることができますか? ありがとう

4

2 に答える 2

2

サーブレットから HTML を出力しないようにします。非推奨です。

SignupStatus.jspなどの JSP ページを作成します。

<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<html>
 <head>
  <title>Signup Status</title>
 </head>
 <body>
  <p>Hi <b>${username}<b>,<br />
    Your signup ${statusMsg}
  </p>
 </body>
</html>

次に、サーブレットを次のように変更します

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

  // request attributes to be sent to JSP
  String username = null;
  StringBuilder statusMsg = new StringBuilder();

    try
    {
        connect();
        int result=-1;
        PreparedStatement checkDB = (PreparedStatement) con.prepareStatement(
        "UPDATE users set username=?,password=?,name=?,surname=?,phone=?," +
        "address=?,email=? where username=?");

        // set username value
        username = request.getParameter("tUserName");

        // set username as request attribute
        request.setAttribute("username", username);

        checkDB.setString(8,username);
        checkDB.setString(1,username);

        checkDB.setString(2,request.getParameter("tPassword"));
        checkDB.setString(3,request.getParameter("tName"));
        checkDB.setString(4,request.getParameter("tSurName"));
        checkDB.setString(5,request.getParameter("tPhone"));
        checkDB.setString(6,request.getParameter("tAddress"));
        checkDB.setString(7,request.getParameter("tEmail"));
        result= checkDB.executeUpdate();

        if(result>0)
            statusMsg.append("was successful!"); // set a success message

    }
    catch(Exception e)
    {
        e.printStackTrace();
        // set a failure message along with error details
        statusMsg.append("failed with the error: ").append(e.getMessage());
    }

    // set status message as request attribute
    request.setAttribute("statusMsg", statusMsg.toString());

    // forward request (along with its attributes) to the status JSP
    RequestDispatcher rd = response.getRequestDispatcher("SignupStatus.jsp");
    rd.forward(request, response);
}
于 2013-07-02T08:24:07.717 に答える