JfreeChart的简单应用

1.在web project 中加入jar
jcommon-1.0.16.jar
jfreechart-1.0.13.jar

2.在web中配置 JfreeChart

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<servlet>
<servlet-name>jcPie</servlet-name>
<servlet-class>com.sh.servlet.jcPie</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>jcPie</servlet-name>
<url-pattern>/servlet/jcPie</url-pattern>
</servlet-mapping>

<!--配置 JfreeChart-->
<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>

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>



3.编写 jcPie servlet

package com.sh.servlet;
import java.awt.Font;
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.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.general.DefaultPieDataset;


public class jcPie extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置 饼图默认的数据集
DefaultPieDataset dataset=new DefaultPieDataset();
dataset.setValue("古典名著", 0.3);
dataset.setValue("青春校园", 0.1);
dataset.setValue("儿童读物", 0.3);
dataset.setValue("异国风情", 0.1);
dataset.setValue("报刊杂志", 0.2);

JFreeChart chart=ChartFactory.createPieChart3D("图书销量", dataset, true, true, false);

PiePlot pieplot=(PiePlot) chart.getPlot();
//定义一个饼图对象
pieplot.setLabelFont(new Font("宋体",0,12));

TextTitle txtTitle=null;
txtTitle=chart.getTitle();
Font font=new Font("宋体",Font.BOLD,16);
txtTitle.setFont(font);
chart.getLegend().setItemFont(font);

//表示在web服务器 临时目录中生成一个图片
String filename=ServletUtilities.saveChartAsPNG(chart, 450, 300, null,request.getSession());
String graphURL=request.getContextPath()+"/DisplayChart?filename="+filename;
System.out.println(graphURL);
request.setAttribute("imgURL", graphURL);
this.getServletContext().getRequestDispatcher("/pie.jsp").forward(request, response);

}
}


4.index.jsp 做请求 到jfpie servlet 然后转发到 pie.jsp
index.jsp

<body onload="window.location.href='${pageContext.request.contextPath}/servlet/jcPie'">
</body>


pie.jsp

<body>
<img alt="pie" src="${imgURL}">
</body>


5.访问 http://localhost:8083/JfreeChart/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值