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
| package com.tp1.servlets;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
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 com.tp1.beans.Client;
import com.tp1.business.ValidationClient;
@SuppressWarnings("serial")
public class creationClient extends HttpServlet
{
public static final String CHAMP_NOM = "nom";
public static final String CHAMP_PRENOM = "prenom";
public static final String CHAMP_ADRESSE = "adresse";
public static final String CHAMP_TELEPHONE = "telephone";
public static final String CHAMP_EMAIL = "email";
public static final String ATT_CLIENT = "client";
public static final String ATT_ERREURS = "erreurs";
public static final String ATT_CLIENTS_SESSION = "clients";
public static final String VUE_FINALE = "/WEB-INF/afficheClient.jsp";
public static final String VUE_INITIALE = "/WEB-INF/creerClient.jsp";
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
this.getServletContext().getRequestDispatcher(VUE_INITIALE).forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
/* Récupération de la session */
HttpSession session = request.getSession();
Map<String, String> erreurs = new HashMap<String, String>();
/* Référence sur la HashMap client en session */
Map<String, Client> mapClient = (HashMap<String, Client>) session.getAttribute(ATT_CLIENTS_SESSION);
/* S'il n'y a pas déjà de Map clients en session, en créer une */
if (mapClient==null)
{
mapClient = new HashMap<String, Client>();
}
/* Validation du client */
ValidationClient validationClient = new ValidationClient(request);
Client client = validationClient.validerClient();
/* Si le nom du existe déjà en session */
if (mapClient.containsKey(client.getNom()))
{
erreurs.put(CHAMP_NOM, "Un client avec ce nom existe déjà.");
}
erreurs = validationClient.getErreurs();
request.setAttribute(ATT_CLIENT, client);
request.setAttribute(ATT_ERREURS, erreurs);
if (erreurs.isEmpty())
{
mapClient.put(client.getNom(), client);
session.setAttribute(ATT_CLIENTS_SESSION, mapClient);
this.getServletContext().getRequestDispatcher(VUE_FINALE).forward(request, response);
}
else
{
this.getServletContext().getRequestDispatcher(VUE_INITIALE).forward(request, response);
}
}
} |
Partager