当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

jfreechart在B/S生成图片过程(临时图片处理)

发表于: 2011-05-19   作者:bitcarter   来源:转载   浏览次数:
摘要: jfreechart在B/S生成图片过程 引用http://my.yaoyaofree.com/?action=show&id=138 Submitted by 遥遥 on 2008, November 7, 1:31 PM. 网络技术 基于B/S结构的图片都是使用org.jfree.chart.servlet.DisplayChart这个类来显示的,大致过程如下:  
jfreechart在B/S生成图片过程
引用http://my.yaoyaofree.com/?action=show&id=138
Submitted by 遥遥 on 2008, November 7, 1:31 PM. 网络技术

基于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把生成的png文件保存在系统的临时文件夹中,你需要在适当的
      //时候调用session.removeAttribute("JFreeChart_Deleter"),这样可以保证png文
      //件被删除掉
      session.removeAttribute("JFreeChart_Deleter");
      ChartRenderingInfo info = new ChartRenderingInfo(new
          StandardEntityCollection());
      filename = ServletUtilities.saveChartAsPNG(chart, w, h, info, session);

      //  Write the image map to the PrintWriter
      ChartUtilities.writeImageMap(pw, filename, info, false);

jfreechart在B/S生成图片过程(临时图片处理)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1 public ActionForward jfree(ActionMapping mapping, ActionForm form, HttpServletRequest reque
最近忙于项目,ui和素材由于是用的系统的,太难看了,于是去网上找一些相关的图标凑合一下,但是发
版本1:jfreechart-1.0.9 生成图片代码如下: ChartUtilities.writeChartAsJPEG(out, chart, 500, 4
在前两篇文章中,我们已经创建了一个HTTP处理程序,并实现了页面到HTTP处理程序之间的字符串参数的传
在前两篇文章中,我们已经创建了一个HTTP处理程序,并实现了页面到HTTP处理程序之间的字符串参数的传
主要代码: /** * 生成图片 * @param cellsValue 以二维数组形式存放 表格里面的值 * @param path
1、加载数据 显示加载图片 无刷新分页_第1张图片" width="459" height="277" style="border:1px sol
三层+临时表存储过程+巧用json+贱招图片加载+无刷新分页 1、加载数据 显示加载图片 2、返回json数据
这篇文章中您将了解到以下内容 保存Bitmap WebClient文件上传 向服务端传递数据 保存Bitmap 做移动
从硬盘读取图片 Image image = null; try { // Read from a file File file = new File("image.gif"
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号