JFreeChart组件能够生成.JPEG、.PNG格式的图片,其输出方式可以直接存储在硬盘中,也可以交给JFreeChart组件进行管理。在Web应用中,所生成的图形报表一般均为动态图表,如果对每次生成的图表都进行直接存储,将会产生大量的垃圾文件,时间长了必须进行清理。因此,由 JFreeChart组件进行管理来生成图片是一个不错的选择,它不仅可以提供图片的路径,而且在查看图片后JFreeChart组件会自动进行清理。
一:配置JFreeChart
JFreeChart组件提供了一个Servlet文件用于获取生成的图片,此Servlet文件存在于JFreeChart组件包中,所以在使用过程中,需要将其配置到Web.xml文件中。其配置方法如下:
在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>/servlet/DisplayChart</url-pattern> </servlet-mapping>
从上述代码可以看出,其配置与普通的Servlet配置是完全相同的。
二:获取图片
在输出图片之前,首先要生成JFreeChart组件所绘制的图片。此操作通过调用ServletUtilities类的saveChartAsJPEG()方法来实现,它返回一个.JPEG格式的图片名称。
语法:
public static String saveChartAsJPEG(JFreeChart chart, int width, int height, HttpSession session)throws IOException
chart:制图对象JfreeChart。
width:所生成图片的宽度。
height:所生成图片的高度。
session:HttpSession对象。
通过此方法生成图片后,调用已注册的JFreeChart提供的Servlet类DisplayChart,即可获取图片的相对路径。
例如,在JSP页面中获取图片,代码如下。
<% String fileName = ServletUtilities.saveChartAsJPEG(ChartUtil.createChart(), 450, 300, session); String graphURL = request.getContextPath() + "/DisplayChart?filename=" + fileName; %>
上述代码生成了一个宽为450、高为300的图片,其文件名为fileName,其路径为graphURL,通过此路径即可对所生成的图片进行访问。
转载请注明来源网站:blog.ytso.com谢谢!
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/14737.html