Até que por para funcionar na Web é fácil.O problema são os detalhes.(como isolar as jsp´s por exemplo).Olha um exemplo simples de JFreeChart na web:
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
public class ServletGrafico extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
OutputStream out = response.getOutputStream();
try{
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(10.8, "Sun", "Quadrimestre 1");
dataset.addValue(7.0, "Sun", "Quadrimestre 2");
dataset.addValue(15.0, "Sun", "Quadrimestre 3");
dataset.addValue(-5.0, "Apple", "Quadrimestre 1");
dataset.addValue(-7.2, "Apple", "Quadrimestre 2");
dataset.addValue(14.0, "Apple", "Quadrimestre 3");
dataset.addValue(6.4, "IBM", "Quadrimestre 1");
dataset.addValue(17.9, "IBM", "Quadrimestre 2");
dataset.addValue(-12.3, "IBM", "Quadrimestre 3");
dataset.addValue(7.1, "EDS", "Quadrimestre 1");
dataset.addValue(15.6, "EDS", "Quadrimestre 2");
dataset.addValue(13.5, "EDS", "Quadrimestre 3");
dataset.addValue(-8.1, "Micosoft", "Quadrimestre 1");
dataset.addValue(-6.3, "Micosoft", "Quadrimestre 2");
dataset.addValue(10.8, "Micosoft", "Quadrimestre 3");
JFreeChart chart = ChartFactory.createBarChart3D("Faturamento no ano (em R$ Milhões)",
"Empresas:", "Valor Faturado(Em relação ao ano anterior)", dataset, PlotOrientation.VERTICAL,
true, true, false);
response.setContentType("image/jpeg");
ChartUtilities.writeChartAsJPEG(out, chart, 640, 480);
}catch (Exception e) {
System.err.println(e.toString());
}finally {
out.close();
}
}
}
Depois é só fazer um web.xml:
[code]
<?xml version=“1.0” encoding=“ISO-8859-1”?>
<!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” “http://java.sun.com/dtd/web-app_2_3.dtd”>
<web-app>
<servlet><servlet-name>ServletGrafico</servlet-name>
<servlet-class>ServletGrafico</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletGrafico</servlet-name>
<url-pattern>/ServletGrafico</url-pattern>
</servlet-mapping>
</web-app>[/code]
E roda 100%! 