📄 chartdemoservlet.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 + -