boa noite,
está dando problema no meu tomcat quando eu tento gerar relatório em pdf…
estou utilizando o tomcat 6.0.16
a meu servlet é o seguinte…
package rh;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.<em>;
import net.sf.jasperreports.engine.</em>;
import org.apache.commons.beanutils.*;
import rh.DAOEmpresa;
import rh.Empresa;
import rh.Teste;
/**
- Servlet implementation class for Servlet: relGraficoIndividual
*/
public class relGraficoIndividual extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
public static Connection con;
Configuracao conf = new Configuracao();
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public relGraficoIndividual() {
super();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
conexao();
HttpSession session = request.getSession(true);
Usuario user = (Usuario)session.getAttribute("usuario");
if (user != null){
if (user.getStatus() != 4){
Projeto proj = (Projeto)session.getAttribute("projeto");
if (proj != null){
DAOEmpresa dEmp = new DAOEmpresa();
Empresa emp = null;
String pathJasper = getServletContext().getRealPath("/WEB-INF/classes/rh/")+"/";
String path = getServletContext().getRealPath("/");
Map parametros = new HashMap();
int codEmpresa;
int ciclo;
try{
codEmpresa = Integer.parseInt(request.getParameter("codEmpresa"));
}catch(Exception ex){
codEmpresa = 0;
}
try{
ciclo = Integer.parseInt(request.getParameter("ciclo"));
}catch(Exception ex){
ciclo = 0;
}
if (user.getStatus() == 3){
emp = dEmp.getEmpresaUsuario(codEmpresa,user.getCodigo());
}
else{
emp = dEmp.getEmpresaSupervisor(proj.getCodigo(),codEmpresa);
}
if (emp != null){
ArrayList array = new ArrayList();
Teste teste = new Teste();
teste.setNomeFantasia("a");
teste.setRanking("a");
teste.setRankingSegmento("d");
//emp.setRanking("1");
//emp.setRankingSegmento("1");
array.add(teste);
//parametros.put("empresa", emp.getNomeFantasia());
parametros.put("ciclo", ciclo);
//parametros.put("ranking", "1");
//parametros.put("rankingSegmento", "2");
//parametros.put("graficoSetor", null);
try{
JRDataSource jrDataSourse = new JRBeanArrayDataSource(array.toArray());
JasperPrint impressao = JasperFillManager.fillReport(pathJasper+"relGraficoIndividual.jasper", parametros,jrDataSourse);
JasperManager.printReportToPdfFile(impressao,path+"/rel/relGraficoIndividual.pdf");
//response.sendRedirect("relatorioIndividual.pdf");
response.sendRedirect("rel/relGraficoIndividual.pdf");
}catch(Exception e){
response.getWriter().println("Erro ao gravar o relatório: "+e);
}
}else{
response.getWriter().println("Empresa inexistente");
}
}else{
response.getWriter().println("Nenhum Projeto Selecionado");
}
}else{
response.getWriter().println("Usuário não possui privilégios");
}
}else{
response.getWriter().println("Usuário não está logado!");
}
}
public void conexao(){
try{
if ((con == null) || con.isClosed()){
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(conf.getBDRelatorio(),conf.getUsuarioRelatorio(),conf.getSenhaRelatorio());
}
}catch(Exception ex){
System.out.println("nõ foi possível conectar ao banco");
ex.printStackTrace();
}
}
}
e o erro no tomcat é o seguinte
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
root cause
java.lang.NoClassDefFoundError: org/apache/commons/beanutils/PropertyUtils
net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:115)
net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:100)
net.sf.jasperreports.engine.data.JRBeanArrayDataSource.getFieldValue(JRBeanArrayDataSource.java:90)
net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:814)
net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:778)
net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1417)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:111)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:891)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:814)
net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)
rh.relGraficoIndividual.doPost(relGraficoIndividual.java:104)
rh.relGraficoIndividual.doGet(relGraficoIndividual.java:49)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.ClassNotFoundException: org.apache.commons.beanutils.PropertyUtils
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
java.lang.ClassLoader.loadClassInternal(Unknown Source)
net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:115)
net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:100)
net.sf.jasperreports.engine.data.JRBeanArrayDataSource.getFieldValue(JRBeanArrayDataSource.java:90)
net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:814)
net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:778)
net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1417)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:111)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:891)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:814)
net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:517)
rh.relGraficoIndividual.doPost(relGraficoIndividual.java:104)
rh.relGraficoIndividual.doGet(relGraficoIndividual.java:49)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.16 logs.
Apache Tomcat/6.0.16
Agradecendo desde já
Tiago Zaniquelli