Navegador abri o relatorio

galera preciso de uma ajuda, [code] public void pdf() throws JRException, IOException {

    List<Setor> listOfSetor = (List<Setor>) dao.getList();
    JRBeanCollectionDataSource beanCollectionDataSource = new JRBeanCollectionDataSource(listOfSetor);
    String reportPath= FacesContext.getCurrentInstance().getExternalContext().getRealPath("/relatorios/report.jasper");
     
    JasperPrint jasperPrint = JasperFillManager.fillReport(reportPath, new HashMap(),beanCollectionDataSource);
     HttpServletResponse httpServletResponse = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();  
    httpServletResponse.addHeader("Content-disposition", "attachment; filename=report.pdf");  
    ServletOutputStream servletOutputStream = httpServletResponse.getOutputStream();  
    JasperExportManager.exportReportToPdfStream(jasperPrint, servletOutputStream);  
    FacesContext.getCurrentInstance().responseComplete();[/code]

esse seguinte codigo gera o pdf e disponibiliza para download, alguem poderia me explicar como fazer para abrir no proprio navegador ?

desde ja abraço

eu uso assim :

[code] public static void startrelatorio(InputStream reportStream, HttpServletResponse response, Map<String, Object> map, JRBeanCollectionDataSource fonteDados) throws JRException, IOException {
byte[] bytes = JasperRunManager.runReportToPdf(reportStream, map,
fonteDados);

    response.setContentLength(bytes.length);
    ServletOutputStream servletStream = response.getOutputStream();
    servletStream.write(bytes, 0, bytes.length);
    servletStream.flush();
    servletStream.close();
    FacesContext.getCurrentInstance().responseComplete();

}[/code]

[quote=evandro_araujo]eu uso assim :

[code] public static void startrelatorio(InputStream reportStream, HttpServletResponse response, Map<String, Object> map, JRBeanCollectionDataSource fonteDados) throws JRException, IOException {
byte[] bytes = JasperRunManager.runReportToPdf(reportStream, map,
fonteDados);

    response.setContentLength(bytes.length);
    ServletOutputStream servletStream = response.getOutputStream();
    servletStream.write(bytes, 0, bytes.length);
    servletStream.flush();
    servletStream.close();
    FacesContext.getCurrentInstance().responseComplete();

}[/code][/quote]

Cara adptei o codigo, olha se pode me ajudar com esse erro que está dando

[code] public void pdf2() throws JRException, IOException {

    List<Setor> listOfSetor = (List<Setor>) dao.getList();
    JRBeanCollectionDataSource fonteDados = new JRBeanCollectionDataSource(listOfSetor);
    Map<String, Object> map = new HashMap();
    InputStream reportStream = getClass().getResourceAsStream("./relatorios/todosSetores.jasper");
    

    HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();

    byte[] bytes = JasperRunManager.runReportToPdf(reportStream, map,
            fonteDados);

    response.setContentLength(bytes.length);
    ServletOutputStream servletStream = response.getOutputStream();
    servletStream.write(bytes, 0, bytes.length);
    servletStream.flush();
    servletStream.close();
    FacesContext.getCurrentInstance().responseComplete();
}[/code]

Caused by: java.lang.NullPointerException
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2283)
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2296)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798)
at java.io.ObjectInputStream.(ObjectInputStream.java:298)
at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.(ContextClassLoaderObjectInputStream.java:58)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:244)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:229)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:632)
at net.sf.jasperreports.engine.JasperRunManager.runToPdf(JasperRunManager.java:466)
at net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:875)
at br.com.sistema_servicos.bean.SetorBean.pdf2(SetorBean.java:155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:779)
at javax.el.BeanELResolver.invoke(BeanELResolver.java:528)
at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:257)
at com.sun.el.parser.AstValue.invoke(AstValue.java:248)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
… 61 more

Abaixo todos as variaveis estão preenchidas ???

 byte[] bytes = JasperRunManager.runReportToPdf(reportStream, map,  
               fonteDados);  
  

[quote=evandro_araujo]Abaixo todos as variaveis estão preenchidas ???

[code]
byte[] bytes = JasperRunManager.runReportToPdf(reportStream, map,
fonteDados);

[/code][/quote]

menos a map, apenas instanciei da seguinte maneira, pois nao tenho parametros para passa,

Tenta passar um parametro no seu mapa…para testar, acho que pode ser isso o problema .

abc