Ajuda JasperReports SOCORRO!

7 respostas
S

EU SOU INICIANTE EM JAVA ESTOU TENTANDO APRESENTAR UM RELATORIO A PARTIR DE UM SERVLET ESTOU USANDO O IREPORT PARA GERAR O XML E O JASPER REPORTS PARA GERAR O PDF EU USO UM CODIGO DA SEGUINTE FORMA NO MEU SERVLET

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

SetaConexao sccac = new SetaConexao(“cac”);
DespachoBean desp = new DespachoBean();

desp.setNumero_matricula(Integer.parseInt(request.getParameter(“matricula”)));

desp.consultaDespachado();

rs = desp.getResultado();

try{

rs.next();

}catch (SQLException e){

e.printStackTrace();

}
JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);

HashMap parametro = new HashMap();

try{

JasperFillManager.fillReportToFile(teste.jasper, parametro, jrRS );

JasperExportManager.exportReportToPdfFile(teste.jrprint);

JasperViewer.viewReport(teste.pdf,false);

}catch (JRException e){

e.printStackTrace();

}

response.sendRedirect(“html/manterMedidor/Teste.jsp”);

}

O SEGUINTE ERRO É DISPARADO

java.io.FileNotFoundException: teste.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:117)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:314)

at RelatorioSV.doPost(RelatorioSV.java:123)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)

at java.lang.Thread.run(Thread.java:534)
NESTED BY :

java.io.FileNotFoundException: teste.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:117)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:314)

at RelatorioSV.doPost(RelatorioSV.java:123)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)

at java.lang.Thread.run(Thread.java:534)
NESTED BY :

net.sf.jasperreports.engine.JRException: teste.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:117)

at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:314)

at RelatorioSV.doPost(RelatorioSV.java:123)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)

at java.lang.Thread.run(Thread.java:534)

Caused by: java.io.FileNotFoundException: teste.jasper

 29 more

POR FAVOR ALGUEM SABE COMO RESOLVER É PODE ME AJUDAR

7 Respostas

R

pelo erro, ele nao encontra o arquivo teste.jasper…

S

COMO EU FAÇO PARA QUE O JASPER POSSA SER LIDO ESTOU USANDO O TOMCAT.
A MINHA ESTRUTURA ESTA ASSIM .
WEBAPPS\MEDIDORES\WEB-INF\CLASSES\BEAN\RELATORIOS

S

COMO EU FAÇO PARA QUE O JASPER POSSA SER RECONHECIDO, EU ESTOU USANDO O TOMCAT E MINHA ESTRUTURA ESTA ASSIM
C:\Program Files\tomcat\webapps\medidores\WEB-INF\classes\Bean\Relatorios

rvaldomiro

Eu uso o Struts e na Action que gera o reletório eu acesso o contexto e pego o path à partir daí coloco somente a package onde está o .jasper sacow?

Algo como:

mapping.getServletContext().getRealPath();

Acho que é isso, e me retorna o caminho absoluto do diretório base da minha aplicação :wink:

Flw

S

Estou usando assim
String str = this.getClass().getResource(“Bean/Relatorios/teste.jasper”).getFile();
que da mesma forma me retorna o caminho absoluto
mas continua dando o mesmo erro

NESTED BY :

net.sf.jasperreports.engine.JRException: C:\Program%20Files\tomcat\webapps\medidores\WEB-INF\classes\Bean\Relatorios\teste.jasper

at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:117)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:386)

at RelatorioSV.doPost(RelatorioSV.java:136)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)

at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)

at java.lang.Thread.run(Thread.java:534)

Caused by: java.io.FileNotFoundException: C:\Program%20Files\tomcat\webapps\medidores\WEB-INF\classes\Bean\Relatorios\teste.jasper

 29 more

quais os pacotes que eu devo adcionar no lib para que eu possa atravez do jasper produzir relatorios em pdf
usando o eclipse é preciso setar no classpath

aborges

Tente:

InputStream is = this.getClass().getResourceAsStream("/Bean/Relatorios/teste.jasper");
S

eu usei
InputStream is = this.getClass().getResourceAsStream("/Bean/Relatorios/teste.jasper");

e agora da este erro

java.lang.NoClassDefFoundError

net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:151)

net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:353)

net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:340)

RelatorioSV.doPost(RelatorioSV.java:137)

javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Criado 13 de janeiro de 2005
Ultima resposta 14 de jan. de 2005
Respostas 7
Participantes 4