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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
| /*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package 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 beans.Candidat;
import dao.CandidatDao;
import dao.DAOFactory;
import utility.EmailUtility;
import forms.PreInscriptionForm;
import javax.servlet.ServletContext;
public class PreInscription extends HttpServlet {
public static final String CONF_DAO_FACTORY = "daofactory";
public static final String CHEMIN = "chemin";
public static final String ATT_CANDIDAT = "candidat";
public static final String ATT_FORM = "form";
public static final String ATT_MESSAGE = "message";
public static final String VUE_SUCCES = "/pages/preinscriptionreussie.jsp";
public static final String VUE_ECHEC = "/pages/preinscription.jsp";
private String host;
private String port;
private String user;
private String pass;
public static final String HOST_VALUE = "host";
public static final String PORT_VALUE = "port";
public static final String USER_VALUE = "user";
public static final String PASSWORD_VALUE = "pass";
public static final String SUJET_VALUE = "Activation de votre compte";
private static final String CONTENU_MSG = "Veuillez cliquer sur ce lien pour confirmer votre inscription ";
private static final String VALIDATION_ADDRESS = "www.monsite.com/activationCompte.do?";
private CandidatDao candidatDao;
public void init() throws ServletException {
/* Récupération d'une instance de notre DAO Utilisateur */
this.candidatDao = ( (DAOFactory) getServletContext().getAttribute( CONF_DAO_FACTORY ) ).getCandidatDao();
// reads SMTP server setting from web.xml file
ServletContext context = getServletContext();
host = context.getInitParameter(HOST_VALUE);
port = context.getInitParameter(PORT_VALUE);
user = context.getInitParameter(USER_VALUE);
pass = context.getInitParameter(PASSWORD_VALUE);
}
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
/* À la réception d'une requête GET, simple affichage du formulaire */
this.getServletContext().getRequestDispatcher( VUE_SUCCES ).forward( request, response );
}
public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
/*
* Lecture du paramètre 'chemin' passé à la servlet via la déclaration
* dans le web.xml
*/
/* Préparation de l'objet formulaire */
PreInscriptionForm form = new PreInscriptionForm( candidatDao );
/* Traitement de la requête et récupération du bean en résultant */
Candidat candidat = form.creerCandidat( request );
/* Ajout du bean et de l'objet métier à l'objet requête */
request.setAttribute( ATT_CANDIDAT, candidat );
request.setAttribute( ATT_FORM, form );
String msgRetour = "";
Long id = candidat.getId();
String email = candidat.getEmail();
System.out.println("l'Id est: "+id);
System.out.println("l'email est: "+email);
/* Si aucune erreur */
if ( form.getErreurs().isEmpty() ) {
if (form.getMsg().isEmpty())
{
StringBuilder builder = new StringBuilder();
builder.append("<html><body>");
builder.append("Nom:");
builder.append("</body></html>");
String emailBody = builder.toString();
/* String emailBody = CONTENU_MSG.concat(VALIDATION_ADDRESS
+ "au=mMlZ/xRc97gSVGfh6S2J3UMBFTCzKUZOmHqvSp6Edb00lRoe9w3htA"
+ "&em=" + email); // ça peut être tout ce que tu veux SAUF le mot de passe en clair
*/
try {
EmailUtility.sendEmail(host, port, user, pass, candidat.getEmail(), SUJET_VALUE, emailBody);
msgRetour = "<span id="+"resultat_vert"+">Message envoyé avec succès !</span>";
request.setAttribute(ATT_MESSAGE, msgRetour);
this.getServletContext().getRequestDispatcher(VUE_SUCCES).forward(request, response);
}
catch (Exception ex) {
msgRetour = "<p class=\"resultat_echec\">Message non envoyé! Adresse Email non valide ou problème de connexion. Veuillez réessayer</p>" ;
request.setAttribute(ATT_MESSAGE, msgRetour);
this.getServletContext().getRequestDispatcher(VUE_ECHEC).forward(request, response);
}
finally {
}
}
else
{
request.setAttribute(ATT_MESSAGE, "ggVotre profil a déja été créé. Cliquez sur ce lien pour accéder à votre profil: Mon profil.");
this.getServletContext().getRequestDispatcher(VUE_SUCCES).forward(request, response);
}
} else {
/* Sinon, ré-affichage du formulaire de création avec les erreurs */
this.getServletContext().getRequestDispatcher( VUE_ECHEC ).forward( request, response );
}
}
} |
Partager