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

Problema con servlet (.jsp)

Estas en el tema de Problema con servlet (.jsp) en el foro de Java en Foros del Web. Gente estoy haciendo una pagina en "jsp" con "tomcat 6" y una BD MySQL.. todo anda joya.. el problema aparece cuando quiero usar un servlet ...
  #1 (permalink)  
Antiguo 29/08/2011, 21:42
 
Fecha de Ingreso: agosto-2011
Ubicación: Mendoza - Argentina
Mensajes: 4
Antigüedad: 12 años, 8 meses
Puntos: 0
Pregunta Problema con servlet (.jsp)

Gente estoy haciendo una pagina en "jsp" con "tomcat 6" y una BD MySQL.. todo anda joya.. el problema aparece cuando quiero usar un servlet (llamado subirArchivo) para subir una imagen a traves de un formulario (ver mas abajo).. Cuando envio el formulario al servlet me tira el siguiente error:


GRAVE: Servlet.service() para servlet jsp lanzó excepción
java.lang.NullPointerException
at org.apache.jsp.admin.subir_005ffoto_jsp._jspServic e(subir_005ffoto_jsp.java:603)
at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
at org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11AprProcessor.proces s(Http11AprProcessor.java:859)
at org.apache.coyote.http11.Http11AprProtocol$Http11C onnectionHandler.process(Http11AprProtocol.java:57 9)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run( AprEndpoint.java:1555)

at java.lang.Thread.run(Thread.java:619)

-----------------------------------------------------------------------

A continuación les dejo lo que uso

-----------------------------------------------------------------------


FORMULARIO

-----------------------------------------------------------------------

<FORM NAME="Sinfoto" enctype="multipart/form-data" method="POST" action="/subirArchivo">

<input type="file" accept="image/jpg" name="foto_in">
<input type="submit" name="botonSubir" value="Subir">

</FORM>

-----------------------------------------------------------------------

SERVLET "subirArchivo"

-----------------------------------------------------------------------


package servlet;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.tomcat.util.http.fileupload.*;
import java.util.*;

/**
*
* @author Blanckit0
*/
public class subirArchivo extends HttpServlet {

/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet</title>");
out.println("</head>");
out.println("<body>");

System.out.println("Comenzamos procesamiento ficheros");

procesaFicheros(request,out);

out.println("</body>");
out.println("</html>");

out.close();
}


void depura(String cadena)
{
System.out.println("El error es " + cadena);
}

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

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

depura("Ponemos el tamaño máximo");
// tamaño por encima del cual los ficheros son escritos directamente en disco
fu.setSizeThreshold(4096);

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

// ordenamos procesar los ficheros
List fileItems = fu.parseRequest(req);

if(fileItems == null)
{
depura("La lista es nula");
return false;
}

out.print("<br>El número de ficheros subidos es: " + fileItems.size());

// Iteramos por cada fichero
Iterator i = fileItems.iterator();
FileItem actual = null;
depura("estamos en la iteración");

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

// construimos un objeto file para recuperar el trayecto completo
File fichero = new File(fileName);
depura("El nombre del fichero es " + fichero.getName());

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

// escribimos el fichero colgando del nuevo path
actual.write(fichero);
}

}
catch(Exception e) {
depura("Error de Aplicación " + e.getMessage());
return false;
}

return true;
}

/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}


-----------------------------------------------------------------------

CONFIGURACION WEB-INF/web.xml

-----------------------------------------------------------------------


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>subirArchivo</servlet-name>
<servlet-class>servlet.subirArchivo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>subirArchivo</servlet-name>
<url-pattern>/subirArchivo</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

-----------------------------------------------------------------------


Alguien sabe a que se puede deber? Desde ya muchas gracias!
  #2 (permalink)  
Antiguo 30/08/2011, 10:06
 
Fecha de Ingreso: agosto-2011
Ubicación: Mendoza - Argentina
Mensajes: 4
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problema con servlet (.jsp)

Ya lo solucione, el problema estaba en otro lado.. antes del imput hacia una operación con la BD que me de volvia un nullpointer..

Etiquetas: jsp, nullpointerexception, servlet, web.xml
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 02:34.