2017-09-22 16 views
-1

ユーザーのログインとパスワードを検証しようとしていますが、ログインフィールドを入力しないとパスワードが画面に表示されます。ユーザが誤ったユーザ名またはパスワードを入力した場合は、「不正なログインまたはパスワード」画面メッセージが表示されますが、メッセージは表示されません。サーブレットの値をJSPページに入れることができません

jspページにメッセージが表示されないのはなぜですか?

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

    String vazio="Por favor preencha os campos de login ou senha"; 
    String incorretos="Login ou senha incorretos"; 

    String login = request.getParameter("login"); 
    String senha = request.getParameter("senha"); 

    Cliente cli= new Cliente(); 
     LoginDAO login2= new LoginDAO(); 


    Cliente login_validacao=login2.validacaoLogin(login,senha); 


    if(login_validacao.getLogin()==null && login_validacao.getSenha()==null){ 
    request.setAttribute("vazio", vazio); 

    } 
    else if(login_validacao.getLogin().equals(request.getParameter("login")) 
    & login_validacao.getSenha().equals((request.getParameter("senha")))){ 

RequestDispatcher rd=request.getRequestDispatcher("/index.jsp"); 
rd.forward(request, response); 
} 
    else{ 
    request.setAttribute("incorreto", incorretos); 
    } 

    } 

    <html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<script src="js/jquery-1.12.0.min.js" type="text/javascript"></script> 
<script src="js/jquery.maskedinput.js" type="text/javascript"></script> 
<script src="js/jquery.maskedinput.min.js" type="text/javascript"> 
</script> 

<script src="bootstrap/bootstrap.min.js" type="text/javascript"> 
</script> 
<script src="bootstrap/bootstrap.js" type="text/javascript"></script> 
<link rel="stylesheet" href="bootstrap/bootstrap.css"> 
<link rel="stylesheet" href="css/css.css" type="text/css"> 
<link rel="stylesheet" href="css/font-awesome.min.css" type="text/css"/> 
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font- 
awesome.min.css" rel="stylesheet"> 
<title>JSP Page</title> 
</head> 

<body> 
<div class="login-form"> 

<div class="row"> 
<div class="col-6 col-md-4"></div> 
<div class="col-6 col-md-4"> 
<h2 id="AcesseConta"><span>Acesse sua Conta</span></h2> 
<label for="vazio_resposta">${vazio}</label> 
    <label for="validacao">${incorreto}</label> 
</div> 
</div> 

<div class="row"> 
<div class="col-6 col-md-4"></div> 
    <div class="col-6 col-md-4"> 
Login:<input type="text" id="login" name="login" ><br/><br/> 
Senha:<input type="text" id="senha" name="senha" ><br/> 
<a href="">Não é cadastrado?Cadastre-se</a><br/><br/> 
</div> 

</div> 

<div class="row"> 
<div class="col-6 col-md-4"></div> 
    <div class="col-6 col-md-4"> 
      <div id="teste"></div> 
    <button type="button" onclick="login()" >Entrar</button> <button 
    type="button" onclick="" >Esqueceu a Senha?</button> 
</div> 

</div> 
</div> 
</body> 
</html> 
+0

のサーブレット

 if(login_validacao.getLogin()==null && login_validacao.getSenha()==null) { response.sendRedirect("login.jsp?vazio=" + URLEncoder.encode(vazio, "UTF-8")); } else if(login_validacao.getLogin().equals(request.getParameter("login")) & login_validacao.getSenha().equals((request.getParameter("senha")))) { RequestDispatcher rd=request.getRequestDispatcher("/index.jsp"); rd.forward(request, response); } else { response.sendRedirect("login.jsp?incorretos=" + URLEncoder.encode(incorretos, "UTF-8")); } 

ためのコード

以下のサーブレットの使用からJSPにメッセージを表示します私は今尋ねた、兄。 –

+0

を頼むのを忘れ

Login:<input type="text" id="login" name="login" Required><br/><br/> Senha:<input type="text" id="senha" name="senha" Required><br/> 

そしてJSP

<c:if test="${!empty vazio}"> <p style="color:red;" align="center">${param.vazio}</p> </c:if> 
User1999

+0

あなたの '

答えて

0

コントローラ/サーブレットを使用してHTMLフォームを検証する代わりに、次のようにhtmlに「REQUIRED」タグを使用できます。

あなたは質問(:-))
関連する問題