Foros del Web » Programación para mayores de 30 ;) » Java »

FileUpload en JBoss

Estas en el tema de FileUpload en JBoss en el foro de Java en Foros del Web. Buenas tardes: mi problema es el siguiente, estoy utilizando las librerias de FileUpload para cargar archivos al servidor desde una pagina jsp; puse las librerias ...
  #1 (permalink)  
Antiguo 09/01/2009, 18:02
 
Fecha de Ingreso: enero-2009
Mensajes: 11
Antigüedad: 15 años, 10 meses
Puntos: 0
FileUpload en JBoss

Buenas tardes: mi problema es el siguiente, estoy utilizando las librerias de FileUpload para cargar archivos al servidor desde una pagina jsp; puse las librerias en el Build-Path del proyecto en Eclipse, y esto no me genera ningun error, el problema se da al momento de invocar al servlet (dando click en el boton Upload de mi jsp) me arroja el siguiente error:

javax.servlet.ServletException: Servlet execution threw an exception
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doF ilter(ReplyHeaderFilter.java:81)

root cause

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
org.apache.commons.fileupload.servlet.ServletFileU pload.isMultipartContent(ServletFileUpload.java:68 )
servlets.UploadFichero.getNSaveFile(UploadFichero. java:53)
servlets.UploadFichero.processRequest(UploadFicher o.java:32)
servlets.UploadFichero.doPost(UploadFichero.java:8 2)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
javax.servlet.http.HttpServlet.service(HttpServlet .java:810)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doF ilter(ReplyHeaderFilter.java:81)

Como servidor utilizo JBoss

-------------------CODIGO----------------------------------------------------
en la JSP tengo el siguiente FORM:

<form method="POST" enctype='multipart/form-data'
action="/Proyecto/uploadFichero">
Seleccione el archivo a enviar al servidor<br>
<input type="file"
name="fichero">
<input type="submit" value="Upload">
</form>

y recibo el POST en el siguiente servlet:

package xio;

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
import org.apache.commons.fileupload.disk.DiskFileItemFac tory;
import org.apache.commons.fileupload.servlet.ServletFileU pload;
import java.util.*;


public class UploadFichero extends HttpServlet {

/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean ok = getNSaveFile(request);
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("");
out.println("");
out.println("");
out.println("");
if (ok) {
out.println("La transferencia del archivo fue exitosa.");
} else {
out.println("Fallo en transferencia de archivo.");
}
out.println("");
out.println("");
out.close();
}

public boolean getNSaveFile(HttpServletRequest request) {
try {
// Chequea que sea un request multipart (que se este enviando un file)
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
System.out.println("Is multipart=" + isMultipart);
DiskFileItemFactory factory = new DiskFileItemFactory();
// maxima talla que sera guardada en memoria
factory.setSizeThreshold(4096);
// si se excede de la anterior talla, se ira guardando temporalmente, en la sgte direccion
factory.setRepository(new File("d:/"));
ServletFileUpload upload = new ServletFileUpload(factory);
//maxima talla permisible (si se excede salta al catch)
upload.setSizeMax(10000000);
List fileItems = upload.parseRequest(request);
//obtiene el file enviado
Iterator i = fileItems.iterator();
FileItem fi = (FileItem) i.next();
//graba el file enviado en el servidor local
//path y Nombre del archivo destino (en el server)
String path = "c:/";
String fileName = "nuevo.txt";
fi.write(new File(path, fileName));
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
return false;
}
return true;
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processRequest(request, response);
}

/*
* Handles the HTTP POST method.
* @param request servlet request
* @param response servlet response
*/
}

Muchas gracias a las personas que me puedan colaborar, sinceramente lo necesito con urgencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:09.