jfreechart 输出图片的怪异问题

accela 2008-08-03 10:45:30
折腾了一天没找到原因,大家帮帮忙啊。
我用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;
}


}
...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
benben002 2008-08-04
  • 打赏
  • 举报
回复
可能就是流出的问题
benben002 2008-08-04
  • 打赏
  • 举报
回复
web项目已经不会了

把你代码大概改了下,能生成图片,希望能对你有帮助。

import java.io.FileOutputStream;

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 {
public void service()
{
try
{
//
FileOutputStream outputStream = new FileOutputStream("c:\\1.jpg");
JFreeChart chart = createChart(createDataset());
ChartUtilities.writeChartAsJPEG(outputStream, chart, 300, 400);
//response.getOutputStream().flush();
} catch (Exception ex)
{
ex.printStackTrace();
}
}

private static PieDataset createDataset()
{

DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue(" 1", new Double(10));
dataset.setValue(" 2", new Double(15));
dataset.setValue(" 3", new Double(10));
dataset.setValue(" 4", new Double(10));
dataset.setValue(" 5", new Double(35));
dataset.setValue(" 6", new Double(10));
dataset.setValue(" 7", 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;
}

public static void main(String arg[])
{
new PieServlet().service();
System.out.println("Ok");

}

}

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