VALIDATION ET TESTE DU PROFIL

CherifoNar Messages postés 2 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 8 juillet 2016 - Modifié par KX le 8/06/2016 à 18:45
CherifoNar Messages postés 2 Date d'inscription mercredi 8 juin 2016 Statut Membre Derniè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 */

1 réponse

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
8 juil. 2016 à 10:16
Salut,

maintenant que l'urgence est passée, peux-tu nous donner plus d'information sur les soucis de test? Que veux-tu dire par là?

Corm

--
0
CherifoNar Messages postés 2 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 8 juillet 2016
8 juil. 2016 à 15:09
je devais connecter des utilisateurs et les rediriger vers la page correspondant à leurs profil après validation du login et du passwd
0
Rejoignez-nous