Bonjour,
Je suis debutant sur J2ee ,j'essaye de developper une application basée sur le MVC.
j'ai developper mes modeles "Formulaire.jsp,Reponse.jsp,Erreurs.jsp",puis j'ai ma servlet ServletPersonne.java,et mon fichier web.xml avec l'url-pattern"/main".mais ca me donne une erreur
type Rapport d'état

message /GET/personne1/main

description La ressource demandée (/GET/personne1/main) n'est pas disponible.
Voici mon code
Web.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
	<display-name> mvc-personne-01 </display-name>
	<!-- ServletPersonne -->
	<servlet>
	<servlet-name>ServletPersonne</servlet-name>
	<servlet-class>istia.it.servlet.personne.ServletPersonne</servlet-class>
 
	<init-param>   
	<param-name> urlReponse</param-name>
	<param-value> /WEB-INF/vues/reponse.jsp   </param-value>
	</init-param>
 
	<init-param>   
	<param-name> urlErreurs</param-name>
	<param-value> /WEB-INF/vues/erreurs.jsp   </param-value>
	</init-param>
 
	<init-param>   
	<param-name> urlFormulaire</param-name>
	<param-value> /WEB-INF/vues/formulaire.jsp   </param-value>
	</init-param>
 
	</servlet>
 
	<!-- mapping ServletPersonne -->
 
	<servlet-mapping>
	<servlet-name>personne</servlet-name>
	<url-pattern>/main</url-pattern>
	</servlet-mapping>
 
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
	</welcome-file-list>
</web-app>
Formulaire.jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<%
//on recupere les donnes du modele
String nom=(String)request.getAttribute("nom");
String age=(String)request.getAttribute("age");
%>
<title>personne-formulaire</title>
</head>
<body>
<body>
 <center>
 <h2>Personne - formulaire</h2>
 <hr>
 <form method="post">
 <table>
 <tr>
 <td>Nom</td>
 <td><input name="txtNom" value="<%= nom %>" type="text" size="20"></td>
 </tr>
 <tr>
 <td>Age</td>
 <td><input name="txtAge" value="<%= age %>" type="text" size="3"></td>
 </tr>
 <tr>
 </table>
 <table>
 <tr>
 <td><input type="submit" value="Envoyer"></td>
 <td><input type="reset" value="Rétablir"></td>
 <td><input type="button" value="Effacer"></td>
 </tr>
 </table>
 <input type="hidden" name="action" value="validationFormulaire">
 </form>
 </center>
</body>
</html>
Reponse.jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
//on recupere les donnes du modele
String nom=(String)request.getAttribute("nom");
String age=(String)request.getAttribute("age");
 
%>
 
 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>personne</title>
</head>
<body>
<h2>Personne - réponse</h2>
<hr>
 <table>
 <tr>
 <td>Nom</td>
 <td><%= nom %>
 </tr>
 <tr>
 <td>Age</td>
 <td><%= age %>
 </tr>
 </table>
</body>
</html>
Erreurs.jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.util.ArrayList" %>
 
<%
    ArrayList erreurs=(ArrayList)request.getAttribute("erreurs");
%>
 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h2>Les erreurs suivantes se sont produites</h2>
<ul>
 <%
 for(int i=0;i<erreurs.size();i++)
 {
 out.println("<li>" + (String) erreurs.get(i) + "</li>\n");
 }//for
 %>
 </ul>
