Relatórios = JasperReport + iReport + JSF + Rickfaces?

2 respostas
juniorsatanas

Pessoal to tentando fazer alguns relatorios gráficos etc… mas não mostra nada !

pastas:

/home/junior/JasperWEB/build
/home/junior/JasperWEB/dist
/home/junior/JasperWEB/jasper
/home/junior/JasperWEB/lib
/home/junior/JasperWEB/nbproject
/home/junior/JasperWEB/src
/home/junior/JasperWEB/test
/home/junior/JasperWEB/web
/home/junior/JasperWEB/build.xml

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <servlet>
        <servlet-name>VisualizaRelatorio</servlet-name>
        <servlet-class>VisualizaRelatorio</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>GeraPDF</servlet-name>
        <servlet-class>GeraPDF</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>GeraHTML</servlet-name>
        <servlet-class>GeraHTML</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>VisualizaRelatorio</servlet-name>
        <url-pattern>/VisualizaRelatorio</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>GeraPDF</servlet-name>
        <url-pattern>/GeraPDF</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>GeraHTML</servlet-name>
        <url-pattern>/GeraHTML</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Curso JasperReports / iReport - T2Ti.com</title>
    </head>
    <body>
        <h2>Curso JasperReports / iReport - T2Ti.com</h2>
        <form action="VisualizaRelatorio" method="post">
            <input type="submit" value="Visualizar Relatório" name="btVisualizaRelatorio"/>
        </form>
        <br>
        &lt;form action="GeraPDF" method="post"&gt;
            &lt;input type="submit" value="Gerar PDF" name="btGeraPDF"/&gt;
        &lt;/form&gt;
        <br>
        &lt;form action="GeraHTML" method="post"&gt;
            &lt;input type="submit" value="Gerar HTML" name="btGeraHTML"/&gt;
        &lt;/form&gt;
    &lt;/body&gt;
&lt;/html&gt;

conexao.java

import java.sql.Connection;
import java.sql.DriverManager;

public class ConexaoMySQL {

    public Connection getConnection() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String driver = "jdbc:mysql://localhost/cursojasper";
            Connection con = DriverManager.getConnection(driver, "root", "1234");
            return con;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

gerarHTML.java

import java.io.*;

import java.sql.Connection;
import java.util.HashMap;
import javax.servlet.*;
import javax.servlet.http.*;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
public class GeraHTML extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            Connection con = new ConexaoMySQL().getConnection();
            HashMap parametros = new HashMap();
            ServletContext sc = getServletContext();
            String nomeArquivo = sc.getRealPath("/") + "produtos.html";
            JasperPrint jp = JasperFillManager.fillReport(sc.getRealPath("/jasper/Produtos.jasper"), parametros, con);            
            JasperExportManager.exportReportToHtmlFile(jp, nomeArquivo);
            out.println("&lt;html&gt;");
            out.println("&lt;head&gt;");
            out.println("&lt;title&gt;Servlet GeraHTML&lt;/title&gt;");
            out.println("&lt;/head&gt;");
            out.println("&lt;body&gt;");
            out.println("&lt;h1&gt;Relatório Gerado" + "&lt;/h1&gt;");
            out.println("&lt;/body&gt;");
            out.println("&lt;/html&gt;");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            out.close();
        }
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }
    // &lt;/editor-fold&gt;
}

gerarPDF.java

import java.io.*;

import java.sql.Connection;
import java.util.HashMap;
import javax.servlet.*;
import javax.servlet.http.*;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;

public class GeraPDF extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            Connection con = new ConexaoMySQL().getConnection();
            HashMap parametros = new HashMap();
            ServletContext sc = getServletContext();
            String nomeArquivo = sc.getRealPath("/") + "produtos.pdf";
            JasperPrint jp = JasperFillManager.fillReport(sc.getRealPath("/jasper/Produtos.jasper"), parametros, con);            
            JasperExportManager.exportReportToPdfFile(jp, nomeArquivo);
            out.println("&lt;html&gt;");
            out.println("&lt;head&gt;");
            out.println("&lt;title&gt;Servlet GeraPDF&lt;/title&gt;");
            out.println("&lt;/head&gt;");
            out.println("&lt;body&gt;");
            out.println("&lt;h1&gt;Relatório Gerado" + "&lt;/h1&gt;");
            out.println("&lt;/body&gt;");
            out.println("&lt;/html&gt;");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            out.close();
        }
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }
    // &lt;/editor-fold&gt;
}

visualizarrelatorio.java

import java.io.*;

import java.sql.Connection;
import java.util.HashMap;
import javax.servlet.*;
import javax.servlet.http.*;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;

public class VisualizaRelatorio extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            Connection con = new ConexaoMySQL().getConnection();
            HashMap parametros = new HashMap();
            parametros.put("DATA_INICIO", "2007/07/01");
            parametros.put("DATA_FIM", "2007/07/07");
            ServletContext sc = getServletContext();
            JasperPrint jp = JasperFillManager.fillReport(sc.getRealPath("/jasper/Grafico.jasper"), parametros, con);
            JasperViewer jrv = new JasperViewer(jp);
            jrv.setVisible(true);
            out.println("&lt;html&gt;");
            out.println("&lt;head&gt;");
            out.println("&lt;title&gt;Servlet VisualizaRelatorio&lt;/title&gt;");  
            out.println("&lt;/head&gt;");
            out.println("&lt;body&gt;");
            out.println("&lt;h1&gt;Servlet VisualizaRelatorio at " + request.getContextPath () + "&lt;/h1&gt;");
            out.println("&lt;/body&gt;");
            out.println("&lt;/html&gt;");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            out.close();
        }
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }
    // &lt;/editor-fold&gt;
}

2 Respostas

F

Já vi problemas parecido com este. Não sei se é o caso, mas acho que vai funcionar se você colocar os seus servlets dentro de pacotes e alterar o valor da tag <servlet-class> para apontar para o nome do servlet com o caminho completo (pacote.classe).

juniorsatanas

como ficaria isto sendo para postgresql ?

1. import java.sql.Connection;  
   2. import java.sql.DriverManager;  
   3.   
   4. public class ConexaoMySQL {  
   5.   
   6.     public Connection getConnection() {  
   7.         try {  
   8.             Class.forName("com.mysql.jdbc.Driver");  
   9.             String driver = "jdbc:mysql://localhost/cursojasper";  
  10.             Connection con = DriverManager.getConnection(driver, "root", "1234");  
  11.             return con;  
  12.         } catch (Exception e) {  
  13.             e.printStackTrace();  
  14.         }  
  15.         return null;  
  16.     }  
  17. }
Criado 11 de maio de 2010
Ultima resposta 11 de mai. de 2010
Respostas 2
Participantes 2