Nom d'utilisateur et le mot de passe de validation de la base de données pour afficher la page jsp
Si le nom d'utilisateur et le mot de passe récupéré à partir de la base de données sont incorrectes ensuite, je voudrais montrer l'erreur sur la page jsp lui-même au lieu de re-diriger vers une autre page.
Droit maintenant, je suis en train de montrer un message à partir de la validation de la servlet si le nom d'utilisateur et les mots de passe ne sont pas valides. Comment puis-je afficher un message sur l'extrémité avant à l'aide de javascript ou tout autre outil de jsp vue?
Ci-dessous mon formulaire de Connexion:
<form id="loginform" class="form-horizontal" name="myForm" method="POST" action="ValidateLoginServlet2.do" onSubmit="return validateLogin()">
<input type="text" class="form-control" name="uname" placeholder="username">
<input id="login-password" type="password" class="form-control" name="pwd" placeholder="password">
<input type="submit" value="Login" href="#" class="btn btn-success" />
</form>
Et mes Valider connexion servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// processRequest(request, response);
PrintWriter out = response.getWriter();
String username = request.getParameter("uname");
String password = request.getParameter("pwd");
System.out.println(username);
System.out.println(password);
try
{
Connection con = OracleDBConnection.getConnection();
PreparedStatement statement = con.prepareStatement("select firstname, password from registration where firstname =? and password=?");
statement.setString(1, username);
statement.setString(2, password);
ResultSet result = statement.executeQuery();
if(result.next()){
response.sendRedirect("LoginSuccessful.jsp");
}else{
out.println("username and password are incorrect");
}
}catch(Exception e){
System.out.println("DB related Error");
e.printStackTrace();
}
}
- J'espère vraiment que vous chiffrez les mots de passe avant ils sont stockés dans la base de données ou par rapport à l'encontre de DB valeurs...
- - Ils doivent être cryptés? Si oui, comment?. Pourriez-vous me donner une astuce ou un lien à ce sujet. Merci
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser un
<span>
élément où vous montrez votre message d'erreur que vous obtenez à partir de votreservlet request
, voici la page JSP:Et dans votre servlet vous définissez un message d'erreur dans votre autre déclaration comme ceci:
Et évite d'afficher la même erreur la prochaine connexion de votre si le bloc où la connexion est réussie, vous pouvez réinitialiser le
ErrMsg
comme ceci:<c:out value="${errMsg}"/>
message d'erreur n'est pas affiché sur la page d'affichage${errMsg}
sans<c:out>
comme ceci:<span style="color:red;">${errMsg}</span>
dans votre partie de vous Valider connexion servlet, mettez ce code :
Et de mettre ci-dessous le code à la première partie de votre index.jsp(ou où est votre formulaire de connexion)