Problema com o JasperReports

0 respostas
V

Fala galera, blz?

Seguinte…fiz o relatório no Ireport…e ele rodo blz ate ai…dai criei um servlet q abre esse relatório.

Segue o trecho do código…

######################################################################################################

Servlet Relatorios

protected void doPost(HttpServletRequest request,

              HttpServletResponse response) throws ServletException, IOException { 

        HashMap params = new HashMap();

        String jasper = request.getContextPath() 

                    + "/relatorios/Rel_Funcionarios.jasper" ;

        OutputStream ops = null ; 

        String host = "http://" + request.getServerName() + ":" 

                    + request.getServerPort(); 

        URL jasperURL = new URL(host + jasper); 



        try {

              response.setContentType( CONTENT_TYPE_PDF ); 



              byte [] bytes = JasperRunManager.runReportToPdf(jasperURL 

                          .openStream(), params, PoolConexao.obtemConexao ());



              if (bytes != null ) {

                    ops = response.getOutputStream(); 

                    ops.write(bytes); 

              }



        } catch (ClassNotFoundException e) { 

              e.printStackTrace(); 

        } catch (SQLException e) { 

              e.printStackTrace(); 

        } catch (JRException e) { 

              e.printStackTrace(); 

        } finally {

              if (ops != null ) {

                    ops.flush(); 

                    ops.close(); 

              }

              try {

                    PoolConexao.devolveConexao(); 

              } catch (ClassNotFoundException e) { 

                    e.printStackTrace(); 

              } catch (SQLException e) { 

                    e.printStackTrace(); 

              }

        }



  }

######################################################################################################

PoolConexao.java

private PoolConexao() throws ClassNotFoundException, SQLException { 

    try {

        String url = "jdbc:mysql://localhost:3306/net" ; 

        String usuario = "user" ;

        String senha = "user" ;

        

        Class.forName( "com.mysql.jdbc.Driver" ); 

        conexao = DriverManager.getConnection(url, usuario, senha);

        

    } catch (SQLException ex) { 

        System. err .println( "SQLException: " + ex.getMessage()); 

    } catch (Exception e) {

        System. err .println( "Problemas ao tentar conectar com o banco de dados" ); 

    }

}



public static Connection obtemConexao() throws ClassNotFoundException, SQLException {

    if ( conexao == null) {

        poolConexao = new PoolConexao(); 

    }

    return conexao;

}



public static void devolveConexao() throws ClassNotFoundException, SQLException { 

    poolConexao = null ;

    conexao.close();

}

######################################################################################################

Daí quando chamo no browser o servlet Relatórios ele mostra o seguinte erro:

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException

net.sf.jasperreports.engine.JRPropertiesMap.getPropertyNames(JRPropertiesMap.java:90)

    net.sf.jasperreports.engine.util.JRProperties.getProperties

(JRProperties.java:502)
net.sf.jasperreports.engine.fill.JRBaseFiller
.(JRBaseFiller.java
:405)

net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:77)

    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:59)

net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)

net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:57)


    net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)

    net.sf.jasperreports.engine.JasperFillManager.fillReport

(JasperFillManager.java:363)
net.sf.jasperreports.engine.JasperRunManager.runReportToPdf
(JasperRunManager.java
:242)

br.com.usimcol.intranet.relatorios.Relatorios.doPost

(Relatorios.java:54)
br.com.usimcol.intranet.relatorios.Relatorios.doGet(Relatorios.java

:36)

javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service

(HttpServlet.java:802)

br.com.usimcol.intranet.servlets.Controller.doPost(Controller.java:152)


    br.com.usimcol.intranet.servlets.Controller.doGet(Controller.java:30)

    javax.servlet.http.HttpServlet.service

(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.


Apache Tomcat/5.5.12

Alguem poderia me ajudar?
Nao consigo ver o erro no meu servlet!

Valeu d+!
Muito Obrigado.

Vinicius

Criado 2 de outubro de 2007
Respostas 0
Participantes 1