web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>
org.jfree.chart.servlet.DisplayChart
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/DisplayChart</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>JFreeChart</servlet-name>
<servlet-class>test.JFreeChartServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JFreeChart</servlet-name>
<url-pattern>/JFreeChart</url-pattern>
</servlet-mapping>
</web-app>
------------------------------------------------
JFreeChartServlet
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("初级程序员", 10000);
dataset.setValue("中级程序员", 23000);
dataset.setValue("高级程序员", 10000);
dataset.setValue("项目经理", 6000);
dataset.setValue("系统分析师", 6000);
dataset.setValue("软件架构师", 3000);
dataset.setValue("其他", 10000);
JFreeChart chart = ChartFactory.createPieChart3D("IT行业职业分布图",dataset, true, false, false);
PiePlot3D plot = (PiePlot3D) chart.getPlot();
plot.setStartAngle(150D);
plot.setDirection(Rotation.CLOCKWISE);
plot.setForegroundAlpha(0.5F);
plot.setNoDataMessage("无数据显示");
plot.setCircular(true);
plot.setLabelGenerator(new StandardPieSectionLabelGenerator("{0}:{1}={2}"));
//第一种 session方式
//String fileName = ServletUtilities.saveChartAsPNG(chart, 700, 400,
// null, request.getSession());
//String graphURL = request.getContextPath() + "/DisplayChart?filename=" + fileName;
//request.setAttribute("url", graphURL);
//request.getRequestDispatcher("index.jsp").forward(request, response);
//第二种 流输出方式
ChartUtilities.writeChartAsJPEG(response.getOutputStream(),chart,500,300);
}
-----------------------------------------------------------
jsp
//第一种 session方式
<%@ page contentType="text/html;"%>
<img src="<%=request.getAttribute("url")%>">
/第二种 流输出方式
<%@ page contentType="image/jpeg;"%>
<img src="<%=request.getContextPath()%>/JFreeChart">
流输出方式怎么不显示?
大家来看看
关于JFreeChart 生成图片
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
10条回答 默认 最新
- 拽拽的初行者 2010-02-20 16:33关注
那就是:
[code="java"]response.setContentType("image/jpeg"); [/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 Qt下使用tcp获取数据的详细操作
- ¥15 idea右下角设置编码是灰色的
- ¥15 全志H618ROM新增分区
- ¥20 jupyter保存图像功能的实现
- ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
- ¥15 NAO机器人的录音程序保存问题
- ¥15 C#读写EXCEL文件,不同编译
- ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
- ¥15 扩散模型sd.webui使用时报错“Nonetype”
- ¥15 stm32流水灯+呼吸灯+外部中断按键