Olá Pessoal!
Quero gerar um relatório em pdf com o jasper reports e servlets. Eu já consegui fazer, e funcionou, mas agora e
estou em um projeto que não utiliza connection e sim session e o comando que
gera o relatório exige um Connection. Como posso resolver este problema?
Eu vi que a session possui um método connection, mas esta depreacated e e não roda com ele, já testei:
session.connection()
Veja a linha principal:
bytes = JasperRunManager.runReportToPdf( relatorioContrato, parametros, ????? );
public class RelContrato extends HttpServlet implements DireitoAutoral {
Session session;
@Override
public void setSession(Session session) {
this.session = session;
}
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletContext sc = getServletContext();
byte[] bytes = null;
try {
String rel = sc.getRealPath("/WEB-INF/reports/RelContrato.jasper");
JasperReport relatorioContrato = (JasperReport)JRLoader.loadObject( rel );
// lendo arquivo jasper
//File relatorioContrato = new File(rel);
Map parametros = new HashMap();
parametros.put("pageRoot", "" );
parametros.put("id_contrato", 23);
//Connection conn = new ConnectionFactory().getConnection();
bytes = JasperRunManager.runReportToPdf( relatorioContrato, parametros, ???? );
}catch (JRException e) {
throw new ServletException(e);
}
if (bytes != null && bytes.length > 0) {
// envia o relat�rio em formato PDF para o browser
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
}
}
Como poderia fazer isto pessoal?
Obrigado!