JasperReport Reportes
Hola amigos el dia de hoy les muestro el codigo para generar reportes para aplicaciones web y almacenarlos en algun lado del servidor.
/*Genera reporte*/
public String GenerarReporte(String rep, HashMap params) {
try {
String reporPath = "";
reporPath = FacesContext.getCurrentInstance().getExternalContext().getRealPath(rep);
Context ctx= new InitialContext();
//LoginBean lb = new LoginBean();
//String ip = lb.getServerIP();
DataSource ds;
//Desarrollo
//ds = (DataSource)ctx.lookup("jdbc/desa");
//Produccion
ds = (DataSource)ctx.lookup("jdbc/caricai");
Connection cn = ds.getConnection();
JasperPrint jasperprint = JasperFillManager.fillReport(reporPath, params, cn);
HttpServletResponse httpserveltresponse= (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
httpserveltresponse.setContentType("application/pdf");
ServletOutputStream servletOutputStream = httpserveltresponse.getOutputStream();
JasperExportManager.exportReportToPdfStream(jasperprint, servletOutputStream);
FacesContext.getCurrentInstance().responseComplete();
} catch (NamingException | SQLException | JRException | IOException ex) {
System.out.println("Error"+ex);
System.out.println("Error"+ex);
System.out.println("Error"+ex);
}
return "";
}
/*Alamacena reporte */
public String saveReporte(String rep, HashMap params) {
try {
String reporPath = "";
reporPath = FacesContext.getCurrentInstance().getExternalContext().getRealPath(rep);
Context ctx= new InitialContext();
DataSource ds;
ds = (DataSource)ctx.lookup("jdbc/caricai");
Connection cn = ds.getConnection();
JasperPrint jasperprint = JasperFillManager.fillReport(reporPath, params, cn);
HttpServletResponse httpserveltresponse= (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
httpserveltresponse.setContentType("application/pdf");
/*ubicacion donde se guarda el archivo*/
OutputStream output = new FileOutputStream(new File("/opt/boleta.pdf"));
JasperExportManager.exportReportToPdfStream(jasperprint, output);
} catch (NamingException | SQLException | JRException | IOException ex) {
System.out.println("Error"+ex);
System.out.println("Error"+ex);
System.out.println("Error"+ex);
}
return "";
}