1 pièce(s) jointe(s)
Afficher message d'erreur sur une JSP provenant d'une Servlet
Bonjour,
Je re-développe une application que j'avais en PHP en java et je souhaiterai afficher un message d'erreur au dessus de mon formulaire en cas de mauvaise saisie comme sur l'image joint
En php, je fessai comme ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| //Mise en forme de la requête qui récupère le login et le mot de passe dnas la table users
$req = "Select login, mdp From users
Where login = '".$ident."'
And mdp = '".$mdpCrypte."'";
//Exécution de la requête
$res = $connexion->query($req);
if($res!=false):
//Retourne un enregistrement
$row = $res->fetch();
if($row == false):
?>
<div class="alert alert-danger">
<i class="icon-remove-sign"></i>
<strong>Identifiant et / ou mot de passe incorrect(s)</strong> !
</div>
<?php
else:
... |
Je souhaiterai réutiliser la même classe alert avec le même affichage mais je ne voie pas comment faire pour passer mon message et ou situé ce bout de code.
Voici ma JSP login:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| <body>
<!-- pre load bg imgs -->
<script type="text/javascript">
$(function() {
// bg switcher
var $btns = $(".bg-switch .bg");
$btns.click(function(e) {
e.preventDefault();
$btns.removeClass("active");
$(this).addClass("active");
var bg = $(this).data("img");
$("html").css("background-image",
"url('./assets/img/bgs/" + bg + "')");
});
});
</script>
<div class="login-wrapper">
<div class="box">
<div class="content-wrap">
<form id="signin" action="" method="post">
<h6>Log in</h6>
<label for="ident"><span class="help-required"></span></label> <input
class="form-control required" role="input" aria-required="true"
type="text" placeholder="Identifiant" name="ident" id="ident"
value="" /> <label for="mdp"><span class="help-required"></span></label>
<input class="form-control required" role="input"
aria-required="true" type="password" placeholder="Mot de passe"
name="mdp" id="mdp" value="" /> <a href="mdpPerdu.php"
class="forgot">Mot de passe oublié ?</a> <input type="submit"
value="Log in" name="submit" id="submitButton"
class="btn-glow primary login"
title="Cliquez ici pour vous connecter !" />
</form>
</div>
</div>
</div>
</body>
</html> |
Ma servlet:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| package fr.intranet.servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import fr.intranet.bdd.UsersDAO;
import fr.intranet.models.Users;
import org.apache.commons.codec.digest.DigestUtils;
public class Login extends HttpServlet {
public static final String VUE = "/WEB-INF/index.jsp";
public static final String VUECNX = "/WEB-INF/accueil.jsp";
public static final String CONF_DAO_FACTORY = "daofactory";
public static final String ATT_USER = "util";
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.getRequestDispatcher(VUE).forward(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
HttpSession session = req.getSession();
UsersDAO connexion = new UsersDAO();
Users user = new Users();
String login, mdp, mdpCrypte, message;
// Récupération des champs envoyé par le formulaire
login = req.getParameter("ident");
mdp = req.getParameter("mdp");
// Vérification de la valeur des champs (si vide/s, message d'erreur)
if (login.trim().isEmpty() || mdp.trim().isEmpty()) {
message = "Vous n'avez pas rempli tous les champs !";
this.getServletContext().getRequestDispatcher(VUE)
.forward(req, resp);
} else {
message = "";
//Cryptage mot de passe
mdpCrypte = DigestUtils.sha1Hex(mdp);
if (connexion.conexUser(login, mdpCrypte) == false) {
message = "Connexion échouée, mauvaise combinaison identifiant/mot de passe !";
this.getServletContext().getRequestDispatcher(VUE)
.forward(req, resp);
} else {
user = connexion.getInfoUser(login);
session.setAttribute("util", user);
// on redirige vers la page .jsp "Accueil"
this.getServletContext().getRequestDispatcher(VUECNX)
.forward(req, resp);
}
}
req.setAttribute("message", message);
}
} |
C'est le message connexion échoué que je souhaiterai afficher.
Merci de votre aide