⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chartdemoservlet.java

📁 jfreechart不错的教程例子谢谢!
💻 JAVA
字号:
package com.segsec.chart.servlet;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
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;

public class ChartDemoServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public ChartDemoServlet() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	public void service(ServletRequest req, ServletResponse res)
			throws ServletException, IOException {
		res.setContentType("image/jpeg");
		DefaultPieDataset data = getDataSet();
		JFreeChart chart = ChartFactory.createPieChart3D("水果产量图", data, true,false, false);

		//写图表对象到文件,参照柱状图生成源码
		//========================================================
		FileOutputStream fos_jpg = null;
		try {
			fos_jpg = new FileOutputStream("F:\\fruit.jpg");
			ChartUtilities.writeChartAsJPEG(fos_jpg,1.0f,chart,400,300,null);
			System.out.println("图表生成完毕!");
		} finally {
			try {
				fos_jpg.close();
			} catch (Exception e) {}
		}		
		//========================================================
		
		System.out.println("向浏览器端输出图表开始");
		ChartUtilities.writeChartAsJPEG(res.getOutputStream(),1.0f, chart, 400,300, null);
		System.out.println("向浏览器端输出图表结束");
	}

	/**
	 * Initialization of the servlet. <br>
	 * 
	 * @throws ServletException
	 *             if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
	}

	/**
	 * 获取一个演示用的简单数据集对象
	 * 
	 * @return
	 */
	private static DefaultPieDataset getDataSet() {
		DefaultPieDataset dataset = new DefaultPieDataset();
		dataset.setValue("苹果", 100);
		dataset.setValue("梨子", 200);
		dataset.setValue("葡萄", 300);
		dataset.setValue("香蕉", 400);
		dataset.setValue("荔枝", 500);
		return dataset;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -