Bonjour,

Je suis entrain de créer un système d'upload de fichier.

Voici ma classe coté serveur :

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()
}
mon gwt.xml :

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>
L'upload marche très bien en local.
Quand je déploie l'application sur le serveur(tomcat), l'upload ne marche pas.

Voici mon web.xml(tomcat) :

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>
Faut-il modifier le web.xml pour que ça marche? si oui, comment?

Merci !