Hola a todos!
Estoy incursionando en el desarrollo de reportes en web con jasperreports y he conseguido con éxito mostar un reporte a travéz del browser.
Consultando el libro "JasperReports for JavaDevelopers" me encontré con un código de ejemplo para ser utilizado con JSF (Cap. 11 Integrando JasperReports con otros frameworks pp. 320) donde a la hora de mostrar los datos en el browser muestra sólo basura, luego de buscar un poco más me encontré con otro código muy parecido que me funcionó correctamente,
Mi pregunta es si debo configurar algún archivo ?
tendrá algo que ver la configuracion del archivo "mime.types" del servidor de aplicaciones?
Les dejo el código del libro y de la página...
***/El siguiente es el código que encontré en el libro***/
Connection connection;
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse)
context.getExternalContext().getResponse();
InputStream reportStream = context.getExternalContext().
getResourceAsStream("/reports/DbReport.jasper");
ServletOutputStream servletOutputStream =
response.getOutputStream();
Class.forName("com.mysql.jdbc.Driver");
"com.mysql.jdbc.Driver");
com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost: 3306/flightstats?user=user&password=secret");
JasperRunManager.runReportToPdfStream(reportStream ,
servletOutputStream, new HashMap(), connection);
connection.close();
response.setContentType("application/pdf");
servletOutputStream.flush();
servletOutputStream.close();
***/Fin del código que encontré en el libro***/
***/CÓDIGO QUE ENCONTRÉ EN www.ensode.net/jasperreports_pdf_send_to_browser.html/***
Connection connection;
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
InputStream reportStream = context.getExternalContext().getResourceAsStream("/usuarios.jasper");
ServletOutputStream servletOutputStream = response.getOutputStream();
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/seguridadpublica?user=root&password=root");
byte[] bytes = null;
bytes = JasperRunManager.runReportToPdf(reportStream, new HashMap(), connection);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
servletOutputStream.write(bytes, 0, bytes.length);
servletOutputStream.flush();
servletOutputStream.close();
connection.close();
***/CÓDIGO QUE ENCONTRÉ EN www.ensode.net/jasperreports_pdf_send_to_browser.html /***