Enviado por menchok el día 12 de mayo de 2004
Hola, estoy intentando ejecutar un ejemplo con jfreechart, tengo los dos .jar necesarios en la carpeta lib y en el claspath. Me compila bien pero a la hora de ejecutar en un navegador me da el siguiente error:
java.lang.NoClassDefFoundError
at org.jfree.chart.ChartFactory.createXYLineChart(ChartFactory.java:1194)
at org.jfree.chart.ChartFactory.createLineXYChart(ChartFactory.java:1737)
at ejemploGraficasServlet.crearChart(ejemploGraficasServlet.java:37)
at ejemploGraficasServlet.processRequest(ejemploGraficasServlet.java:70)
at ejemploGraficasServlet.doGet(ejemploGraficasServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
El codigo del ejemplo es este:
/*
* ejemploGraficasServlet.java
*
* Created on 10 de agosto de 2003, 14:25
*/
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.jfree.data.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
/**
*
* @author Roberto Canales
* @version
*/
public class ejemploGraficasServlet extends HttpServlet
{
public JFreeChart crearChart()
{
XYSeries series = new XYSeries("Evolucion Sesiones");
series.add(1, 23);
series.add(2, 34);
series.add(3, 51);
series.add(4, 67);
series.add(5, 89);
series.add(6, 121);
series.add(7, 137);
XYDataset juegoDatos= new XYSeriesCollection(series);
JFreeChart chart = ChartFactory.createLineXYChart("Sesiones en Adictos al Trabajo",
"Meses", "Sesiones", juegoDatos,
PlotOrientation.VERTICAL,
true,true,true
);
return chart;
}
int getParamEntero(HttpServletRequest request,String pNombre, int pDefecto)
{
String param = request.getParameter(pNombre);
if (param == null || param.compareTo("") == 0)
{
return pDefecto;
}
return Integer.parseInt(param);
}
/** Processes requests for both HTTP GET and POST methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");
OutputStream salida = response.getOutputStream();
JFreeChart grafica = crearChart();
int ancho = getParamEntero(request,"ancho",400);
int alto = getParamEntero(request,"alto",300);
ChartUtilities.writeChartAsJPEG(salida,grafica,ancho,alto);
salida.close();
}
/** Handles the HTTP GET method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
Muchas gracias y un saludo.
Re: Problemas con JFreeChart
Enviado por menchok el día 12 de mayo de 2004
Ya he conseguido que me funcione.
Re: Re: Problemas con JFreeChart
Enviado por Harold el día 13 de mayo de 2004
Disculpeme, es que tengo un problema con las graficas no me cargan en el servidor ya tengo el Xvfb pero nada miro el catalina.out y sale algo como connection refused si me puedes colaborar te agradezco
Re: Re: Problemas con JFreeChart
Enviado por tecpa el día 4 de junio de 2004
tengo graficas de hostigrama en 2 y 3 dimensiones
¿ te interesa intercambiar código fuente ?
Re: Re: Problemas con JFreeChart
Enviado por ima el día 10 de mayo de 2008
Como lo has conseguido??? yo tambien tengo el problema ese.