Code: Select all
package controllers;
import java.io.FileOutputStream;
import java.io.File;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import beans.UserBean;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.general.Dataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class GenericVerticalChartController extends HttpServlet
{
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
HttpSession session = request.getSession();
UserBean user = (UserBean)session.getAttribute("user");
if ( user instanceof UserBean)
{
}
else
{
user = new UserBean();
user.setUserId( request.getParameter("userId") );
session.setAttribute("user", user);
}
/*
UserBean user = new UserBean();
user.setUserId( request.getParameter("userId") );
*/
double[][] data = new double[][] {
{1.0, 43.0, 35.0, 58.0, 54.0, 77.0, 71.0, 89.0},
{54.0, 75.0, 63.0, 83.0, 43.0, 46.0, 27.0, 13.0},
{41.0, 33.0, 22.0, 34.0, 62.0, 32.0, 42.0, 34.0}
};
CategoryDataset dataset = DatasetUtilities.createCategoryDataset("Series ", "Factor ", data);
JFreeChart chart = ChartFactory.createBarChart(
"Bar Chart Demo 2", // chart title
"Category", // domain axis label
"Score (%)", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true,
false
);
response.setContentType("image/jpeg");
/*
* Write JPEG Image to Servlet OutputStream
*/
ChartUtilities.writeChartAsJPEG( response.getOutputStream(), chart, 765, 300);
//response.getOutputStream().flush();
//response.getOutputStream().close();
return;
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
doPost(request, response);
}
}
I use it in my JSP like this...
<img src="${pageContext.request.contextPath}/generateverticalchart.do">
Any help would be appreciated. Thanks!
[/code]