CherifoNar
Messages postés2Date d'inscriptionmercredi 8 juin 2016StatutMembreDernière intervention 8 juillet 2016
-
Modifié par KX le 8/06/2016 à 18:45
CherifoNar
Messages postés2Date d'inscriptionmercredi 8 juin 2016StatutMembreDernière intervention 8 juillet 2016
-
8 juil. 2016 à 15:09
bONJOUR j'ai des problèmes de teste des e-mail se trouvant dans ma base de données ainsi que le profil de l'utilisateur qui veut se connecter sur l'application
c'est urgent!!
merci de votre aide
la classe connexionForm
public final class ConnexionForm {
private static final String CHAMP_EMAIL = "email";
private static final String CHAMP_PASS = "motdepasse";
@EJB
InterfaceConnexion.IConnexion ejbConnexion;
private String resultat;
private Map<String, String> erreurs = new HashMap<String, String>();
public String getResultat() {
return resultat;
}
public Map<String, String> getErreurs() {
return erreurs;
}
public Employe connecterUtilisateur( HttpServletRequest request ) {
/* Récupération des champs du formulaire */
String email = getValeurChamp( request, CHAMP_EMAIL );
String motDePasse = getValeurChamp( request, CHAMP_PASS );
Employe emp = new Employe();
/* Validation du champ email. */
try {
validationEmail( email );
} catch ( Exception e ) {
setErreur( CHAMP_EMAIL, e.getMessage() );
}
emp.setEmail( email );
/* Validation du champ mot de passe. */
try {
validationMotDePasse( motDePasse );
} catch ( Exception e ) {
setErreur( CHAMP_PASS, e.getMessage() );
}
emp.setMotdepasse(motDePasse );
emp = ejbConnexion.findUserByEmailAndPwd(email, motDePasse);
/* Initialisation du résultat global de la validation. */
if ( erreurs.isEmpty() ) {
resultat = "Succès de la connexion.";
} else {
resultat = "Échec de la connexion.";
}
return emp;
}
/**
* Valide l'adresse email saisie.
*/
private void validationEmail( String email ) throws Exception {
if ( email != null && !email.matches( "([^.@]+)(\\.[^.@]+)*@([^.@]+\\.)+([^.@]+)" ) ) {
throw new Exception( "Merci de saisir une adresse mail valide." );
}
}
/**
* Valide le mot de passe saisi.
*/
private void validationMotDePasse( String motDePasse ) throws Exception {
if ( motDePasse != null ) {
if ( motDePasse.length() < 3 ) {
throw new Exception( "Le mot de passe doit contenir au moins 3 caractères." );
}
} else {
throw new Exception( "Merci de saisir votre mot de passe." );
}
}
/*
* Ajoute un message correspondant au champ spécifié à la map des erreurs.
*/
private void setErreur( String champ, String message ) {
erreurs.put( champ, message );
}
/*
* Méthode utilitaire qui retourne null si un champ est vide, et son contenu
* sinon.
*/
private static String getValeurChamp( HttpServletRequest request, String nomChamp ) {
String valeur = request.getParameter( nomChamp );
if ( valeur == null || valeur.trim().length() == 0 ) {
return null;
} else {
return valeur;
}
}
}
et la servelet connexion
@WebServlet(name = "connexion", urlPatterns = {"/connexion"})
public class Connexion extends HttpServlet {
public static final String ATT_USER = "utilisateur";
public static final String ATT_FORM = "form";
public static final String ATT_SESSION_USER = "sessionUtilisateur";
public static final String VUE_SUCCES = "/VueEmploye/Menu_Employe.jsp";
public static final String VUE_INDEX = "/index.jsp";
InterfaceConnexion.IConnexionImpl connect;
@Override
public void init() throws ServletException{
connect = new IConnexionImpl();
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/* Affichage de la page de connexion */
request.getServletContext().getRequestDispatcher(VUE_INDEX).forward(request, response);
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
/* Préparation de l'objet formulaire */
ConnexionForm form = new ConnexionForm();
/* Traitement de la requête et récupération du bean en résultant */
Employe emp = form.connecterUtilisateur(request);
/* Récupération de la session depuis la requête */
HttpSession session = request.getSession();
/**
* Si aucune erreur de validation n'a eu lieu, alors ajout du bean
* Utilisateur à la session, sinon suppression du bean de la session.
*/
if (form.getErreurs().isEmpty()) {
session.setAttribute(ATT_SESSION_USER, emp);
request.setAttribute(ATT_FORM, form);
request.setAttribute(ATT_USER, emp);
this.getServletContext().getRequestDispatcher(VUE_SUCCES).forward(request, response);
} else {
this.getServletContext().getRequestDispatcher(VUE_INDEX).forward(request, response);
}
/* Stockage du formulaire et du bean dans l'objet request */
8 juil. 2016 à 15:09