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
| //Controleur
package servet.personne;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServlet;
@SuppressWarnings("serial")
public class ServletPersonne extends HttpServlet {
String erreur = null;
private ArrayList erreurInit = new ArrayList<String>();
private String[] entree={"UrlFromulaire","urlResponse"};
private Map params = new HashMap<String,String>();
public void init() throws ServletException{
// on récupère les paramètres d'initialisation de la servlet
ServletConfig config = getServletConfig();
// on traite les autres paramètres d'initialisation
String valeur=null;
for(int i=0; i<entree.length;i++){
valeur=config.getInitParameter(entree[i]);
if(valeur==null)
erreurInit.add(entree[i]+" non définit");
else{
params.put(entree[i], valeur);
}
erreur = config.getInitParameter("urlErreur");
if(erreur == null) throw new ServletException("Page des erreurs non initialisée");
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
if(erreurInit.size() !=0){
request.setAttribute("erreur", erreurInit);
getServletContext().getRequestDispatcher("urlErreur").forward(request, response);
return;
}
else{
String methode = request.getMethod().toLowerCase();
String action = request.getParameter("action");
if(action == null)
action = "init";
if(methode.equals("get") && action.equals("init")){
doInit(request,response);
return;
}
if(methode.equals("post") && action.equals("validationFormulaire")){
doValidationFormulaire(request, response);
return;
}
doInit(request,response);
}
}
public void doInit(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
request.setAttribute("nom","");
request.setAttribute("age","");
getServletContext().getRequestDispatcher((String)params.get("urlFormulaire")).forward(request, response);
return;
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
doGet(request,response);
}
public void doValidationFormulaire(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String name = request.getParameter("NOM");
String old = request.getParameter("AGE");
ArrayList erreur = new ArrayList<String>();
if(name.equals(""))
erreur.add("Veuillez entrer un nom");
if(old.matches("^\\s*\\d+\\s*$"))
erreur.add("Merci de vérifier l'âghe saisi");
if(erreur.size()!=0){
request.setAttribute("erreurs", erreur);
getServletContext().getRequestDispatcher("urlErreur").forward(request, response);
}
request.setAttribute("nom", name);
request.setAttribute("age", old);
getServletContext().getRequestDispatcher((String)params.get("urlResponse")).forward(request,response);
}
} |