Pessoal aonde tem um tutorial ou livro sobre jsf + ireport + jaspion report ?
Testei desta maneira:
http://javafree.uol.com.br/artigo/870555/RelatorioHibernate-Annotations-+-JSF-+-iReport
mas nao deu certo !
to fazendo assim:

:
package b.gov.nutec.relatorios;
import java.io.IOException;
import java.io.PrintWriter;
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 GerarRelatorio_pessoa extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
RelConexao rc = new RelConexao();
rc.conexaorel(); // Faz a conexo
String pathJasper = getServletContext().getRealPath("/relatorios") + "/";
String path = getServletContext().getRealPath("/");
// Parametros do relatorio
Map parametros = new HashMap();
parametros.put("", pathJasper + "Relatorio_Pessoa.jasper");
try {
// Aqui ele cria o relatrio
JasperPrint impressao = JasperFillManager.fillReport(
pathJasper + "Relatorio_Pessoa.jasper", parametros, RelConexao.con);
// Grava o relatrio em disco em pdf
JasperManager.printReportToPdfFile(impressao, path + "Relatorio_Pessoa.pdf");
// Redireciona para o pdf gerado
response.sendRedirect("Relatorio_Pessoa.pdf");
} catch (Exception e) {
response.getWriter().println("Erro ao gerar o relatório: " + e);
System.out.print("Erro ao gerar o relatório: " + e);
}
} catch (Exception e) {
System.out.println("Erro: " + e);
}
}
}
package b.gov.nutec.relatorios;
import java.sql.*;
class RelConexao {
public static Connection con;
public void conexaorel() {
try {
if (con == null || con.isClosed()) {
Class.forName("org.postgresql.Driver");
con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/bdcadastro", "root","debian23");
}
} catch (Exception e) {
System.out.println("não foi possível conectar ao banco");
e.printStackTrace();
}
}
}
package b.gov.nutec.relatorios;
import java.io.IOException;
import java.io.PrintWriter;
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 Rel_Matr_Pessoa extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
RelConexao rc = new RelConexao();
rc.conexaorel(); // Faz a conexo
String pathJasper = getServletContext().getRealPath("/relatorios") + "/";
String path = getServletContext().getRealPath("/");
// Parametros do relatorio
Map parametros = new HashMap();
parametros.put("", pathJasper + "Relatorio_mesal_matri.jasper");
try {
// Aqui ele cria o relatrio
JasperPrint impressao = JasperFillManager.fillReport(
pathJasper + "Relatorio_mesal_matri.jasper", parametros, RelConexao.con);
// Grava o relatrio em disco em pdf
JasperManager.printReportToPdfFile(impressao, path + "Relatorio_Matricula_e_Pessoas.pdf");
// Redireciona para o pdf gerado
response.sendRedirect("Relatorio_Matricula_e_Pessoas.pdf");
} catch (Exception e) {
response.getWriter().println("Erro ao gerar o relatório: " + e);
System.out.print("Erro ao gerar o relatório: " + e);
}
} catch (Exception e) {
System.out.println("Erro: " + e);
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
package b.gov.nutec.relatorios;
import java.io.IOException;
import java.io.PrintWriter;
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 Rel_Pessoa_nome extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
RelConexao rc = new RelConexao();
rc.conexaorel(); // Faz a conexo
String pathJasper = getServletContext().getRealPath("/relatorios") + "/";
String path = getServletContext().getRealPath("/");
// Parametros do relatorio
Map parametros = new HashMap();
parametros.put("", pathJasper + "Relatorio_Pessoa_por_nome.jasper.jasper");
parametros.put("nome", "");
try {
// Aqui ele cria o relatrio
JasperPrint impressao = JasperFillManager.fillReport(
pathJasper + "Relatorio_Pessoa por nome.jasper", parametros, RelConexao.con);
// Grava o relatrio em disco em pdf
JasperManager.printReportToPdfFile(impressao, path + "Relatorio_Pessoa_por_nome.pdf");
// Redireciona para o pdf gerado
response.sendRedirect("Relatorio_Pessoa_por_nome.pdf");
} catch (Exception e) {
response.getWriter().println("Erro ao gerar o relatório: " + e);
System.out.print("Erro ao gerar o relatório: " + e);
}
} catch (Exception e) {
System.out.println("Erro: " + e);
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
<rich:tab label="Relatórios">
<form action="Rel_Matr_Pessoa">
<input type="submit" value="Rel_Matr_Pessoa" name="Gerar Relatório Matrícula"/>
</form>
<form action="GerarRelatorio_pessoa">
<input type="submit" value="GerarRelatórioPessoa" name="Gerar Relatório Pessoa"/>
</form>
<form action="Rel_Pessoa_nome">
<input type="submit" value="Rel_Pessoa_nome" name="Gerar Relatório Pessoa po nome"/>
</form>
|<a4j:commandButton value="Relatorio Pessoas Matrícula" immediate="true" action="case1" styleClass="botoes"/>|
</rich:tab>
erro:
HTTP Status 404 - /pages/Rel_Matr_Pessoa
type Status report
message /pages/Rel_Matr_Pessoa
description The requested resource (/pages/Rel_Matr_Pessoa) is not available.
Apache Tomcat/6.0.20
como se faz ?