Jasper, iReport, Servlet, erros, etc

0 respostas
T

Oi galera, td bem. Eu sou novo tanto no forum quanto na linguagem JAVA e tudo que ela pode oferecer. Eu estou tendo que criar uma mini aplicação web que gera uns relatorios. Eu estou usando servlet e iReports (JASPER) e o TOMCAT.
quando eu clico no botao de gerar o relatorio, o servlet pega um Hash Table da sessao do usuario e manipula esta tabela para gerar o relatorio que eu quero. O codigo que eu uso no servlet eh o seguinte:

import java.sql.<em>;

import <a href="http://java.io">java.io</a>.</em>;

import java.util.<em>;

import javax.servlet.</em>;

import javax.servlet.http.<em>;

import net.sf.jasperreports.engine.</em>;

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



try

{ //pega a HashTable da sessao

ht = (Hashtable) sessao.getAttribute(ht);

JREmptyDataSource jrRS = new JREmptyDataSource();

//relatorio compilado

InputStream jp = getServletContext().getResourceAsStream("/Declaracao.jasper");

JasperReport relatorio = (JasperReport) JRLoader.loadObject(jp);

JasperPrint impressao = JasperFillManager.fillReport(relatorio,ht,jrRS); //aqui que dá a exception

JasperExportManager.exportReportToPdfFile(impressao,Caminho a ser gerado);

RequestDispatcher rd;

rd = getServletContext().getRequestDispatcher("/Declaracao.pdf");

rd.forward(p_request,p_response);

}

catch (JRException e2) {System.out.println("Jasper Reports Exception: "); e2.printStackTrace();}

catch (Exception e) {System.out.println("Exception Normal: " ); e.printStackTrace();}

return;
O erro que eu vejo é o seguinte:

Exception Normal:

java.lang.NullPointerException

at java.util.Hashtable.put(Unknown Source)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:603)

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

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

at ServletDeclaracao.doGet(ServletDeclaracao.java:293)

at ServletDeclaracao.doPost(ServletDeclaracao.java:423)

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

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

at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419)

at org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:169)

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:252)

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

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

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:17

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

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

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

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:14

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

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

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

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

at java.lang.Thread.run(Unknown Source)

Alguém pode me dar uma dica do que esta acontecendo??

Desde ja eu agradeço

Criado 23 de maio de 2005
Respostas 0
Participantes 1