Problemas na geração do Relatório IReport

2 respostas
I

O relatório já está feito, o problema ocorre na hora de chamar o relatório pelo eclipse: o erro ocorrer nesta linha:“bytes = JasperRunManager.runReportToPdf(relatorioJasper,parametros,conn);”.

O erro que ele apresenta é esse: “Source not found for InvokerServlet.serveRequest(HttpServletRequest, HttpServletResponse) line: 470”

a minha classe é essa:

package br.com.globalcode.servlet;

import java.io.IOException;

import java.sql.Connection;

import java.sql.DriverManager;

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  {
    
    // gera o relatório
    ServletContext context = getServletContext();
    byte[] bytes = null;
    try {
        // carrega os arquivos jasper
        JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(
                context.getRealPath("/WEB-INF/Relatorio/Agenda.jasper"));
         // parâmetros, se houverem
        Map parametros = new HashMap();
        // direciona a saída do relatório para um stream
        bytes = JasperRunManager.runReportToPdf(relatorioJasper,parametros,conn);
    } catch (JRException e) {
        e.printStackTrace();
    }
    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

I

no tomcat apresenta esse trace!!

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Invoker service() exception

org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:477)

org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133)

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

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

root cause

java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapper

net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(JasperExportManager.java:162)

Pac.RelJasp.service(RelJasp.java:62)

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

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

org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133)

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

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

note The full stack trace of the root cause is available in the Apache Tomcat/5.0.25 logs.


Apache Tomcat/5.0.25

J

Ta faltando jar no seu classpath !

O iText :wink:

Criado 23 de novembro de 2007
Ultima resposta 23 de nov. de 2007
Respostas 2
Participantes 2