cara, eu to com essa aplicacao que eu tava fazendo localmente usando o tomcat 5.5 quando eu passei para uma outra maquina usando o tomcat 6.0 ela nao ta funcionando mais.
a aplicacao esta gerando um relatorio (usando jasper e ireport) recebendo algums parametros de uma pagina web. eu vou colocar aqui o codigo da clase que ta gerando o relatorio.
[code]package seplag.bernardo.sra.relatorios;
import java.io.IOException;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import seplag.bernardo.jdbc.dao.DAO;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
public class RelatorioAtendimentoSistema extends HttpServlet {
private static final long serialVersionUID = 2381102100281964725L;
@SuppressWarnings("unchecked")
protected void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
DAO dao = null;
try {
dao = new DAO();
} catch (SQLException e1) {
e1.printStackTrace();
} catch (InstantiationException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
e1.printStackTrace();
}
/**
/
String pathJasper = getServletContext().getRealPath(
“/WEB-INF/classes/seplag/bernardo/sra/relatorios/”) + “/”;
/*
/
String path = getServletContext().getRealPath("/");
/*
/
Map parametros = new HashMap();
/*
-
SUBREPORT_DIR é passado para o formulário compilado, esse parâmetro é usado
-
na chamada dos sub-relatórios dentro do relatório principal
*/
parametros.put(“SUBREPORT_DIR”, pathJasper);
parametros.put(“IMAGES_URI”, pathJasper);
/**
-
DATA1 e DATA2 são mais 2 parêmetros em Relatorio_AtendimentoSistema. O relatório
-
exibe os chamados de atendimento por sistema dentro de um intervalo. DATA1 guarda
-
o valor do começo do intervalo e DATA2 guarda o valor do fim do mesmo.
/
parametros.put(“DATA1”, req.getParameter(“dataInicial”));
System.out.println(req.getParameter(“dataInicial”));
parametros.put(“DATA2”, req.getParameter(“dataFinal”));
System.out.println(req.getParameter(“dataFinal”));
/*
-
O relatório é formado em impressao, passado os devidos parâmetros.
-
O .pdf é gerado usando JasperExportManager
-
Por ultimo, a classe redireciona a aplicaçao para o relatório formado.
*/
try {
JasperPrint impressao = JasperFillManager.fillReport(pathJasper +
“/RelatorioAtendimentoSistema.jasper”, parametros, dao.getConnection());
JasperExportManager.exportReportToPdfFile(impressao,
path + "/Relatorio/RelatorioAtendimentoSistema.pdf");
res.sendRedirect("RelatorioAtendimentoSistema.pdf");
} catch (Exception e) {
res.getWriter().println("Erro ao gerar o relatorio: " + e);
}
try {
dao.connectionClose();
} catch (SQLException e) {
e.printStackTrace();
}
}
}[/code]
to passando o parametro da data
[code]<%@ page language=“java” pageEncoding=“UTF-8”%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<title>Atendimento x Sistema</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
[/code]
ta aqui o formulario que ta mandando para a action lah em cima.
nessas linhas:
parametros.put(“DATA1”, req.getParameter(“dataInicial”));
System.out.println(req.getParameter(“dataInicial”));
parametros.put(“DATA2”, req.getParameter(“dataFinal”));
System.out.println(req.getParameter(“dataFinal”));
to dando o put … no relatorio eu criei os parametros DATA1 e DATA2