Olá senhores,
estou com um problema na minha classe q chama um relatório.
ps. essa classe foi criada pela celia colega aqui do guj, pedi p/ mandar uma funcionando p/ mim ai ela mandou adaptei p/ k e deu arquivo nulo sendo q estou passando o local correto do relatorio.
segue codigo:
import br.gov.treap.util.Conexao;
import java.io.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.util.JRLoader;
/**
* Servlet implementation class ServletDepartamento
*/
public class RelatorioTeste extends HttpServlet
{
private static final long serialVersionUID = 1L;
private Connection con = null;
protected void processRequest (HttpServletRequest request, HttpServletResponse response)
throws Exception
{
con = Conexao.getConnection();
try
{
//ServletContext context = getServletContext();
byte[] bytes = null;
try {
//JasperReport relatorioJasper = (JasperReport) JRLoader.loadObject(context.getRealPath("./relatorios/relatorio.jasper"));
JasperReport relatorioJasper = (JasperReport) JRLoader.loadObject("C:\\DESENVOLVIMENTO\\PROJETOS\\cieAdmChamado2\\web\\relatorios\\relatorio.jasper");
Map<String, Object> params = new HashMap<String, Object>();
//params.put("DATA", dataServidor);
//params.put("MES_ANO_INI", dataInicial);
//params.put("MES_ANO_FIM", dataFinal);
//params.put("OBSERVACOES", "NÃO CONSTA AS DESPESAS GERADAS COM MATERIAIS DE ORTESE E PROTESE");
//bytes = JasperRunManager.runReportToPdf(relatorioJasper, params, ds);
bytes = JasperRunManager.runReportToPdf(relatorioJasper, params, Conexao.getConnection());
}
catch (JRException e)
{
e.printStackTrace();
}
if (bytes != null && bytes.length > 0)
{
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
//gerou = true;
}
}
catch (Exception e)
{
PrintWriter out = response.getWriter();
out.println("<HTML><BODY><h2>");
out.println("ERRO: <BR><span style=\"color: #FF0000\">");
out.println(e.getMessage());
out.println("</span></h2><BODY><HTML>");
e.printStackTrace();
}
finally
{
//PrintWriter out = response.getWriter();
//out.close();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
try
{
this.processRequest(request, response);
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
try
{
this.processRequest(request, response);
}
catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
espero pela ajuda dos senhores
abraço