JFreeChart画图+jsp页面显示实现统计图
1 开发环境:
1、eclipse(可替换)
2、jfreechart-1.0.19
2 说明:
(1) source目录:为 jfreechart的源码目录;不会的主要看这里。因为他的文档是收费的。
(2) lib目录:为包目录,我们需要关注的包为 jfreechart-1.0.10.jar、 gnujaxp.jar和 jcommon-1.0.13.jar这三个包;
(3)根目录下的 jfreechart-1.0.10-demo.jar是例子程序,大家双击后可看到其中有很多例子的运行结果。
3 JavaWeb开发流程
3.1 导入jar包
将jfreechart-1.0.19/lib下面所有jar包导入到“/WEB-INF/lib”目录下
3.2 修改配置文件
在 web.xml文件中增加如下配置,尽量配置在其他优先级不高的servlet配置前面:
<servlet>
<servlet-name>DisplayChart</servlet-name>
<servlet-class>
org.jfree.chart.servlet.DisplayChart <!--这个固定不变-->
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DisplayChart</servlet-name>
<url-pattern>/DisplayChart</url-pattern>
</servlet-mapping>
3.3 编写jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> <%@ page import="org.jfree.data.general.DefaultPieDataset" %>
<%@ page import="org.jfree.chart.ChartFactory" %>
<%@ page import="org.jfree.chart.JFreeChart" %>
<%@ page import="org.jfree.chart.servlet.*" %>
<%@ page import="org.jfree.chart.StandardChartTheme" %>
<%@ page import="java.awt.Font" %>
<%@page import="org.jfree.chart.servlet.ServletUtilities"%>
<%@ page import="org.jfree.chart.plot.PlotOrientation"%>
<%@ page import="org.jfree.data.category.DefaultCategoryDataset"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>数据分析</title>
</head>
<body>
<!-- 饼状图 -->
<%
DefaultPieDataset dpd = new DefaultPieDataset();
dpd.setValue("管理人员", );
dpd.setValue("市场人员", );
dpd.setValue("开发人员", );
dpd.setValue("其他人员", ); //这一段是防止乱码使用的
StandardChartTheme standardChartTheme=new StandardChartTheme("CN"); //创建主题样式
standardChartTheme.setExtraLargeFont(new Font("隶书",Font.BOLD,)); //设置标题字体
standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,)); //设置图例的字体
standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,)); //设置轴向的字体
ChartFactory.setChartTheme(standardChartTheme); //应用主题样式 JFreeChart chart = ChartFactory.createPieChart("某公司组织结构图",dpd, true, false, false);
String fileName = ServletUtilities.saveChartAsPNG(chart,,,session);
//ServletUtilities是面向web开发的工具类,返回一个字符串文件名,文件名自动生成,生成好的图片会自动放在服务器(tomcat)的临时文件下(temp) String url = request.getContextPath() + "/DisplayChart?filename=" + fileName;
//根据文件名去临时目录下寻找该图片,这里的/DisplayChart路径要与配置文件里用户自定义的<url-pattern>一致
%>
<img src="<%= url %>" width="" height=""> <!-- 柱状图 -->
<%
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(0.2, "广州", "猪肉");
dataset.addValue(0.4, "广州", "牛肉");
dataset.addValue(0.1, "广州", "鸡肉");
dataset.addValue(0.1, "广州", "鱼肉");
// 创建主题样式
StandardChartTheme standardChartTheme1 = new StandardChartTheme("CN");
// 设置标题字体
standardChartTheme1.setExtraLargeFont(new Font("隶书", Font.BOLD, ));
// 设置图例的字体
standardChartTheme1.setRegularFont(new Font("宋书", Font.PLAIN, ));
// 设置轴向的字体
standardChartTheme1.setLargeFont(new Font("宋书", Font.PLAIN, ));
// 应用主题样式
ChartFactory.setChartTheme(standardChartTheme1); JFreeChart chart1 = ChartFactory.createBarChart3D("肉类销量统计图",
"肉类",
"销量百分比(%)",
dataset,
PlotOrientation.VERTICAL,
false,
false,
false);
String filename = ServletUtilities.saveChartAsPNG(chart1, , , null, session);
String graphURL = request.getContextPath() + "/DisplayChart?filename=" + filename; System.out.println(graphURL + "\n"+ filename);
%>
<img src="<%= graphURL %>"width= height= border= usemap="#<%= filename %>"> </body>
</html>
4 效果图

