Bom dia ! Estou gerando relatórios em pdf com iReports para visualizar na jsp, consigo gerar, só que o relatório aparece no Adobe Reader e o Browser fica com a página em branco, eu quero visualizar o relatório diretamente no browser, na jsp? O Meu código é este :
try {
String txtquery = request.getParameter("queryagendamentosloc");
String driver = "org.postgresql.Driver";
String url = "jdbc:postgresql://localhost:5432/banco";
String login = "root";
String senha = "root";
Class.forName(driver);
Connection con = DriverManager.getConnection(url,login,senha);
con.setAutoCommit(false);
PreparedStatement consulta = (PreparedStatement) con.prepareStatement(txtquery);
ResultSet rs = consulta.executeQuery();
JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
HashMap parametros = new HashMap();
ServletOutputStream servletOutputStream = response.getOutputStream();
String caminho = "/relatorios/";
String relatorio = caminho+"visualizaragendamentos.jasper";
InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream(relatorio);
JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parametros, jrRS);
response.setContentType("application/pdf");
servletOutputStream.flush();
servletOutputStream.close();
con.close();
response.sendRedirect("visualizaragendamentos.jsp");
} catch (SQLException ex) {
Logger.getLogger("global").log(Level.SEVERE,null,ex);
}catch (JRException e) {
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
e.printStackTrace(printWriter);
response.setContentType("text/plain");
response.getOutputStream().print(stringWriter.toString());
}catch (ClassNotFoundException ex) {
Exceptions.printStackTrace(ex);
}