//创建饼型servlet
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
/**
* 演示通过servlet直接输出图表
* @author Winter Lau
*/
public class ChartDemoServlet extends HttpServlet {
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
);
ChartUtilities.writeChartAsJPEG(res.getOutputStream(),
100,chart,400,300,null);
}
/**
* 获取一个演示用的简单数据集对象
* @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;
}
}
//创建柱型servlet
import java.io.IOException;
import java.io.PrintWriter;
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.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
public class postservlet extends HttpServlet {
/**
* Constructor of the object.
*/
public postservlet() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");
CategoryDataset dataset = getDataSet2();
JFreeChart chart = ChartFactory.createBarChart3D(
"水果产量图", // 图表标题
"水果", // 目录轴的显示标签
"产量", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
ChartUtilities.writeChartAsJPEG(response.getOutputStream(),
100,chart,400,300,null);
}
/** * 获取一个演示用的组合数据集对象 * @return */
private static CategoryDataset getDataSet2() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(500, "北京", "苹果");
dataset.addValue(100, "上海", "苹果");
dataset.addValue(100, "广州", "苹果");
dataset.addValue(200, "北京", "梨子");
dataset.addValue(200, "上海", "梨子");
dataset.addValue(200, "广州", "梨子");
dataset.addValue(300, "北京", "葡萄");
dataset.addValue(300, "上海", "葡萄");
dataset.addValue(300, "广州", "葡萄");
dataset.addValue(400, "北京", "香蕉");
dataset.addValue(400, "上海", "香蕉");
dataset.addValue(400, "广州", "香蕉");
dataset.addValue(500, "北京", "荔枝");
dataset.addValue(500, "上海", "荔枝");
dataset.addValue(500, "广州", "荔枝");
dataset.addValue(320, "山东", "蔬菜");
return dataset;
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
//别忘记把3个jfreechart的jar包引入
//创建index.jsp演示
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
This is my JSP page. <br>
<img src="./ChartDemoServlet"/>
<img src="./postservlet"/>
</body>
</html>
- 描述: 效果图
- 大小: 971.9 KB
分享到:
相关推荐
**JFreeChart** 是一个强大的Java库,它提供了多种类型的图表,包括折线图、柱状图、饼图、散点图等,可用于创建高质量的静态和动态图形。在本项目中,JFreeChart被用来生成根据后台数据定制的统计图表,以便用户...
JFreeChart 是一个流行的 Java 图形库,它提供了丰富的图表类型,如柱状图、饼图、线图、散点图等,用于生成高质量的静态图表以及动态和交互式的图表。在Java Web开发中,尤其是在Servlet环境下,JFreeChart 可以...
JFreeChart 是一个强大的开源 Java 图形库,它提供了丰富的图表类型,如柱状图、饼状图、曲线图等,用于数据可视化。在给定的文件中,我们看到的是 JFreeChart 库经过封装后的类,以及一个用于测试的 Servlet。这样...
其次,**jFreeChart** 是一个纯Java的图表库,它能够生成静态的二维图表,包括饼图、柱状图、线图、散点图等。jFreeChart适合在后端生成图像,然后传递到前端展示。在Java Web项目中,可以结合Servlet或JSP来实现...
JFreeChart是一款强大的Java库,用于创建各种类型的2D图表,包括饼图、柱状图、线图、散点图、甘特图等。这个压缩包"JFreeChart所有图形实例(Demo和源码).rar"包含了JFreeChart库的各种图形实例,提供了丰富的示例...
JFreeChart是一款开源的Java图表库,它提供了丰富的图表类型,包括柱状图、饼图、曲线图等,用于在Java应用程序和网页中展示数据。这个库的强大之处在于其灵活性和可定制性,允许开发者根据需求自定义图表样式,颜色...
JFreeChart是一个强大的Java库,用于创建各种图表,如饼图、柱状图、线图、散点图、甘特图等。它在IT行业中广泛应用于数据可视化,尤其是在需要将复杂的数据以图形化方式呈现的场景下。在这个“jfreechart案例”中,...
JFreeChart是一款强大的开源Java图表库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图、甘特图、时间序列图等,适用于各种数据分析和可视化需求。在本项目中,通过一个完整的Eclipse项目实例,我们将...
JFreeChart 是一个强大的Java库,用于生成高质量的2D图表,包括线图、柱状图、饼图、散点图、甘特图等多种类型的图表。它广泛应用于各种Java应用程序,如桌面应用、Web应用、服务器端应用等,特别是在数据可视化和...
- **3D 图表**:JFreeChart 支持 3D 效果,如 3D 柱状图和饼图,增加视觉吸引力。 - **交互式图表**:通过结合 JavaFX,可以创建响应用户交互的图表,如缩放、平移和鼠标悬停提示。 - **时间序列图表**:适用于...
复合图允许在一个图表上同时显示两种不同类型的图表,例如折线图和柱状图的组合。 ##### 2.14 开发远景 随着技术的发展,JFreeChart也在不断进步。未来版本将会引入更多高级功能和改进现有特性,以满足日益增长的...
下面通过一个具体的案例来介绍如何使用JFreeChart在JSP页面中生成柱状图。 1. **创建Web工程**:在 MyEclipse 中创建一个名为 `jfreechart` 的Web工程。 2. **添加JAR包**:将下载的 JFreeChart 1.0.6 版本 `lib` ...
- JFreeChart是一个开源的Java图表库,支持多种图表类型(如线图、柱状图、饼图等),并且提供了丰富的定制选项。 - 它具有高度可配置性,可以自定义图表的颜色、样式等属性。 - 支持多种输出格式,如SVG、PNG、...
JFreeChart 是一个流行的开源 Java 图形库,它提供了丰富的图表类型,包括柱状图、折线图、饼图、散点图、甘特图以及更多其他类型的图表。这个库对于在 Java 应用程序中创建高质量的数据可视化非常有用,无论是用于...
例如,一个简单的柱状图实例可能如下所示: ```java import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category....
它支持多种图表类型,包括柱状图、饼图、线图、散点图、甘特图以及复杂的金融图表等,广泛应用于报告、仪表盘和应用程序中。这个“JFreeChart 收藏全套实用资料”包含了一系列关于如何使用 JFreeChart 的资源,旨在...
首先,JFreeChart库提供了各种图表组件,如柱状图、饼图、线图、散点图等,可以满足我们展示不同类型数据的需求。在报表打印的场景中,我们通常会先根据业务需求选择合适的图表类型,然后利用JFreeChart提供的API...
JFreeChart库提供了丰富的图表类型,如柱状图、折线图、饼图、散点图、甘特图等,适用于数据分析、展示和报告。它支持自定义颜色、样式、标签,以及复杂的组合图表,使得开发者能够创建出满足各种需求的个性化图表。...