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

Error al ejecutar servlet que crea pdf

Estas en el tema de Error al ejecutar servlet que crea pdf en el foro de Java en Foros del Web. Buen dia, soy un poco novato en el desarrollo de aplicaciones web, espero y me puedan ayudar, mi problema es este: Estoy trabajando con Eclipse ...
  #1 (permalink)  
Antiguo 19/09/2012, 11:33
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 12 años, 2 meses
Puntos: 0
Exclamación Error al ejecutar servlet que crea pdf

Buen dia, soy un poco novato en el desarrollo de aplicaciones web, espero y me puedan ayudar, mi problema es este:

Estoy trabajando con Eclipse EE, tengo un servlet que me debe de crear un pdf (api ITEXT) y mostrarlo en el navegador, he buscado mucha informacion en la red y todo pareciera que el codigo no esta mal he probado con infinidad de ejemplos y no llego a ningun resultado, el error que se genera no es ninguna excepcion no controlada solo simplemente el servidor Tomcat 7.0 no inicia luego elimino ese servlet y el servidor funciona correctamente, el mensaje que me arroja el server es el siguiente:

Starting Tomcat v7.0 server at localhost has encountered a problem...
Server Tomcat v7.0 Server at localhost was unabled to start within 45 seconds. if the sever requires more time, try increasing the time out in the server editor.

espero y me puedan ayudar.

salu2.

Código JAVA:
Ver original
  1. import javax.servlet.*;
  2. import javax.servlet.http.*;
  3.  
  4. import com.itextpdf.text.Document;
  5. import com.itextpdf.text.DocumentException;
  6. import com.itextpdf.text.Paragraph;
  7. import com.itextpdf.text.pdf.PdfWriter;
  8.  
  9. import java.io.*;
  10.  
  11. public class pdf extends HttpServlet {
  12.  
  13. public void doPost(HttpServletRequest req, HttpServletResponse resp)
  14. throws ServletException, IOException
  15. {
  16. doGet(req, resp);
  17. }
  18.  
  19. public void doGet(HttpServletRequest request, HttpServletResponse response)
  20. throws ServletException, IOException{
  21.     response.setContentType("application/pdf");
  22.     try{
  23.         Document document = new Document();
  24.         PdfWriter.getInstance(document, response.getOutputStream());
  25.         document.open();
  26.         document.add(new Paragraph("Hello World"));
  27.         document.add(new Paragraph("Pinche pdf de Mierda"));
  28.         document.close();
  29.            
  30.     }
  31.     catch(DocumentException de){
  32.         throw new IOException(de.getMessage());
  33.     }
  34.    
  35.  
  36. }
  37. }
  #2 (permalink)  
Antiguo 20/09/2012, 01:22
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Error al ejecutar servlet que crea pdf

No creo que sea el código lo que tengas mal

Igual no tienes bien el mapeo del servlet en el web.xml

Por otra parte, la configuración del tiempo de timeout del servidor debe estar en algun xml del tomcat por ahi perdido.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 20/09/2012, 08:30
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Error al ejecutar servlet que crea pdf

muchas gracias por tu respuesta, te comento que el dia de ayer segui haciendio pruebas y por ejemplo desde eclipse le doy nuevo serrvlet lo creo escribo unas pequelñas lineas de codigo y corre excelentemente, luego pego el codigo para generar el pdf y ya no inicia el servidor, no se si este tipo de procedimientos requieran una atencion especial. por otro lado el archivo web.xml lo he creado en la carpeta WEB-INF ¿si es en este path donde debe ir? porque cuando creo un servlet nuevo no necesito crear el web.xml simplemente si corre.

de igual manera he hecho una clase de prueba para ver si crea el pdf en una ruta local y lo crea perfectamente no se cual pueda ser el problema con el servlet.

de antemano muchas gracias.

salu2.
  #4 (permalink)  
Antiguo 20/09/2012, 10:16
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Error al ejecutar servlet que crea pdf

Si, en el WEB-INF está bien. Además por ahí deberias tener

<servlet>
<servlet-name>pdf</servlet-name>
<servlet-class>direccion.ruta.archivo.servlet.pdf
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>pdf</servlet-name>
<url-pattern>/pdf</url-pattern>
</servlet-mapping>

y cuando corres la aplicación, si pones en el navegador:

http://localhost:8080/nombreAplicacion/pdf

Deberia abrirtelo.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #5 (permalink)  
Antiguo 20/09/2012, 11:15
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Error al ejecutar servlet que crea pdf

creo que definitivamente el error no esta en el mapeo del web.xml, ya que en el mismo servlet le he metido otro codigo y corre, luego le meto el codigo para el pdf y ahi ya no lo ejecuta, sin modificar nada del mapeo ni nombre ni ruta del servlet.

al momento de meterle el codigo para el pdf cuando el proyecto se auto guardo, la consola me arrojo el siguiente error que mas bien creo que por ahi va la problematica:

Código Consola:
Ver original
  1. Caused by: java.lang.ClassNotFoundException: com.itextpdf.text.DocumentException
  2.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
  3.     at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
  4.     ... 22 more
  5.  
  6. sep 20, 2012 11:56:04 AM org.apache.catalina.core.StandardContext reload
  7. Información: Se ha completado la Regarga de este Contexto

disculpa las molestias..

salu2.
  #6 (permalink)  
Antiguo 20/09/2012, 11:35
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Error al ejecutar servlet que crea pdf

Muchas gracias por todo Fuzzylog, agradezco mucho tu amabilidad, te comento que ya pude resolver el problema, no habia agregado la libreria itext.jar al path lib del tomcat con eso se soluciono todo solo lo habia agregado al proyecto de eclipse.

salu2. y muchas gracias
  #7 (permalink)  
Antiguo 21/09/2012, 02:00
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Error al ejecutar servlet que crea pdf

y por qué no creas una run configuracion en el eclipse que use el tomcat externo, configuras el tomcat en las propiedades del eclipse (si no tienes el tomcat plugin bajatelo antes).

Luego solo tienes que decirle la pagina de inicio en la ruta del localhost y donde tienes el war desplegado para que recoja lo que necesite.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: crea, pdf, servlet, aplicaciones
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 18:05.