一、简介
由OpenSymphony设计的开源OSCache是一种开创性JSP定制标记应用,也是当前应用较为广泛的一个高性能J2EE缓存框架,它不仅提供了在现有JSP页面之内实现快速内存或硬盘缓冲的功能,也能用于任何Java应用程序普通缓存解决。
二、安装应用
(笔者未对相关文件进行规划,建议使用者根据实际情况调整)
1.下载开源jar包,笔者使用的是oscache-2.4.1.jar,并放在lib下;
2.在src下添加oscache.properties文件;
3.在classes下添加oscache.tld;
4.通过修改web.xml文件实现对oscache的应用
(1)添加标签
<taglib>
<taglib-uri>oscache</taglib-uri>
<taglib-location>/WEB-INF/classes/oscache.tld</taglib-location>
</taglib>
(2)指定过滤器及相关参数
<!-- 定义将缓存所有.jsp页面,缓存刷新时间为5秒,缓存作用域为Session-->
<filter>
<filter-name>CacheFilter</filter-name>
<filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>
<init-param>
<param-name>time</param-name>
<param-value>5</param-value>
</init-param>
<init-param>
<param-name>scope</param-name>
<param-value>session</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CacheFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
5.为了获得更好观察效果添加相关日志
(1)在lib下添加commons-logging.jar,log4j-1.2.16.jar
(2)在src下添加log4j.properties,commos-logging.properties文件,相关参数不懂,建议查看其它参考资料
6.编写测试jsp(此处借鉴了部分网络资料)
7.部署调试
8.效果:
(1)没有缓存的日期由web.xml时间控制,即5s
(2)页面每10秒刷新缓存一次的日期由jsp代码控制,10s
(3)手动刷新缓存的日期与设置的scope有关系
三、完整示例工程包
附件提供了完整工程结构图(可运行的测试包无法上传),与大家一起学习。
jdk1.6,Tomcat5.5
四、扩展运用
参考相关官方资料http://opensymphony.com/oscache