package controleur;
import Metier.Principale;
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;
public class Connexion extends HttpServlet {
public static final String VUE_CONNEXION = "/Connexion.jsp";
public static final String VUE_ACCUEIL = "/Accueil.jsp";
public static final String CHAMP_LOGIN = "login";
public static final String CHAMP_MDP = "mdp";
public static final String ATT_ERREURS = "erreurs";
public static final String ATT_RESULTAT = "resultat";
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/* Affichage de la page de connection */
this.getServletContext().getRequestDispatcher(this.VUE_CONNEXION).forward( request, response );
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/* Création ou récupération de la session */
HttpSession session = request.getSession();
String resultat;
boolean isConnected = true;
boolean erreurs = false;
/* Récupération des champs du formulaire. */
String login = request.getParameter(this.CHAMP_LOGIN);
String mdp = request.getParameter(this.CHAMP_MDP);
Principale controleur = Metier.MetierFactory.getPrincipale();
/* Verification des champs du formulaire */
if(!controleur.connexion(login, mdp)){
isConnected = false;
erreurs = true;
}
/* Initialisation du résultat global de la connection */
if(!erreurs){
resultat = "<div class=\"alert alert-success alert-dismissable\">\n" +
" <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-hidden=\"true\">×</button>\n" +
" <strong>Felicitation !</strong> Vous êtes connecté.\n" +
"</div>";
request.setAttribute(this.ATT_RESULTAT, resultat);
session.setAttribute( "connexion", isConnected );
this.getServletContext().getRequestDispatcher(this.VUE_ACCUEIL).forward( request, response );
} else {
resultat = "<div class=\"alert alert-warning alert-dismissable\">\n" +
" <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-hidden=\"true\">×</button>\n" +
" <strong>Attention !</strong> Identifiants incorrect\n" +
"</div>";
request.setAttribute(this.ATT_RESULTAT, resultat);
this.getServletContext().getRequestDispatcher(this.VUE_CONNEXION).forward( request, response );
}
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}