jfreechart里在页面上生成临时图片的过程剖析

        本人研究jfreechart也有些日子了,网上入门的文章很多,可是比较深入的并不多。我也是从一两篇的入门文章开始的,后来就是全靠自己研究demo的源码。因为我做的多是基于B/S结构的,所以图片都是使用org.jfree.chart.servlet.DisplayChart这个类来显示的,我今天看了一下相关的源码,大致过程如下。
        
    在网上的好多例子里,先是DisplayChart的service()方法调用ServletUtilities的saveChartAsPNG(JFreeChart chart, int width, int height,HttpSession session)方法,在这个过程里,saveChartAsPNG方法先生成临时文件的名字,然后调用org.jfree.chart.ChartUtilities的saveChartAsPNG(File file, JFreeChart chart,int width,int height,ChartRenderingInfo info,boolean encodeAlpha),在服务器的临时文件夹里生成图片,接下来是把图片文件与org.jfree.chart.servlet.ChartDeleter绑定(就是将图片文件名传递给这个类),ChartDeleter类继承了HttpSessionBindingListener接口,主要作用是当用户session失效的时候,删除临时文件夹里的图片,这个类是存在于session之中的。最后调用ServletUtilities的sendTempFile(File file, HttpServletResponse response,String mimeType)用输出流输出图片。

    概括一下就是说,图片是存放于服务器的临时文件夹里,用户session失效后,程序会自动删除图片的。

    网上看了好久,有很多人问关于jfreechart的问题,可是问的多,答的少,好不容易有一个
论坛 专门讨论jfreechart的事情,可惜没有人气,如果有可能的话,我会把我的一些积累和大家分享,希望能够聚起更多热爱jfreechart的朋友!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值