Erro no Jasper report

2 respostas
D

Bem pessoal fiz esse exemplo e deu um erro:
Erro: java.io.FileNotFoundException: C:\Tomcat\webapps\agenda\WEB-INF\report\devx_repor.jasper

Sendo que os arquivos: devx_repor.jasper e devx_report.jrxml estão no
diretorio C:\Tomcat\webapps\agenda\WEB-INF\report

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.HashMap;

import java.util.Map;
import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JRException;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.JasperRunManager;

import net.sf.jasperreports.engine.util.JRLoader;

public class GeraRelatorioPedidos extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)  
     throws IOException, ServletException  {  

     // obtém a conexão com o banco de dados
     Connection conn = null;  
     try {  
         conn = DriverManager.getConnection("jdbc:mysql://localhost/employees", "root", "bruno"); 
     } catch (SQLException ex) {  
         ex.printStackTrace();  
     }  
       
     // gera o relatório
     ServletContext context = getServletContext();  
     byte[] bytes = null;  
     try {  
         // carrega os arquivos jasper
         JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(  
                 context.getRealPath("/WEB-INF/report/devx_repor.jasper"));  
         JasperReport subrelatorioJasper = (JasperReport)JRLoader.loadObject(  
                 context.getRealPath("/WEB-INF/report/devx_report.jasper"));  
         // parâmetros, se houverem
         Map parametros = new HashMap();  
         parametros.put("pageRoot", context.getRealPath("/"));  
         parametros.put("subReport", subrelatorioJasper);  
         // direciona a saída do relatório para um stream
         bytes = JasperRunManager.runReportToPdf(relatorioJasper,parametros,conn);  
     } catch (JRException e) {  
         response.getWriter().println("Erro: " + e.getMessage());
     }  
     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();  
     }  
       
 }

}

2 Respostas

furutani

Qual é o certo devx_repor.jasper ou devx_report.jasper.

context.getRealPath("/WEB-INF/report/devx_repor.jasper"));

JasperReport subrelatorioJasper = (JasperReport)JRLoader.loadObject( context.getRealPath("/WEB-INF/report/devx_report.jasper"));

Repare que um tem [size=18]t[/size] e outro não.

D

Eai cara, puts olhei mil vezes o código e não tinha visto isto, esse era o
problema mesmo
valeuu!!!

Criado 5 de outubro de 2009
Ultima resposta 6 de out. de 2009
Respostas 2
Participantes 2