附jar下载地址:http://www.java2s.com/Code/Jar/CatalogJar.htm
JFreeChart画图+jsp页面显示实现统计图的更多相关文章
- jfreechart 在jsp页面显示所画的图片(resin服务器的servelet配置是关键)(图片只过内存)
用的web服务器是resin服务器,在配置web.xml时需要注意,其实resin服务器的web.xml服务器配置和tomcat服务器的配置很像, 1. 我第一次按照自己的想法,想当然的在resin- ...
- 转:jsp页面显示中文乱码解决方案
jsp页面显示中文乱码: jsp页面的编码方式有两个地方需要设置: <%@ page language="java" import="java.util.*&quo ...
- JSP 页面显示sql中数据。el
存储数据库字段. package Bean; /** * Created by Administrator on 2017/5/24. */ public class info { private S ...
- 如何解决JSP页面显示乱码问题
一.JSP页面显示乱码 下面的显示JSP页面(display.jsp)就出现乱码: <html> <head> <title>JSP的中文处理</title& ...
- 通用分页jsp页面显示
注:本章内容都是在上一篇文章 通用分页后台显示:https://www.cnblogs.com/ly-0919/p/11058942.html 的基础上进行改进,所以有许多的类都在上一篇, 带来不便 ...
- jsp页面显示问题
一.在jsp页面的表格中,如果有表格中的某一个元素 内容太长,需要截取显示,方法如下: <%@ taglib prefix="fn" uri="http://jav ...
- JSP页面显示乱码
下面的显示页面(display.jsp)就出现乱码: <html> <head> <title>JSP的中文处理</title> <meta ht ...
- Java从服务器上获取时间,动态在jsp页面显示
Java获取服务器时间,动态显示到jsp页面,大家都是到Java只能获取一次,到页面的时间是静态的,不过通过js和Java的合作,巧妙地实现此功能 本人是给电视做系统,客户要求页面能显示时间,因为电视 ...
- Jsp页面显示时间:<fmt>标签问题
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%> <%@ taglib ...
随机推荐
- JAVA基础第二章-java三大特性:封装、继承、多态
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- [区块链] 密码学——Merkle 树
在计算机领域,Merkle树大多用来进行完整性验证处理.在处理完整性验证的应用场景中,特别是在分布式环境下进行这样的验证时,Merkle树会大大减少数据的传输量以及计算的复杂度. Merkle哈希树是 ...
- 【学习笔记Part 1 ● Linux】
本章目标 Linux简介 Linux发展 Linux界面熟悉 Linux常用命令 Linux简介 经常看到的或者熟悉的操作系统: Windows操作系统:Window 10或者Window 7 Mac ...
- SuperMap iObject入门开发系列之三管线系统标注
本文是一位好友“托马斯”授权给我来发表的,介绍都是他的研究成果,在此,非常感谢. 管线系统会涉及到一些坐标标注,属性标注,提供给用户查询获取其需要的信息,这期的文章介绍的是基于超图iObject开发的 ...
- 4.熟悉App Inventor 2编程界面
以下图片来自 https://www.17coding.net/的 俄罗斯方块开发笔记 的 第二章 开发与测试环境 .感谢金老师的分享. 建议大家打开上面第二章的链接,认真阅读.
- Windows Server 2016-批量新建域用户(二)
前几个章节我们讲到Windows Server 2016-图形化新建域用户(一),本章节我们简单讲解下如何通过命令批量创建域用户,以便高效完成日常工作中实际批量创建用户需求,内容涉及dsadd use ...
- python3第一天,随便写写
哈哈 我滴第一篇博客,不知道咋写,随意看了看别人的博客,我还是不知道咋写,既然是我的博客,那我就把它当随笔写了(这里就是添加随笔...) 也不知道自己说了啥,不过想到了一句话:日记都是写给别人看的.哈 ...
- 巧妙地使用typora编辑有道云笔记
设置方法 找到有道云笔记本地保存路径: 找到有道云笔记的保存的路径:启动有道云 - 设置 - 有道云笔记(本地文件) - 打开文件夹 使用typora打开有道云笔记目录: typora 菜单栏 - O ...
- AI - TensorFlow - 第一个神经网络(First Neural Network)
Hello world # coding=utf-8 import tensorflow as tf import os os.environ[' try: tf.contrib.eager.enab ...
- 每日分享!~ JavaScript数组去重
数组去重 数组去重在很多面试的过程中,都是大题出现!网络上出现了很多数组去重的方式.多数的达到了12种以上. 今天我只给大家介绍两种我比较喜欢,比较认可!入手简单的-能解决自己的问题就可以了 好了 , ...