Bonjour,
J'ai un problème que probablement beaucoup de personnes ont rencontré, mais je ne parviens pas à trouver de réponse pour la réception de données venant d'un formulaire POST dans une servlet :
ma servlet :
Le formulaire 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 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class UploadAttachmentHandler extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); BufferedReader in = request.getReader(); while(in.ready()){ out.println(in.readLine()); } out.println(request.getAttribute("sid")); out.println(request.getParameter("sid")); out.println(request.getContentType()+" "+request.getContentLength()); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("GET"); } }
le descripteur de déploiement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <html> <head> </head> <body> <form method="post" enctype="multipart/form-data" action="http://localhost:8080/WebUI/UploadAttachmentHandler"> <input type="hidden" value="e0ac657a9d4883f73dac97da22434fd338060f1e" name="sid"/> <input type="submit" value="go" /> </form> </body> </html>
Comme vous pouvez le constater, j'ai besoin d'une servlet pour l'upload de fichiers dans une appli GWT, mais dans le cas présent, j'en suis réduit à la plus simple expression : récupérer un attribut "sid" via un formulaire POST tout simple.
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 <?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>shell</servlet-name> <servlet-class>com.google.gwt.dev.shell.GWTShellServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>shell</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <servlet> <display-name>UploadAttachmentHandler</display-name> <servlet-name>UploadAttachmentHandler</servlet-name> <servlet-class>com.***.***.server.UploadAttachmentHandler</servlet-class> </servlet> <servlet-mapping> <servlet-name>UploadAttachmentHandler</servlet-name> <url-pattern>/UploadAttachmentHandler</url-pattern> </servlet-mapping> </web-app>
Voici le résultat que j'obtient quand j'envoi le formulaire :
J'ai très certainement loupé un truc, mais je n'arrive pas à trouver quoi ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 null null multipart/form-data; boundary=---------------------------18691991225667 180
Merci
Partager