Dúvidas com JasperReport

Boa noite !!
Pessoal , estou com uma nova dúvida … Eu tenho uma aplicação Web e estou usando o jasper para geração de meus relatórios, eu consigo abrir com pdf , mas o problema é q ele gera um arquivo esm disco , e na verdade eu queria que fosse gerado em memória e exibido para o cliente o pdf sem ser no IE e sim direto no adobe… Se alguém souber me ajude…
Grato !!

[quote=Ivan_MV]Boa noite !!
Pessoal , estou com uma nova dúvida … Eu tenho uma aplicação Web e estou usando o jasper para geração de meus relatórios, eu consigo abrir com pdf , mas o problema é q ele gera um arquivo esm disco , e na verdade eu queria que fosse gerado em memória e exibido para o cliente o pdf sem ser no IE e sim direto no adobe… Se alguém souber me ajude…
Grato !![/quote]

Basta, ao invés de escrever em arquivo, escreva no objeto de resposta.

Exemplo:


    byte[] bytes = JasperRunManager.runReportToPdf(path, parametros, conexao);

    response.setContentType("application/pdf");
    response.setContentLength(bytes.length);

    OutputStream out = response.getOutputStream();
    out.write(bytes);
    out.flush();
    out.close(); 

Valeu pela resposta…
Vou tentar fazer e depois posto se deu certo…
Abç…

Opaa…
Eu acabei de testar seu código e ele funcionou , mais ele renderizou o relatório dentro da Jsp que chamou o servlet , gostaria de saber se teria como ele renderizar direto no Acrobat ou pelo menos renderizar em um popup…
Valeu …

Eu de novo…hehehe
Eu fiz uma alteração no cóidgo e consegui fazer com que le me perguntasse se queria salvar ou abrir o arquivo…
O código ficou assim:

    JREmptyDataSource jrData = new JREmptyDataSource();
    
    Map parametros = new HashMap();
    parametros.put("nome","");
    parametros.put("idade","");
    byte[] bytes = null;
    OutputStream ops = null;
    try {
        bytes = JasperRunManager.runReportToPdf("C:\\Documents and Settings\\Desktop\\IvanTeste\\Rel_Teste_Web.jasper", parametros, jrData);
    } catch (JRException ex) {
        ex.printStackTrace();
    }  
  
     if (bytes != null) {  
        ops = response.getOutputStream();  
        ops.write(bytes);  

      } 

    OutputStream out = response.getOutputStream();  
    out.write(bytes);  
    out.flush();  
    out.close();   

Valeu…