Ciao Ragazzi,
ho questo problema:
Ho creato una servlet che deve prendere un file da input e fare l'upload in una cartella.
Questa è la jsp...
<html>
<head> </head>
<body>
<form method="post" action="Upload.do" enctype="multipart/form-data">
<input type="file" name="csvFile"/>
<input type="submit" value="Upload"/>
</form>
</body>
</html>
e questo il metodo
protected void doPost(HttpServletRequest req, HttpServletResponse resp){
ServletContext context = getServletContext();
String path = getServletContext().getRealPath("/etc/file");
File dest = new File(path);
if(!dest.exists()){
dest.mkdirs();
}
DiskFileItemFactory fileItemFactory = new DiskFileItemFactory ();
/*
*Set the size threshold, above which content will be stored on disk.
*/
fileItemFactory.setSizeThreshold(1024*1024); //1 MB
/*
* Set the temporary directory to store the uploaded files of size above threshold.
*/
ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory);
try {
/*
* Parse the request
*/
List lista = uploadHandler.parseRequest(req);
for(int i=0; i<lista.size(); i++){
FileItem item = (FileItem)lista.get(i);
System.out.println(item.getName());
System.out.println(item.getString());
File file = new File(path,item.getName());
try {
item.write(file);
} catch (Exception e) {
e.printStackTrace();
}
}
}catch(FileUploadException ex) {
System.out.println(ex.getMessage());
}
}
Il problema è questo: se lancio questa applicazione sotto Apache funziona.
Se lancio questa applicazione sotto jetty (mi serve per lavoro) mi restituisce
java.lang.NoSuchMethodError
quando va a fare List lista = uploadHandler.parseRequest(req);
Motivo?
Grazie a tutti...
Daniele.