`

Jfreechart学习笔记6-Servlet创建Jfreechart的方法

阅读更多
数据库的内容
CATEGORY | VALUE
---------+------
London   | 54.3
New York | 43.4
Paris    | 17.9


import java.io.IOException;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

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.data.general.DefaultPieDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.data.jdbc.JDBCPieDataset;

public class PieServlet extends HttpServlet {
	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		try {
			//获得输出流
			OutputStream os = response.getOutputStream();
			//获得相于的数据对象
			DefaultPieDataset dataset = (DefaultPieDataset) this.readData();
			
			JFreeChart chart = ChartFactory.createPieChart("Test", dataset, true, true, false);
				response.setContentType("image/png");
				//写到输出流,并在页面上面显示
				ChartUtilities.writeChartAsPNG(os, chart, 800, 600);
				os.close();
		} catch (RuntimeException e) {
			e.printStackTrace();
		}
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		this.doGet(request, response);
	}
	/**
	 *  连结JDBC,并创建JDBCPieDataset对象返回
	 * @return
	 */
	private PieDataset readData() {
		//创建JDBCPieDataset对象
		JDBCPieDataset data = null;
		String url = "jdbc:mysql://127.0.0.1:3306/jfreechartdb";
		Connection con = null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			System.err.print("ClassNotFoundException: ");
		}
		try {
			con = DriverManager.getConnection(url, "root", "root");
			//把JDBCPieDataset对象和Connection关联
			data = new JDBCPieDataset(con);
			String sql = "select * from piedata;";
			//获得数据
			data.executeQuery(sql);
			con.close();
		} catch (SQLException e) {
			System.err.print("SQLException: ");
		} catch (Exception e) {
			System.err.print("Exception: ");
		}
		return data;
	}
}


同时还有其它对象JDBCCategoryDataset,JDBCXYDataset,对应的是条状和,坐标,用于封装相应的数据
分享到:
评论

相关推荐

    Jfreechart学习笔记3-简单Line图形创建

    在本篇“JFreeChart学习笔记3-简单Line图形创建”中,我们将深入探讨如何使用JFreeChart库在Java环境中创建基本的线性图表。JFreeChart是一个强大的、开源的Java图表库,它允许开发者轻松地生成各种类型的图表,包括...

    Jfreechart学习笔记1-简单Pie图形创建

    **JFreeChart学习笔记1 - 简单Pie图创建** 在Java开发中,我们经常需要展示数据,而饼图(Pie Chart)是一种常见的数据可视化工具,尤其适用于展示各项比例关系。JFreeChart是一个强大的开源Java图表库,它提供了...

    Jfreechart学习笔记2-简单bar图形创建

    3. 创建JFreeChart对象:使用`JFreeChart.createCategoryChart()`静态方法,指定图表标题、类别轴标签、值轴标签和Dataset。 4. 设置图表组件:你可以定制图表的外观,例如,添加图例、更改背景色等。 5. 创建...

    jfreechart1.0.3-demo-src

    "jfreechart1.0.3-demo-src" 是 JFreeChart 1.0.3 版本的演示源码,是理解并学习这个库的重要资源。 首先,"demo" 文件夹包含了 JFreeChart 的各种示例代码,这些代码展示了如何利用 JFreeChart 实现各种复杂的图表...

    jfreechart,jfreechart-1.0.13,jfreechart-1.0.13,jfreechart

    这个压缩包“jfreechart-1.0.13”包含了JFreeChart的完整版本,让我们一起深入探讨其核心功能和使用方法。 JFreeChart是Java中最优秀的绘图工具之一,它支持多种图表类型,包括折线图、柱状图、饼图、散点图、甘特...

    jfreechart-1.0.19

    1. **jfreechart-1.0.19-install.pdf**:这可能是安装或使用指南,详细介绍了如何将JFreeChart库集成到你的Java项目中,包括依赖管理和配置步骤,可能还包括示例代码和最佳实践。 2. **jfreechart-1.0.19-fx-...

    JFreeChart中文api (JFreeChart-1.0.5-Ch.chm)

    JFreeChart中文api (JFreeChart-1.0.5-Ch.chm) JFreeChart中文api (JFreeChart-1.0.5-Ch.chm)

    struts2-jfreechart-plugin-2.1.8.1.jar

    struts2-jfreechart-plugin-2.1.8.1.jar

    jfreechart-1.0.19-Demo-Source 源代码

    本篇将深入解析 `jfreechart-1.0.19-Demo-Source` 中的关键知识点。 1. **项目结构** - **jFreeChartDemo**: 这是 JFreeChart 的演示程序,包含了各种类型的图表示例,这些示例展示了如何创建和定制图表,是学习 ...

    jfreechart-0.9.21 jar包和jfreechart-0.9.21-demo

    jfreechart-0.9.21的jar包和jfreechart-0.9.21-demo

    struts2-jfreechart-plugin-2.0.11.jar

    struts2-jfreechart-plugin-2.0.11.jarstruts2-jfreechart-plugin-2.0.11.jarstruts2-jfreechart-plugin-2.0.11.jar

    jfreechart-1.0.19-demo-src

    jfreechart-1.0.19压缩包中有一个jfreechart-1.0.19-demo.jar,里面演示了各种图表的制作案例,包括BarChart、LineChart、PieChart、TimeSeriesChart、XYSeries等等,共309个例子,现开放源码,请各位下载,欢迎交流...

    jfreechart-1.0.19-demo.src

    这个“jfreechart-1.0.19-demo.src”压缩包包含了JFreeChart库1.0.19版本的示例源代码,对于理解JFreeChart的使用方法和内部机制非常有帮助。 源码分析: 1. **类结构与设计模式**:JFreeChart的设计遵循了模块化...

    jfreechart-1.0.6-demo源码

    "jfreechart-1.0.6-demo"源码是JFreeChart的一个示例集合,它展示了如何创建并定制各种类型的图表,是学习和理解JFreeChart功能的最佳起点。通过分析这些示例代码,开发者可以快速掌握JFreeChart的API用法和设计...

    JfreeChart1.5.0

    - **引入库**:将 JFreeChart-1.5.0.jar 添加到项目类路径中。 - **创建 ChartFactory**:根据所需的图表类型,调用相应的静态方法创建图表对象,如 `JFreeChart chart = ChartFactory.createLineChart()`。 - **...

    JfreeChart的学习--饼形图

    3. 创建饼图:使用`JFreeChart`类的`createPieChart(String title, PieDataset dataset)`方法创建饼图实例。 ```java JFreeChart chart = ChartFactory.createPieChart( "饼图示例", // 图表标题 dataset // 数据...

    jfreechart-1.0.5-demo-all

    `jfreechart-1.0.5-demo-all` 包含了 JFreeChart 库的 1.0.5 版本的演示代码和可执行的 JAR 文件,这对于学习和理解如何在实际项目中应用 JFreeChart 非常有帮助。 1. **JFreeChart 概述** - JFreeChart 是一个...

    jfreechart(包含jfreechart.jar和jcommon-1.0.13.jar)

    jfreechart(包jfreechart(包含jfreechart.jar和jcommon-1.0.13.jar) jfreechart(包含jfreechart.jar和jcommon-1.0.13.jar) jfreechart(包含jfreechart.jar和jcommon-1.0.13.jar) jfreechart(包含jfreechart.jar和...

    JFreeChart1.0.13-demo-src(无错版)

    项目中要用到JFreeChart做图,但是DEMO源码要收费的,而且在CSDN上下载都是反编译DEMO出来的,到处都是异常就拿出来骗分,我自己花了1个小时间把所有异常都改掉了,并且测试无错。 这个包是我直接把我Eclipse项目...

    jfreechart-1.0.0-pre2-install.pdf

    根据提供的文档信息,我们可以深入探讨JFreeChart的相关知识点,包括其功能、安装步骤以及使用方法等。 ### JFreeChart概述 #### 1.1 什么是JFreeChart? JFreeChart是一款为Java平台设计的免费图表库。它适用于...

Global site tag (gtag.js) - Google Analytics