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
   |  
//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 = new String[2];
	private Map params = new HashMap<String,String>();
 
	public void init()
		throws ServletException{
		ServletConfig config = getServletConfig();
 
		String urlFormulaire = config.getInitParameter("urlFormulaire");
		if(urlFormulaire == null)
			erreurInit.add("Formulaire non chargé:!");
 
		String urlResponse = config.getInitParameter("urlResponse");
		if(urlResponse == null)
			erreurInit.add("Reponse non chargé:!");
 
		String urlErreur = config.getInitParameter("urlErreur");
		if(urlErreur == null){
			throw new ServletException("Page des erreurs non initialisée");
		}
 
		entree[0] = urlFormulaire;
		params.put(entree[0] , urlFormulaire);
 
		entree[1] = urlResponse;
		params.put(entree[1] , urlResponse);
		return;
 
	}
 
	public void doGet(HttpServletRequest request, HttpServletResponse response)
		throws IOException, ServletException{
			if(erreurInit.size() !=0){
				request.setAttribute("erreurs", erreurInit);
				getServletContext().getRequestDispatcher(erreur).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(entree[0])).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 erreurList = new ArrayList<String>();
 
			if(name.equals(""))
				erreurList.add("Veuillez entrer un nom");
			if(old.matches("^\\s*\\d+\\s*$"))
				erreurList.add("Merci de vérifier l'âghe saisi");
			if(erreurList.size()!=0){
				request.setAttribute("erreurs", erreur);
				getServletContext().getRequestDispatcher(erreur).forward(request, response);
			}
 
			request.setAttribute("NOM", name);
			request.setAttribute("AGE", old);
			getServletContext().getRequestDispatcher((String)params.get(entree[1])).forward(request,response);
	}
} | 
Partager