JFreeChart -- Web应用
1) Model
?
index.jsp
?
?
web.xml
?
?
2) 运行结果?
?3) org.jfree.chart.servlet 包解析
ServletUtilities将Chart保存为JPEG或者PNG格式的文件,并返回对应的文件名。
文件路径为System.getProperty("java.io.tmpdir")
文件名前缀为ServletUtilities.tempFilePrefix(Session级)或者ServletUtilities.tempOneTimeFilePrefix
--Comment:是否为Session级由传递给对应方法的Session对象是否为null决定,null则为非Session级
?
如果Chart为Session级的则将其保存后的文件名添加到Session中的ChartDeleter.chartNames中,
以便在Session失效时被清除。
ChartDeleterimplements HttpSessionBindingListener, Serializable
HttpSessionBindingListener :
实现此接口的类的对象在绑定到HttpSession或者从HttpSession中移除时被通知执行该对象的valueBound和valueUnbound方法
ChartDeleter:
绑定到HttpSession时:不做任何操作
从HttpSession中移除(HttpSession注销或者过期)时:删除Session级别的Chart临时文件
DisplayChart
将filename对应的Chart返回给Client,如果该Chart为onetime类型则在返回之后将其删除
?
4) 参考资料
?
JFreeChart 源码
?
5) 相关学习资料
?
JFreeChart Demo (附件jfreechart-1.0.13-demo.jar)
?
JFreeChart Demo Source (附件jfreechartdemo.rar)
?