Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2006, 17:06
CARCAHARAS
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años, 8 meses
Puntos: 0
¿que Significa Este Error?

Hola buenas!
Vereis tengo este codigo(no es necesario que lo leais entero!):

package es.unirioja.dmc.servauto;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.net.*;

import org.apache.commons.fileupload.*;
import org.apache.commons.*;
import java.util.*;


public class PruebaFileUpload extends HttpServlet {
private static final String CONTENT_TYPE = "text/html";

//Initialize global variables
public void init() throws ServletException {
}

//Process the HTTP Get request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>PruebaFileUpload</title></head>");
out.println("<body bgcolor=\"#ffffff\">");
System.out.println("Comenzamos procesamiento de ficheros");
procesaFicheros(request,out);
out.println("</body></html>");
out.close();
}

public boolean procesaFicheros(HttpServletRequest req, PrintWriter out){
try{
//construimos el objeto que es capaz de parsear la peticion
DiskFileUpload fu = new DiskFileUpload();

//maximo numero de bytes
fu.setSizeMax(1024*512);

//tamaño por encima del cual los ficheros son directamente escritos en disco
fu.setSizeThreshold(4096);

//directorio en el que se escribirán los ficheros con tamaño superior al soportado en memoria
fu.setRepositoryPath("/ji");

//ordenamos procesar los ficheros

List fileItems = fu.parseRequest(req);

if(fileItems==null){
return false;
}
out.print("<br>El número de ficheros subidos es de:"+fileItems.size());

//Iteramos cada fichero

Iterator i=fileItems.iterator();
FileItem actual=null;

while(i.hasNext()){
actual=(FileItem)i.next();
String fileName = actual.getName();
out.print("<br>Nos has subido el fichero" + fileName);

//construimos un objeto file para recuperar el trayecto completo
File fichero= new File(fileName);

//Nos quedamos solo con el nombre y descartamos el path
fichero= new File("c:\\DIRECTORIO\\"+fichero.getName());

//escribimos el fichero colgando del nuevo path
actual.write(fichero);
}
}catch(Exception e){
System.out.println("error de aplicacion "+e.getMessage());
}
return true;
}

//Clean up resources

public void destroy() {
}
}

En este codigo en la linea que os he marcado en rojo me da este error:

mensaje

descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.

excepción

javax.servlet.ServletException: La ejecución del Servlet lanzó una excepción


causa raíz

java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
org.apache.commons.fileupload.DefaultFileItemFacto ry.createItem(DefaultFileItemFactory.java:102)
org.apache.commons.fileupload.FileUploadBase.creat eItem(FileUploadBase.java:500)
org.apache.commons.fileupload.FileUploadBase.parse Request(FileUploadBase.java:367)
org.apache.commons.fileupload.FileUploadBase.parse Request(FileUploadBase.java:268)
es.unirioja.dmc.servauto.PruebaFileUpload.procesaF icheros(PruebaFileUpload.java:56)
es.unirioja.dmc.servauto.PruebaFileUpload.doPost(P ruebaFileUpload.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet .java:709)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)


El caso es que al compilar el codigo no me da ningun error y no se en donde más me puede faltar una clase o lo que sea que significa ese error.

Aver si me podeis ayudar ok?Muchas gracias!