Ola pessoal, eu ja tenho varios servlets que envio strnig para relatorios feiros em ireport com o seguinte codigo.
Porem para esse novo, eu preciso passar date, so que quando uso dateformat para formatar a string vinda do servlet ele da um erro.
Segue o servlet sem o date format
package vendas;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.util.JRLoader;
//import org.jfree.chart.servlet.ServletUtilities;
public class RelaGeral extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String _data = request.getParameter("data");
Connection conn = null;
try {
Class.forName("org.firebirdsql.jdbc.FBDriver");
conn = DriverManager.getConnection(
"jdbc:firebirdsql:bbrasil.ddns.com.br/3050:C://banco//BD.FDB?defaultResultSetHoldable=True", // 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 DriverManagerrrr: "
+ e.getMessage());
}
// gera o relat�rio
ServletContext context = getServletContext();
byte[] bytes = null;
try {
// carrega os arquivos jasper
JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(
context.getRealPath("relatorios/vendas/Recibovd.jasper"));
// par�metros, se houverem
Map parametros = new HashMap();
parametros.put("Codig", _data);
parametros.put("SUBREPORT_DIR", "vendas/");
// 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.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
}
}
o erro que da quando insiro dateformat
[code]HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.IllegalArgumentException
java.sql.Date.valueOf(Unknown Source)
vendas.RelaGeral.doGet(RelaGeral.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.16 logs.
[/code]