2017-06-29 38 views
0

これは初めてのサーブレットの設定です。ユーザーが特定のボタンをクリックすると、JSPフォームの入力フィールドからJavaサーブレットに値を取得しようとしています。また、サーブレットの作成に適切な慣行を使用しているかどうかもわかりません。 Apache Tomcat 8.0サーバーを右クリックし、新しいサーブレットを選択しました。JSPフォームから値を受け取っていないJavaサーブレット

Javaサーブレット:

@WebServlet("/loginServlet") 
public class loginServlet extends HttpServlet { 

    private static final long serialVersionUID = 3719628899527775749L; 

    public loginServlet() { 
     super(); 
    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     response.getWriter().append("Served at: ").append(request.getContextPath()); 
    } 

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

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

     // do some processing here... 

     // get response writer 
     PrintWriter writer = response.getWriter(); 

     // build HTML code 
     String htmlRespone = "<html>"; 
     htmlRespone += "<h2>Your username is: " + username + "<br/>";  
     htmlRespone += "Your password is: " + password + "</h2>";  
     htmlRespone += "</html>"; 

     // return response 
     writer.println(htmlRespone); 
    } 
} 

JSP:

<form name="loginForm" action="loginServlet" method="post" id="loginForm"> 
      <div class="imgcontainer"> 
       <img src="images/img_avatar2.png" alt="Avatar" class="avatar"> 
      </div> 

      <div class="container"> 
       <label><b>Username</b></label> 
       <input type="text" placeholder="Enter Username" name="uname" required> 

       <label><b>Password</b></label> 
       <input type="password" placeholder="Enter Password" name="psw" required> 

       <button id="loginButton" name="loginButton" type="submit">Login</button> 
       <button id="registerButton" name="registerButton" type="button">Register</button> 
       <input type="checkbox" checked="checked"> Remember me 
      </div> 

      <div class="container" style="background-color:#f1f1f1"> 
       <button type="button" class="cancelbtn">Cancel</button> 
       <span class="psw">Forgot <a href="#">password?</a></span> 
      </div> 
     </form> 

答えて

3

あなたの要求属性の名前は、JSPページに追加されunamepswです。このようにdoPostメソッドを変更する必要があります。

String username = request.getParameter("uname"); 
String password = request.getParameter("psw"); 

それとも

あなたはこのようにJSPページ内のフォームを変更する必要があります。

<label><b>Username</b></label> 
<input type="text" placeholder="Enter Username" name="username" required> 
<label><b>Password</b></label> 
<input type="password" placeholder="Enter Password" name="password" required> 
+1

は、私は問題を見下ろすた、ありがとうございました – Brenton

関連する問題