1,在Web程序中加入jcommon-1.0.0.jar和jfreechart-1.0.1.jar
2,在web.xml中加入jfreeChart的配置:
<!-- JFreeChart访问出成的图片的Serlvet -->
<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,新建一个我们自己的访问业务逻辑的Servlet如下:
package com.mengya.servlet;
import java.io.IOException;
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.JFreeChart;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.general.DefaultPieDataset;
/**
* 由JFreeChart生成图片在Web中访问
* 对于Web程序可以由org.jfree.chart.servlet.ServletUtilities类完成图片的生成
* @author 张明学
*
*/
@SuppressWarnings("serial")
public class MyjfreeChartServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
DefaultPieDataset dpd = new DefaultPieDataset();
dpd.setValue("管理人员", 25);
dpd.setValue("市场人员", 10);
dpd.setValue("开发人员", 50);
dpd.setValue("其它人员", 15);
JFreeChart chart = ChartFactory.createPieChart("某公司组织结构图",
dpd, true, false, false);
/**
* 图片放在服务临时目录中,对tomcat是在X\Apache Software Foundation\Tomcat 6.0\temp
*/
String fileName=ServletUtilities.saveChartAsJPEG(chart,800,600,request.getSession());
/**
* 出生成web页面访问图片的url,该url由org.jfree.chart.servlet.DisplayChart负责
* org.jfree.chart.servlet.DisplayChart是一个Serlvet已经配置在web.xml中了
* 所以在这个就可以直接引用该Serlvet配置的路径
* 即“/DisplayChart?fileName=”是固定的除非你把org.jfree.chart.servlet.DisplayChart这个Serlvet的访问路径改成别的了
* org.jfree.chart.servlet.DisplayChart中的部分代码如下:
* HttpSession session = request.getSession();
* String filename = request.getParameter("filename");
*
* if (filename == null) {
* throw new ServletException("Parameter 'filename' must be supplied");
* }
*
* // Replace ".." with ""
* // This is to prevent access to the rest of the file system
* filename = ServletUtilities.searchReplace(filename, "..", "");
*
* // Check the file exists
* File file = new File(System.getProperty("java.io.tmpdir"), filename);
* if (!file.exists()) {
* throw new ServletException(
* "File '" + file.getAbsolutePath() + "' does not exist"
* );
* }
*/
String url=request.getContextPath()+"/DisplayChart?filename="+fileName;
request.setAttribute("jfreeChartUrl", url);
request.getRequestDispatcher("jfreeChart.jsp").forward(request, response);
}
}
4,在web.xml中配置我们自己的Serlvet如下:
<!-- 自己的serlvet -->
<servlet>
<servlet-name>MyjfreeChartServlet</servlet-name>
<servlet-class>
com.mengya.servlet.MyjfreeChartServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyjfreeChartServlet</servlet-name>
<url-pattern>/MyjfreeChartServlet</url-pattern>
</servlet-mapping>
5,在我们的jsp中访问我们的Serlvet如下:
index.jsp <h3 align="center"><a href="./MyjfreeChartServlet">出成图片</a></h3>
jfreeChart.jsp
<div align="center">
<img src="${jfreeChartUrl }">
</div>
分享到:
相关推荐
JFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序或Web应用中创建各种复杂的图表,如柱状图、饼图、线形图、散点图等。本实战开发资源主要关注饼图的实现,这对于数据可视化来说至关重要,尤其是在...
### JFreeChart教程知识点概述 #### 一、JFreeChart简介 - **定义**: JFreeChart是一款免费且...通过本教程的学习,读者不仅能够掌握JFreeChart的基本使用方法,还能深入了解其高级特性,从而更好地应用于实际项目中。
怎么为java elipse 工程添加第三方包,附加jfreeechart-1.5.jar类库。这里省略50字
白色大气风格的建筑商业网站模板下载.rar
内容概要:本文详细介绍了面向对象编程语言Objective-C的基础语法,包括其历史背景、特点、环境搭建、基本语法、面向对象编程、高级特性和实际应用。具体涵盖的内容包括Objective-C的历史发展、面向对象编程的核心特性、变量和数据类型、控制结构、函数、数组和字典的使用,以及类、对象、属性和方法的定义与使用。此外,还介绍了高级特性如协议和委托、类别和扩展、ARC、块和GCD。最后,通过示例项目展示了如何在Xcode中创建和调试Objective-C程序,以及如何使用Cocoa和Cocoa Touch框架。 适合人群:具备一定的编程基础,希望学习或深入了解Objective-C编程的开发人员。 使用场景及目标:适用于需要开发macOS和iOS应用的开发者,帮助他们掌握Objective-C的基本语法和高级特性,提高编程效率和代码质量。 其他说明:本文不仅提供了详细的理论讲解,还通过实际代码示例展示了如何在Xcode中创建和调试Objective-C项目,适合初级到中级水平的开发人员学习和参考。
本次开发的微信小程球馆预约系统,有管理员,用户两个角色。管理员功能有个人中心,用户管理,场地类型管理,球馆信息管理,球馆预约管理,系统管理。用户可以在微信小程序上面注册登录,查看球馆信息,对球馆进行预约操作。 开发本程序后台用到了SSM开发技术,微信端用的是uni-app技术。数据库采用关系数据库市场占有率最高的MySQL作为本程序使用的数据库,完全符合程序使用并且有丰富的拓展余地。 用户在微信小程序注册登录后可以看到首页,首页可以搜索球馆名称,也可以查看球馆资讯,下面是导航栏。 用户点击球馆信息可以进行预约,预约需要输入相关时间等信息。 我的里面可以修改个人信息,可以退出,还可以查看球馆预约信息和我的收藏信息。
1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用KEIL 标准库开发,当前在STM32F030C8T6运行,如果是STM32F030其他型号芯片,依然适用,请自行更改KEIL芯片型号以及FLASH容量即可。 3、软件下载时,请注意keil选择项是jlink还是stlink。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、编译时请注意提示,请选择合适的编译器版本。
廖鹏盛 - 时代进行曲.zip
白色大气风格的人体艺术摄影网站模板下载.zip
白色大气风格的服装设计师模板下载.zip
白色大气风格的景观设计HTML网站模板.zip
优质的机器学习资源是当今科技领域的热点,其中TensorFlow作为谷歌公司的开源库,成为最受欢迎的深度学习框架之一,广泛应用于各类项目中。TensorFlow提供了丰富的功能和灵活性,使得开发者可以轻松构建和训练复杂的神经网络模型,处理图像、文本和其他类型的数据。由于其开源性质,拥有庞大的社区支持,用户可以放心使用,并从开源社区中获取宝贵的经验和资源。 mnist数据集是机器学习领域的经典数据集之一。它包含着大量的手写数字图像,供开发者用来训练和测试各种算法和模型。这个数据集的规模相对较小,因此对于绝大多数人来说,无论是数据的下载还是训练过程,都不会对电脑性能提出过高的要求。这使得mnist成为了理想的入门数据集,适合初学者探索和理解机器学习算法的基本原理。 结合Pygame与TensorFlow,你将能够为机器学习实验创建出图形化界面,以及实现交互式处理。Pygame是一款面向游戏和多媒体应用的Python库,但同样也可以用于数据可视化和图形化交互。利用Pygame,你可以展示训练过程中的图像输出、模型的预测结果等,增强对机器学习算法运行情况的直观认识。而且,Pygame的简单。内
基于两种坐标系的超螺旋滑模观测器的永磁同步电机pmsm无位置(速度)传感器控制模型 支持 dq旋转坐标系和静止坐标系建立smo 引入二阶滑模超螺旋算法替代一阶滑模 dq坐标系引入锁相环PLL估计转速及转子位置 有效削弱抖振 赠送超螺旋滑模搭建推导文档及相关参考资料 仿真模型
汇编实验算数运算程序设计.docx
小区监控视频监控方案.doc
白色大气风格的HTML商务模板下载.zip
白色大气风格响应式运动健身瑜伽企业网站模板.zip
单片机实验仿真设计报告
白色大气风格的设计公司整站网站模板下载.zip
白色大气风格的html商务模板.zip