Bonjour,
Je suis entrain de créer un système d'upload de fichier.
Voici ma classe coté serveur :
mon gwt.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
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 package **.****.server; import java.io.File; import java.io.IOException; import java.sql.ResultSet; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import **.****.server.sqler.DB; import **.****.server.sqler.MySQLBuilder; import **.****.server.sqler.MySQLQuery; import org.apache.commons.fileupload.*; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class UploadServlet extends HttpServlet { private static final long serialVersionUID = -2947803123194402987L; @SuppressWarnings("unchecked") public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ if (!ServletFileUpload.isMultipartContent(request)) return; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = null; try { items = upload.parseRequest(request); } catch (FileUploadException e) { e.printStackTrace(); return; } for (Iterator i = items.iterator(); i.hasNext();) { FileItem item = (FileItem) i.next(); if (item.isFormField()) continue; String fileName = item.getName(); int slash = fileName.lastIndexOf("/"); if (slash == -1) { slash = fileName.lastIndexOf("\\"); } if (slash != -1) { fileName = fileName.substring(slash + 1); } try { File uploadedFile = new File(DB.PATH_UPLOAD+ fileName); item.write(uploadedFile); } catch (Exception e) { e.printStackTrace(); } } // end for } // end service() }
L'upload marche très bien en local.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <module> <!-- Inherit the core Web Toolkit stuff. --> <inherits name='com.google.gwt.user.User'/> <!-- Specify the app entry point class. --> <entry-point class='**.****.client.Icrem'/> <servlet path='/icrems' class='**.****.server.IcremServiceImpl' /> <servlet path='/UploadServlet' class='**.****.server.UploadServlet'/> </module>
Quand je déploie l'application sur le serveur(tomcat), l'upload ne marche pas.
Voici mon web.xml(tomcat) :
Faut-il modifier le web.xml pour que ça marche? si oui, comment?
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 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app 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" version="2.4"> <display-name>icrems</display-name> <servlet> <servlet-name>IcremServiceImpl</servlet-name> <servlet-class>**.****.server.IcremServiceImpl</servlet-class> </servlet> <servlet-mapping> <servlet-name>IcremServiceImpl</servlet-name> <url-pattern>/icrems</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>Icrem.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
Merci !
Partager