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

Jasper jsp servlet guardar en el servidor

Estas en el tema de Jasper jsp servlet guardar en el servidor en el foro de Java en Foros del Web. Hola a todos!!! Ando aprendiendo jasper, y en java de escritorio me ha ido bn, pero en web no tanto, ps uso el siguiente codigo ...
  #1 (permalink)  
Antiguo 18/07/2011, 14:04
Avatar de andrexsos17  
Fecha de Ingreso: enero-2011
Ubicación: Manizales
Mensajes: 169
Antigüedad: 13 años, 9 meses
Puntos: 15
Pregunta Jasper jsp servlet guardar en el servidor

Hola a todos!!!


Ando aprendiendo jasper, y en java de escritorio me ha ido bn, pero en web no tanto, ps uso el siguiente codigo para generar el pdf y es perfecto y si abro el servlet de una me aparece el pdf.

Código Javascript:
Ver original
  1. protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
  2.     {
  3.        response.setHeader("Content-Disposition", "attachment; filename=\"reporte.pdf\";");
  4.         response.setHeader("Cache-Control", "no-cache");
  5.         response.setHeader("Pragma", "no-cache");
  6.         response.setDateHeader("Expires", 0);
  7.        response.setContentType("application/pdf");
  8.        
  9.        ServletOutputStream out = response.getOutputStream();
  10.  
  11.        List listaPariticipantes = new ArrayList();
  12.  
  13.        for (int i = 1; i <= 10; i++)
  14.        {
  15.           Participante p = new Participante(i, "Particpante " + i, "Usuario " + i, "Pass " + i, "Comentarios para " + i);
  16.           p.setPuntos(i);
  17.           listaPariticipantes.add(p);
  18.        }
  19.        
  20.        try
  21.        {
  22.           JasperReport reporte = (JasperReport) JRLoader.loadObject(getServletContext().getRealPath("WEB-INF/report4.jasper"));
  23.           Map parametros = new HashMap();
  24.           parametros.put("autor", "Andrex");
  25.           parametros.put("titulo", "Report");
  26.  
  27.           JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, parametros, new JRBeanCollectionDataSource(listaPariticipantes));
  28.          
  29.           JRExporter exporter = new JRPdfExporter();
  30.           exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  31.           exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
  32.           exporter.exportReport();
  33.        }
  34.        catch (Exception e)
  35.        {
  36.           e.printStackTrace();
  37.        }       
  38.     }protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
  39.     {
  40.        response.setHeader("Content-Disposition", "attachment; filename=\"reporte.pdf\";");
  41.         response.setHeader("Cache-Control", "no-cache");
  42.         response.setHeader("Pragma", "no-cache");
  43.         response.setDateHeader("Expires", 0);
  44.        response.setContentType("application/pdf");
  45.        
  46.        ServletOutputStream out = response.getOutputStream();
  47.  
  48.        List listaPariticipantes = new ArrayList();
  49.  
  50.        for (int i = 1; i <= 10; i++)
  51.        {
  52.           Participante p = new Participante(i, "Particpante " + i, "Usuario " + i, "Pass " + i, "Comentarios para " + i);
  53.           p.setPuntos(i);
  54.           listaPariticipantes.add(p);
  55.        }
  56.        
  57.        try
  58.        {
  59.           JasperReport reporte = (JasperReport) JRLoader.loadObject(getServletContext().getRealPath("WEB-INF/report4.jasper"));
  60.           Map parametros = new HashMap();
  61.           parametros.put("autor", "Andrex");
  62.           parametros.put("titulo", "Report");
  63.  
  64.           JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, parametros, new JRBeanCollectionDataSource(listaPariticipantes));
  65.          
  66.  [B]         JRExporter exporter = new JRPdfExporter();
  67.           exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  68.           exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
  69.           exporter.exportReport();[/B]
  70.        }
  71.        catch (Exception e)
  72.        {
  73.           e.printStackTrace();
  74.        }       
  75.     }


pero lo que deseo no es mostrarlo sino guardarlo en alguna carpeta del proyecto, supongo que esto lo debo hacer en las lineas en negrita pero no se como hacer esto:(. Si alguien sabe por donde buscar esta salida les agradeceria mucho.


Saludos!!!
__________________
Todo problema es una forma mental que la mente sostiene. Los problemas dejan de existir cuando los olvidamos. Todo problema ha sido creado por la mente y existe mientras la mente lo sostenga.
  #2 (permalink)  
Antiguo 18/07/2011, 15:06
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 13 años, 5 meses
Puntos: 16
Respuesta: Jasper jsp servlet guardar en el servidor

Código Javascript:
Ver original
  1. // cambia esto
  2. exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
  3.  
  4. //por esto
  5. exporter.setParameter(JRExporterParameter.OUTPUT_FILE, ruta + nombreArchivo);

en donde las variables ruta y nombreArchivo contendran la ruta y el nombre del archivo (con extensión .pdf incluido) donde va a quedar guardado

Espero te sirva.
__________________
Saludos desde Colombia.
http://labs.distrit.co
  #3 (permalink)  
Antiguo 19/07/2011, 06:29
Avatar de andrexsos17  
Fecha de Ingreso: enero-2011
Ubicación: Manizales
Mensajes: 169
Antigüedad: 13 años, 9 meses
Puntos: 15
Respuesta: Jasper jsp servlet guardar en el servidor

Hola @jeisongutierrez, gracias por tu ayuda, pero no sirvio lo que me dijiste ps mejera un error de tipo casteo. Opte por cambiar desde la linea 64 hasta la 69 por este codigo.

Código Javascript:
Ver original
  1. String ruta = getServletContext().getRealPath("WEB-INF")+"\\participantes.pdf";
  2.           System.out.println(ruta);
  3.           JasperPrint jasperPrint = JasperFillManager.fillReport(reporte, parametros, new JRBeanCollectionDataSource(listaPariticipantes));
  4.           JasperExportManager.exportReportToPdfFile(jasperPrint, ruta);

y funciono correctamente, espero que a alguien mas le pueda servir. Saludos!!!!!
__________________
Todo problema es una forma mental que la mente sostiene. Los problemas dejan de existir cuando los olvidamos. Todo problema ha sido creado por la mente y existe mientras la mente lo sostenga.

Etiquetas: jasper, jsp, servlet
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 07:14.