Bonjour,
j'ai un problème pour Upload un fichier Si qlq un peut m'aider. j'ai mon premier servlet NouveauRessource qui est le formulaire
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
 
 public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{
		 response.setContentType("text/html");
	      PrintWriter out = response.getWriter();
	      //String title = rb.getString("Helloworld");
	      String title ="JOpenReport des Ressources DTD";
 
	      out.println("<head><title>");
	      out.println(title);
	      out.println("</title></head>");
	      out.println(" <body> <p> "+ title+" Nouveau Ressources</p>");
	      out.println("<form  mame ='ressource' action='AjoutModifSup' method='Post' ENCTYPE='multipart/form-data'>");
	      out.println("<table> <tr><td>Nom Reference dtd </td><td><input type='text' name='nomRefence'></td></tr>");
	      out.println("<tr><td> Libellé Dtd </td><td><input type='text' name='nomRefence'></td></tr>");
	      out.println("<tr><td>File Ressource </td><td><input type='file' id='file_dtd' name='upload' size='60'></td></tr>");
	      out.println("<tr><td><input  name= 'action' type='submit' value='Ajouter'></td></tr>");
	      out.println("</table></form>");
 
		  out.println(" </body>");
		  out.println("</html>");
 
	 }
mon autre servlet AjoutModifSupRessource qui se chager du upload est la suivante
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
 
  protected void doPost(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
		  resp.setContentType("text/html");
	        PrintWriter out = resp.getWriter();
	        out.println("<html>");
	        out.println("<head>");
	        out.println("<title>Request Parameters Example</title>");
	        out.println("</head>");
	        out.println("<body>");
	        out.println("<h3></h3>");
	        out.println("<br>");
		 // doGet(req,resp);
		 // Check that we have a file upload request
 		 boolean isMultipart = ServletFileUpload.isMultipartContent(req);
 		 if(!isMultipart){ 
 			  req.setAttribute("error","Request was not multipart!" ); 
 			  out.println(" error,Request was not multipart!");
 
 			 } else{
 				 File yourTempDirectory= new File ("../WebContent/WEB-INF/dtd/titi.odt");
			     int yourMaxMemorySize=1000;
			     int yourMaxRequestSize=400000;//4Mo
 				 out.println(" ok,Request was not multipart!");
 
 			     // Create a factory for disk-based file items
 				DiskFileItemFactory factory = new DiskFileItemFactory(
 				      yourMaxMemorySize, yourTempDirectory);
 			     //Create a new file upload handler
 				ServletFileUpload upload = new ServletFileUpload(factory);
 
 				 //Set overall request size constraint
 				upload.setSizeMax(yourMaxRequestSize);
 
 				 out.println("FormField  Servelty ");
                  // Parse the request
 				 try {
 					 out.println("FormField  TRY ");
						List /* FileItem */ fileItems = upload.parseRequest(req);
						Iterator iter = fileItems.iterator();
						out.println("FormField  avant while ");
						while (iter.hasNext()) {
							out.println("FormField   apres while ");
						FileItem fi = (FileItem) iter.next();
						  if (fi.isFormField()) {
                          //Champ "normal" de formulaire
							  out.println("FormField "+ fi.getName());
						  }
						  else { //fileItemsfichier
							  out.println("FormField  est file ");
                           //	On recupere le nom du fichier
							   String nomDufichier= fi.getName().toString();
 
							     if (nomDufichier != null) {
							      // taille du nom
							      int taille = nomDufichier.length();
 
							      // fin du nom
							      int finDuChemin = nomDufichier.lastIndexOf("\\");
							      // on crée le bon nom du fichier avec l'extension
							      nomDufichier = nomDufichier.substring(finDuChemin + 1,
							        taille);
 
							      // On ecrit le fichier sur le disque
							      String adressedestockage = "../WebContent/WEB-INF/dtd/";
 
							      // Upload du fichier
							      File uploadedFile = new File(adressedestockage);
 
							      //ecriture du fichier
							      fi.write(uploadedFile);
						  }
						  }}
					} catch (FileUploadException e) {
						out.println("FormField  FileUploadException ");
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (Exception e) {
						out.println("FormField Exception ");
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
 			 }
 
      }
l'erreur est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
	org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:191)
	org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:350)
	org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
	com.JOpenReport.Ressources.AjoutModifSupRessource.doPost(AjoutModifSupRessource.java:130)	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
erreur qui renvoie a cette ligne List /* FileItem */ fileItems = load.parseRequest(req);

SI quelqu'un peut regarder mon code et m'aider ça serais cool.
Merci d'avance.