Olá pessoal, tudo bem?
Bom, estou desenvolvendo um módulo de um sistema, que consiste basicamente em Gerar relatórios de uma entidade específica. No meu caso, a entidade é Clientes. Estou usando Netbeans + iReport + JasperReport + JSP + Servlets.
Criei uma classe chamada RelatorioService e o código segue abaixo:
public class RelatorioService {
public JasperPrint gerarRelatorio(String jasper) {
try {
Conexao conexao = Conexao.getInstance();
Connection con = conexao.abrirConexao();
HashMap parametros = new HashMap();
JasperPrint printer = JasperFillManager.fillReport(jasper, parametros, con);
return printer;
} catch (JRException ex) {
Logger.getLogger(RelatorioService.class.getName()).log(Level.SEVERE, null, ex);
}
return null;
}
}
Criei esse método, pois vou ter vários servlets, como: GerarRelatorioPDF, GerarRelatorioHTML, etc, etc. Então nos Servlets, eu só chamo o método e exporto o “printer” para o formato que eu quiser.
Segue abaixo o código do servlet GerarRelatorioPDF:
[code]
public class GerarRelatorioPDF extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
Facade facade = Facade.getInstance();
String jasper = "relatorioClientes.jasper";
String nomeArquivo = "clientes.pdf";
JasperPrint printer = facade.gerarRelatorio(jasper);
JasperExportManager.exportReportToPdfFile(printer, nomeArquivo);
}catch (Exception e) { }
}
}[/code]
Esse código não funciona, ta dando pau, e eu tenho quase certeza (certeza absoluta) que seja por causa dos caminhos dos arquivos. Alguém poderia me ajudar?
Segue abaixo o erro
java.lang.NoClassDefFoundError: com/lowagie/text/DocumentException
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:117)
br.crud.controller.servlets.GerarRelatorioPDF.doGet(GerarRelatorioPDF.java:30)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)