Tou criando o seguinte servlet:
[code]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);
}
}[/code]
Chamo ele no meu Page.jsp assim:
[code] 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;
}[/code]
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