bonjour,
je viens,en apprenant le developpement web en java,d'essayer un petit programme qui affiche une liste deroulante et un bouton (role de servlet),quand l'utilsateur choisit un numero et tape le bouton le servlet passe la main a une page JSP pour afficher le choix de l'utilisateur (en lui envoyant les parametres necessaires) ou une page d'erreur si il ya pb.
cependant quand j'execute la servelet elle m'affiche le formulaire mais quand je clic sur le bouton voila ce que me donne:
type Rapport d'exception
message
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
exception
java.lang.IllegalStateException: Impossible d'utiliser faire-suivre (forward) après que la réponse ait été envoyée
servletToJSP.doPost(servletToJSP.java:58)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.26.
Apache Tomcat/5.5.26j'arrive pas a comprendre le message de l"erreur
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 import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.sql.*; import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; public class servletToJSP extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { String[] tab=new String[6]; String MsgErreur=null; String choix=""; String cible=null; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); out.println("<head>"); out.println("<title>Request Information Example</title>"); out.println("</head>"); out.println("<body>"); out.println("<h3>example de requette</h3>"); out.println("une liste deroulante "); out.println("<form method=\"POST\" >"); out.println("<p> <select name=\"numero\">"); for(int i=0;i<6;i++) { /* if (tab[i].compareTo(choix)==0) out.println("<option selected >" + tab[i]+"</option>"); else*/ out.println("<option >" + tab[i]+"</option>"); } out.println("</select> </p>"); out.println("<input type=\"submit\" value=\"valider\">"); out.println("</form>"); out.println("</body>"); out.println("</html>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //cas ou il y'a erreur request.setAttribute("MsgErreur", MsgErreur); if (MsgErreur==null) this.getServletContext().getRequestDispatcher("/JSP1.jsp").forward(request, response); //cas ou il n'y a pas erreur choix=request.getParameter("numero"); request.setAttribute("choix", choix); this.getServletContext().getRequestDispatcher("/JSP2.jsp").forward(request, response); } public void init(){ Statement st=null; Connection cn=null; ResultSet rs=null; //connexion a la base de donnees MysqlDataSource bd=new MysqlDataSource(); bd.setPassword(""); bd.setUser("root"); bd.setDatabaseName("dbvaleurs"); int i=0; try{ cn=bd.getConnection(); st=cn.createStatement(); rs=st.executeQuery("SELECT * from tvaleurs"); while(rs.next()) { tab[i]= rs.getString("valeur"); i++; } } catch(Exception e) { MsgErreur= e.getMessage(); } finally { try {rs.close();} catch(Exception e){} try {st.close();} catch(Exception e){} try {cn.close();} catch(Exception e){} } } }
qq peux m'aider sil vous plais
merci
Partager