package com.bjsxt.servlet;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.jfree.chart.ChartFactory;import org.jfree.chart.JFreeChart;import org.jfree.chart.servlet.ServletUtilities;import org.jfree.data.general.DefaultPieDataset;import org.jfree.data.general.PieDataset;import com.bjsxt.util.ChartUtil;/** * 后台程序 * img 标签中的src属性的值 需要在作用域中获取 * 将img标签中src属性的值存放到作用域中 * @author zhangpanpan * * servlet{ * 1.配置 Anno 注解 出错 webserive * 2.extends HttpServlet * 3.重写service方法 * 4.设置编码集合 */@WebServlet("/rf")public class PieServlet extends HttpServlet{/** * 定义其版本号 */private static final long serialVersionUID = 1L;@Overrideprotected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//设置编码格式 set 设置 get 获取 remove 删除request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");//获取作用域HttpSession session=request.getSession();//需要饼图,饼图还需要存放数据JFreeChart chart=createPieChart(createPieDs());System.out.println("chart:"+chart);//将img标签中src属性的值存放到作用域中 图片的路径//获取图片的名称String fileName=ServletUtilities.saveChartAsPNG(chart, 600,500,session);System.out.println(fileName);//url地址String graphURL=request.getContextPath()+"/dc?filename="+fileName;//存放作用域session.setAttribute("graphURL", graphURL);//跳转页面request.getRequestDispatcher("index.jsp").forward(request,response);}/** * 创建饼图对象 * @param createPieDs * @return */ private JFreeChart createPieChart(PieDataset createPieDs) {JFreeChart chart=ChartFactory.createPieChart("从事行业分析",createPieDs,true, true, false);//美化ChartUtil.beautifulPieChart(chart);return chart;}/** * 用来给创建的饼图对象提供数据 * @returnv 存放数据 */private PieDataset createPieDs() {//创建默认的数据集合DefaultPieDataset dataset=new DefaultPieDataset();//给dataset对象中存放数据dataset.setValue("IT与通讯业",15);dataset.setValue("房地产",25);dataset.setValue("金融证券",8);dataset.setValue("商贸业",12);dataset.setValue("医药食品业",8);dataset.setValue("石油化工业",12);dataset.setValue("旅游交通",7);dataset.setValue("其他",13);return dataset;}}
JavaWeb饼图的做法
最新推荐文章于 2023-03-24 15:04:56 发布