jfreechart 输出图片的怪异问题
折腾了一天没找到原因,大家帮帮忙啊。
我用servlet直接输出,写了个demo.jsp <img src="chart/PieServlet" >
servlet都已经执行,也没有报错,但是就是出不来图
package com.baosight.servlet;
import java.io.IOException;
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.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
public class PieServlet extends HttpServlet {
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
try{
response.setContentType("image/jpeg");
JFreeChart chart = createChart(createDataset());
ChartUtilities.writeChartAsJPEG(response.getOutputStream(),chart,300,400);
//response.getOutputStream().flush();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
private static PieDataset createDataset()
{
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue(" 市场前期", new Double(10));
dataset.setValue(" 立项", new Double(15));
dataset.setValue(" 计划", new Double(10));
dataset.setValue(" 需求与设计", new Double(10));
dataset.setValue(" 执行控制", new Double(35));
dataset.setValue(" 收尾", new Double(10));
dataset.setValue(" 运维",new Double(10));
return dataset;
}
private static JFreeChart createChart(PieDataset piedataset)
{
JFreeChart jfreechart = ChartFactory.createPieChart("Pie Chart Demo 1", piedataset, true, false, false);
return jfreechart;
}
}