Relatório do Java para JSP

Boa tarde,

pessoal eu estou com uma dificuldade que é a seguinte:

Eu tenho um relatório que eu fiz usando o Ireport e o Jasper, ele funciona numa boa, mas agora eu tenho que disponibilizar este relatório em um sistama Web.

Veja o código do relatório:

[code]import dori.jasper.engine.*;
import dori.jasper.engine.JasperManager;
import dori.jasper.engine.JasperReport;
import dori.jasper.engine.JasperPrint;
import dori.jasper.view.JasperViewer;

import java.util.;
import java.util.HashMap;
import java.sql.
;
import java.io.*;

public class RelatorioCentros {

private static final String drive = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String url = "jdbc:odbc:GCM_Teste";
private static final String login = "gcmuadmi";
private static final String passwd = "Achiles";

public RelatorioCentros() {
}

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    
    
    try{
       
       Class.forName(drive);
       
       Connection con = DriverManager.getConnection(url,login,passwd);
       Statement stm = con.createStatement();
                  
       JasperPrint impressao = JasperManager.fillReport("/relatorio/RelatorioCentros.jasper",new HashMap(), con);       
       
      JasperViewer mostrar = new JasperViewer(impressao, true);
      
      mostrar.show();
   }
   catch(Exception e){
       System.out.print(e);
   }
    
    
    System.out.print("Foi");
    
}

}[/code]

Alguêm poderia me mostrar o mesmo código em uma página JSP?

Obrigado!

warley,

olhe os exemplos q vem com o proprio Jasper…
tem exemplos de relatorios em JSP e em Servlets tb…

ate mais

Eu consegui montar um ServLet que gera o relatório!!!

Mas está acontecendo uma coisa estranha que é a seguinte:

O meu sevlet consegue ler o arquivo .jasper e montar o arquivo .pdf mas quando chega no response.sendRedirect(“Relatorio.pdf”) aparece um código maluco! Mas quando eu vou até o diretório o arquivo .pdf está perfeito, com todos os campos do banco e tudo mais!

Veja o erro:

%PDF-1.4 %âãÏÓ 6 0 obj <> stream xœµ”Ájƒ@†ïûsL/vwÖÝ5^J“6…@ $ÞJÖ±$L¤ÏÛS_£»1µë ±"È ³ÿ|ÿ2üs2 ªóö„`Gng ˜®6dt¼“Çz …hW?„‚:œƒò<‡‹ò0§æ0=µä Mãý1ÏF¬úØT--ŸÂayyÕõšh%¥Ø!ù©Ú’U[£ÇÆçFS™Ævl&(W:t2ó³á_fÖAÛ®m˜kÒnCzš­Ó$ó¯p‚Geüìó-O£ETäi/'hsò¢<ýºëk†r‹™û^ü5é&ÿ*=‹°7¿ÂÂ?}øëÒÃl’ä6øŸMšô2Ám&þi‰$á–¨.=ȹžttfqt$V.Bô9LbÝšm®ž"°cDWæý¼š¾ ha {ìrs?6ÙæÅô]0éSås“eH©ÛÁö Ž€f endstream endobj 1 0 obj <> >> /MediaBox [0 0 595 842] >> endobj 8 0 obj [1 0 R /XYZ 0 854 0] endobj 5 0 obj <> /Widths [600 0 0 0 0 600 0 0 0 600 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 600 0 600 600 600 0 600 0 600 0 0 0 0 0 600 0 0 600 600 600 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600] >> endobj 4 0 obj <> /Widths [278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 667 667 0 0 0 611 0 0 0 0 0 0 833 0 0 667 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 556 500 0 556 278 556 0 222 0 0 0 0 0 556 0 0 333 0 0 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556] >> endobj 3 0 obj <> /Widths [250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 500 500 500 500 0 500 500 0 500 278 0 0 0 0 0 0 0 667 667 0 0 0 0 0 0 389 0 0 889 0 0 0 0 667 0 611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 444 0 0 0 0 0 0 278 0 500 500 0 0 333 389 278 500] >> endobj 2 0 obj <> endobj 7 0 obj <> endobj 9 0 obj <> endobj 10 0 obj <> endobj 11 0 obj <> endobj 12 0 obj <> endobj xref 0 13 0000000000 65535 f 0000000428 00000 n 0000002518 00000 n 0000001997 00000 n 0000001303 00000 n 0000000663 00000 n 0000000015 00000 n 0000002614 00000 n 0000000627 00000 n 0000002670 00000 n 0000002724 00000 n 0000002758 00000 n 0000002821 00000 n trailer <<89645e931e124c6b3c986fe97f651ef0>] /Root 11 0 R /Size 13 /Info 12 0 R >> startxref 2966 %%EOF 

veja o meu código:

[code]import javax.servlet.;
import javax.servlet.http.
;

import dori.jasper.engine.*;
import dori.jasper.engine.JasperManager;
import dori.jasper.engine.JasperReport;
import dori.jasper.engine.JasperPrint;
import dori.jasper.view.JasperViewer;

import java.util.;
import java.util.HashMap;
import java.sql.
;
import java.io.*;

public class testeServlet extends HttpServlet {

private static final String drive = "sun.jdbc.odbc.JdbcOdbcDriver";
private static final String url = "jdbc:odbc:GCM_Teste";
private static final String login = "gcmuadmi";
private static final String passwd = "Achiles";

String caminhoJasper = "/JRun4/servers/GcmFinal/default-ear/default-war/RelatorioCentros.jasper";
String caminhoPDF = "/JRun4/servers/GcmFinal/default-ear/default-war/";
String arquivoPDF = "RelatorioCentro.pdf";

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
            
    try{
                  
       Class.forName(drive);
       
       Connection con = DriverManager.getConnection(url,login,passwd);
       Statement stm = con.createStatement();
                 
       JasperPrint impressao = JasperManager.fillReport(caminhoJasper, new HashMap(), con);
       
       JasperManager.printReportToPdfFile(impressao, caminhoPDF + arquivoPDF);
       
       response.sendRedirect("/" + arquivoPDF);
       
   }
   catch(Exception e){
       System.out.print(e);
   }
    
    
}

}
[/code]

Alguêm sabe o porquê deste erro?

Obrigado!

acho q faltou setar o conteudo do response p/ PDF…senao ele faz essa zona ae mesmo…

Você poderia me mostrar como eu faço isto?

Valeu!

HAHAHAHAHAHAH,

consegui fazer!!! Ficou muito massa!!!

Eu não tinha feito em web ainda!!!

Era só iniciar o request veja:

response.setContentType("application/pdf");

Valeu!!!

:lol: :lol: :lol:

xo preguiça… :lol: :lol:

response.setContentType("application/pdf");

falow