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);
	}
 
} | 
Partager