Codigo do ireports com Problema

2 respostas
Vinicius_Sartori

eu estou fazendo uma classe para importar relatorios do ireports para o eclipse mais estou tendo problemas n codigo alguem poderia me ajudar?

package br.com.caelum.fj26;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.AbstractMap;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;

public class Relatorio extends HttpServlet {
	public static Connection con;
	public static String banco = "teste"; // Nome do banco de dados
	public static String usuario = "root"; // Usuario do banco
	public static String senha = "666999"; // Senha

	@SuppressWarnings("deprecation")
	protected void doPost(HttpServletRequest req, HttpServletResponse res)
			throws ServletException, IOException {
		conexao(); // Faz a conexão
		// Na variavel pathJasper ficara o caminho do diretório para
		// os relatórios compilados (.jasper)
		String pathJasper = getServletContext().getRealPath(
				"/WEB-INF/classes/br/eti/furutani/")
				+ "/";
		// A variavel path armazena o caminho real para o contexto
		// isso é util pois o seu web container pode estar instalado em lugares
		// diferentes
		String path = getServletContext().getRealPath("/");
	
		// Parametros do relatorioMap parametros = new HashMap();
		// O único parametro que devemos passar é o PathRelAutores
		// é o caminho pro RelAutores.jasper (que foi subtituido pelo
		// valor fixo ?D:/iReport-0.4.0/RelAutores.jasper?)
		parametros.put("PathRelAutores", pathJasper + "RelAutores.jasper");
		try {
			// Aqui ele cria o relatório
			JasperPrint impressao = JasperFillManager.fillReport(pathJasper
					+ "relatorio.jasper", parametros, con);
			// Grava o relatório em disco em pdf
			JasperManager.printReportToPdfFile(impressao, path
					+ "/RelatorioLivros.pdf");
			// Redireciona para o pdf gerado
			res.sendRedirect("RelatorioLivros.pdf");
		} catch (Exception e) {
			res.getWriter().println("Erro ao gerar o relatório: " + e);
		}
	}

	// Cria a conexão
	public void conexao() {
		try {
			if (con == null || con.isClosed()) {
				Class.forName("com.mysql.jdbc.Driver");
				con = DriverManager.getConnection(
						"jdbc:mysql://localhost:3306/" + banco, usuario, senha);
			}
		} catch (Exception e) {
			System.out.println("não foi possível conectar ao banco ->");
			e.printStackTrace();
		}
	}

	protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1)
			throws ServletException, IOException {
		doPost(arg0, arg1);
	}
}

2 Respostas

Miki

aproveitando o topico… onde pego o ireports? ou ja vem no pacote java…
grato…

montenegro

Vinicius_Sartori, qual o problema q ta dando?

Miki, vc esta se confundindo…o iReport 'e um programa para ajudar no desenvolvimento de relatorios…ele " apenas" facilita na montagem do relatorio (a parte grafica). Para gerar relatorios 'e necessario a bilbioteca JasperReport…e entao vc precisa baixar: http://www.jasperforge.org/jaspersoft/opensource/business_intelligence/jasperreports/.

E para facilitar bastante o trabalho, baixar o iReport: http://www.jasperforge.org/sf/projects/ireport

Criado 4 de junho de 2008
Ultima resposta 4 de jun. de 2008
Respostas 2
Participantes 3