Bom dia !
Estou gerarando um relatório pdf criado no IReport, pois está funcionando normalmente, só que o pdf abre na mesma página da aplicação eu quero que o pdf abra numa nova página, já pesquisei na internet, mas não consegui achar, por favor me ajudem, abaixo está o código da geração do meu pdf. Obrigado !
try {
String driver = "org.postgresql.Driver";
String url = "jdbc:postgresql://localhost:5432/banco";
String login = "user";
String senha = "user";
InputStream imagem = getServletConfig().getServletContext().getResourceAsStream("/relatorios/logo.png");
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();
parametros.put("imagem", imagem);
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();
request.getRequestDispatcher("/relatorioagendamentos.jsp").forward(request, response);
}
} 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);