Estou com dificuldades para conseguir que meu sevlet coloque o pdf do ireport no browser alguem tem alguma ideia de como fazer ou uma luz ja olhei varios foruns mais ainda sim tesou com dificuldades segue abaixo meu servlet:
da forma que ta ele salva em disco e na pasta bim do tomcat se alguem souber como eu coloco o bicho pra salve em disco mais tipo no desktop eu agradeço.
public class GerarRelatorioEscola extends HttpServlet {
byte[] bytes = null;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
Facade facade = Facade.getInstance();
HashMap parametrosRelatorio = new HashMap();
//Captura os parâmetros necessários para o relatório e adiciona em um Hashmap
String dataInicio = request.getParameter("dataInicio");
String dataFim = request.getParameter("dataFim");
parametrosRelatorio.put("dataInicio", dataInicio);
parametrosRelatorio.put("dataFim", dataFim);
//String com a consulta que será realizada no banco
String SQL = "SELECT * FROM sisgec_escola ORDER BY nomeescola";
//Configuração dos diretórios para entrada(Arquivo .jasper) e saída(Arquivo .pdf)
String pathInput = getServletContext().getRealPath("/WEB-INF/relatorios");
String pathOutput = getServletContext().getRealPath("/WEB-INF/relatorios_gerados/");
String arquivoJasper = "\\relatorio_escola.jasper";
String jasper = pathInput.concat(arquivoJasper);
jasper = jasper.replace("\\", "/");
HttpSession session = request.getSession();
ServletContext context = session.getServletContext();
//String com a consulta que será realizada no banco
// String SQL = “SELECT * FROM sisgec_escola ORDER BY nomeescola”;
try {
JasperPrint printer = facade.gerarRelatorio(jasper, parametrosRelatorio, SQL);
out.println(“Gerou print!!!”);
// JasperViewer view = new JasperViewer(printer);
// view.setVisible(true);
JasperExportManager.exportReportToPdfFile(printer, “relatorio_escola_.pdf”);
out.println(“Relatorio Gerado!!!”);
JasperReport relatorioJasper = null;
relatorioJasper = (JasperReport) JRLoader.loadObject(context.getRealPath("/relatorios/relatorio_escola.jasper"));
bytes = JasperRunManager.runReportToPdf(relatorioJasper, parametrosRelatorio, facade.conectar());
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}