Problemas com geração de relatório no iReport

0 respostas
S
Tou criando o seguinte servlet:
protected void doPost(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {

    conexao(); // Faz a conexão

    String pathJasper = getServletContext().getRealPath(
                        "/classes/vamosreport/")
                        + "/";
    String path = getServletContext().getRealPath("/");
    
    Map parametros = new HashMap();
    parametros.put("tent1", "50");
    parametros.put("tent2", "2");

    try {
    
    // Aqui ele cria o relatório
    JasperPrint impressao = JasperFillManager.fillReport(pathJasper
                        + "TesteOra.jasper", parametros, con);
    // Grava o relatório em disco em pdf
    JasperManager.printReportToPdfFile(impressao, path
                        + "/RelatorioAlunos.pdf");
    // Redireciona para o pdf gerado
    res.sendRedirect("RelatorioAlunos.pdf");
    } catch (Exception e) {
        res.getWriter().println("Erro ao gerar o relatório: " + e);
    }
}

Chamo ele no meu Page.jsp assim:

public String button1_action() throws ServletException, IOException {
             FacesContext facesContext = FacesContext.getCurrentInstance();
            HttpServletRequest request = (HttpServletRequest) facesContext.getExternalContext().getRequest();
            HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
            Relatorio relatorio = new Relatorio();
            relatorio.doGet(request, response);

        return null;
    }
E no meu web.xml eu fiz:
<servlet>
        <servlet-name>RelatorioAlunos</servlet-name>
        <servlet-class>vamosreport.Relatorio</servlet-class>
        </servlet>
        <servlet-mapping>
        <servlet-name>RelatorioAlunos</servlet-name>
        <url-pattern>/RelAlunos</url-pattern>
        </servlet-mapping>

E tah dando o seguinte erro:
Caused by: java.lang.NullPointerException
at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:159)
at vamosreport.Relatorio.doPost(Relatorio.java:40)
at vamosreport.Relatorio.doGet(Relatorio.java:79)
at vamosreport.Page1.button1_action(Page1.java:217)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)

Alguém ai pode me ajudar a como resolver isso.. :(

[]`s

Criado 23 de abril de 2008
Respostas 0
Participantes 1