</body>
</html>
et puis mon controleurs ServletPersonne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
108
109
110
111
112
113
114
115
116
public void init() throws ServletException
	{
		//on récupère la configuration de l'application web, c.a.d. le contenu du fichier [web.xml]
		ServletConfig Config=getServletConfig();
		//on récupère les paramètres urls d'initialisation de la servlet dont les noms sont définis dans le tableau
		//[paramètres] de la ligne 9
		String valeur=null;
		for(int i=0;i<parametres.length;i++)
		{// valeur du paramètre url
			valeur=Config.getInitParameter(parametres[i]);
			//parametre present?
			if(valeur==null){
				// on note  l'erreur
				 erreursInitialisation.add("Le paramètre ["+parametres[i]+"] n'a pas été initialisé");
		                   }
			else
			{
				//on memorise la valeur du parametre url
				params.put(parametres[i],valeur);
			}
			// l'url de la vue [erreurs] a un traitement particulier
			urlErreurs=Config.getInitParameter("urlErreurs");
			if(urlErreurs==null)
				throw new ServletException(
						 "Le paramètre [urlErreurs] n'a pas été initialisé");
						}
			}
	
	//la méthode [doGet] appelée par le serveur web lorsqu'une requête de type GET a été faite à l'application
	
	public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException
	{
		// on vérifie comment s'est passée l'initialisation de la servlet
		if(erreursInitialisation.size()!=0)
		{// on passe la main à la page d'erreurs
			request.setAttribute("erreurs",erreursInitialisation);
			getServletContext().getRequestDispatcher(urlErreurs).forward(
					request, response);
			return;
		}
 
		// : on récupère la méthode [get] ou [post] que le client a utilisée pour faire sa requête
		String methode=request.getMethod().toLowerCase();
		/*on récupère la valeur du paramètre [action] de la requête. Rappelons que dans notre application seule la
		requête n° 2 [POST /personne1/main] a le paramètre [action]. Dans cette requête, il a la valeur [validationFormulaire].*/
		String action=request.getParameter("action");
		/*si le paramètre [action] n'est pas présent, on lui affecte la valeur " init ". Ce sera le cas lors de la requête
		initiale n° 1 [GET /personne1/main].*/
		if(action==null)
		{
			action="init";
		}
		//execution : traitement de la requête n° 1 [GET /personne1/main].
		if(methode.equals("get") && action.equals("init"))
		{
			doInit(request,response);
			return;
		}
		//traitement de la requête n° 2 [POST /personne1/main].
		if(methode.equals("post") && action.equals("ValidationFormulaire"))
		{
			//validation du forlmualire de saisie
			doValidationFormulaire(request,response);
		}
		//autre cas.si on n'est pas dans l'un des deux cas précédents, on fait comme si on était dans le cas n° 1
		doInit(request,response);
	}
	
	//la méthode [doInit] traite l'action n° 1 [GET /personne1/main]
 
	 void doInit(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
	{
		// on envoie le formulaire vide
		 request.setAttribute("nom","");
		 request.setAttribute("age","");
		 getServletContext().getRequestDispatcher((String)params.get("urlFormulaire")).forward(request,response);
		 return;	 
	}
	 //la méthode [doValidationFormulaire] traite l'action n° 2 [POST /personne1/main] avec les paramètres
	 //postés [txtNom, txtAge, action].
 
	void doValidationFormulaire(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
	{
		String nom = request.getParameter("txtNom");
		String age = request.getParameter("txtAge");
		 // vérification des paramètres
		 ArrayList<String> erreursSaisie = new ArrayList<String>();
		 // le nom doit être non vide
		 nom = nom.trim();
		 if (nom.equals(""))
		 erreursSaisie.add("Le champ [nom] n'a pas été rempli");
		 // l'âge doit être un entier >=0
		 if (!age.matches("^\\s*\\d+\\s*$"))
		 erreursSaisie.add("Le champ [age] est erroné");
		 // des erreurs dans les paramètres ?
		 if (erreursSaisie.size() != 0) {
		 // on envoie la page d'erreurs
		 request.setAttribute("erreurs", erreursSaisie);
		 getServletContext().getRequestDispatcher(urlErreurs).forward(request, response);
		 return;
		 }
		 // les paramètres sont corrects - on envoie la page réponse
		 request.setAttribute("nom", nom);
		 request.setAttribute("age", age);
		 getServletContext().getRequestDispatcher((String)params.get("urlReponse")).forward(request,
		 response);
		 return;
		 }
 
	//doPost
	public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException
	{
		doGet(request,response);
	}
 
}

Merci de bien vouloir m'aider