[b]Não sei o que está acontecendo, eu criei um servlet tudo direito, mando gerar o relatorio.jasper, não mostra nenhum erro, e pra minha surpresa não me aparece nada no browser, me ajudem por favor, segue o código abaixo:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String[] vlParametro = request.getParameterValues("funcionario.jasper");
// obtém a conexão com o banco de dados
Connection conn = null;
try {
Class.forName("org.firebirdsql.jdbc.FBDriver");
conn = DriverManager.getConnection(
"jdbc:firebirdsql:127.0.0.1/3050:c://DTBCYBER.GDB", // coloque o IP se não for usado localhost
"SYSDBA", // mude para o nome do usuário do seu bd
"masterkey"); // mude para a senha deste usuário
} catch (Exception e) {
System.out.println("Erro ao obter conexao via DriverManager: "
+ e.getMessage());
}
// gera o relatório
ServletContext context = getServletContext();
byte[] bytes = null;
try {
// carrega os arquivos jasper
JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(
context.getRealPath("/WEB-INF/reports/funcionario.jasper"));
//context.getRealPath("C:/funcionario.jrxml"));
// parâmetros, se houverem
Map parametros = new HashMap();
// parametros.put("CD_SMLFUNCIONARIO", vlParametro[0]);
// direciona a saída do relatório para um stream
bytes = JasperRunManager.runReportToPdf(relatorioJasper,parametros,conn);
} catch (JRException e) {
e.printStackTrace();
}
if (bytes != null && bytes.length > 0) {
// envia o relatório em formato PDF para o browser
response.setContentType("application/pdf");
//response.setContentType("application/html");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
}