iteye_20747 2010-02-11 13:38
浏览 290
已采纳

关于JFreeChart 生成图片


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">





流输出方式怎么不显示?
大家来看看

  • 写回答

10条回答 默认 最新

  • 拽拽的初行者 2010-02-20 16:33
    关注

    那就是:
    [code="java"]response.setContentType("image/jpeg"); [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥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流水灯+呼吸灯+外部中断按键