Bonjour
Je fais un petit essai de communication jsp/servlet (en me basant sur un toturial de Serge Tahé) et ma jsp n'a pas l'air de communiquer avec ma servlet... En effet, elle affiche désespérement la même chose, à savoir deux champs textes avec null dedans, champs qui reviennent si on modifie puis clique sur Envoyer. J'ai essayé de simplifier plein de choses, de faire des sorties consoles, mais rien ne m'a apporté de solution... J'commence grave à me faire des cheveux gris alors j'ai pensé à vous
Je ne sais pas trop par où commencer pour vous donner des billes, je vais donc faire dans l'ordre suivant : config, web.xml, page jsp (formulaire2.jsp) puis servlet (ServletFormulaire2.java).
Config :
tomcat5.5.9/Eclipse avec plug in sysdeo sur Windows XP tests avec Firefox.
Web.xml
Page jsp formulaire2.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 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app SYSTEM "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>formulairepersonne2</servlet-name> <servlet-class>MyP1.ServletFormulaire2</servlet-class> <init-param> <param-name>defaultNom</param-name> <param-value>inconnu</param-value> </init-param> <init-param> <param-name>defaultAge</param-name> <param-value>XXX</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>formulairepersonne2</servlet-name> <url-pattern>/formulaire2</url-pattern> </servlet-mapping> </web-app>
Ma servlet ServletFormulaire2.java :
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 <% String nom=(String)request.getAttribute("nom"); String age=(String)request.getAttribute("age"); %> <html> <head> <title>Personne - formulaire</title> </head> <body> <center> <h2>Personne - formulaire</h2> <hr> <form action="" 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> </table> <table> <tr> <td><input type="submit" value="Envoyer"></td> <td><input type="reset" value="Retablir"></td> <td><input type="button" value="Effacer"></td> </tr> </table> </form> </center> </body> </html>
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 /* * Created on 29 juin 2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package MyP1; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import java.io.IOException; public class ServletFormulaire2 extends HttpServlet { // paramètres d'instance private String defaultNom = null; private String defaultAge = null; //init public void init() { // on récupère les paramètres d'initialisation de la servlet ServletConfig config = getServletConfig(); defaultNom = config.getInitParameter("defaultNom"); if(defaultNom==null) defaultNom="NNNNNNNNNNNNNNN"; defaultAge = config.getInitParameter("defaultAge"); if(defaultAge==null) defaultAge="AAA"; System.out.println("init"); } //GET public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // on récupère les paramètres du formulaire String nom = request.getParameter("txtNom"); if (nom == null) { nom = defaultNom; } String age = request.getParameter("txtAge"); if (age == null) { age = defaultAge; } // on affiche le formulaire request.setAttribute("nom",nom); request.setAttribute("age",age); getServletContext().getRequestDispatcher("/Formulaire.html").forward(request,response); } //GET //POST public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // on passe la main au GET doGet(request, response); } }
Partager