`
darktemplar_h
  • 浏览: 14146 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OSCache的CacheFilter配置

阅读更多

今天查了一下CacheFilter不起作用的原因。在CacheFilter类中设置的断点,但是一直没有执行到。

觉得可能是filterchain顺序导致的。跟踪代码执行,果然是先走了struts2的filter。

改了一下filter的顺序,将cache放在chain最顶部。CacheFilter起作用了。

运行过程中仍然有问题,cache的key值没有带上查询参数。又怀疑是encoding filter顺序的额外难题。

将encoding和cache换了一下,果然好了。

 

总结:

filterchain的顺序固定,否则处理cache出错。
1、 cache时key中没有url参数
2、 cache不到struts结果

	<filter>
		<filter-name>Struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>
	
	<filter>
		<filter-name>cache</filter-name>
		<filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>
		<init-param>
			<param-name>time</param-name>
			<param-value>300</param-value>
		</init-param>
		<init-param>
			<param-name>disableCacheOnMethods</param-name>
			<param-value>POST,PUT,DELETE</param-value>
		</init-param>
		<init-param>
			<param-name>expires</param-name>
			<param-value>time</param-value>
		</init-param>
	</filter>
	
	<filter>
		<filter-name>encoding</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>GBK</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	
	<filter-mapping>
		<filter-name>encoding</filter-name>
		<url-pattern>/*.sip</url-pattern>
	</filter-mapping>
	
	<filter-mapping>
		<filter-name>cache</filter-name>
		<url-pattern>/*.sip</url-pattern>
	</filter-mapping>
	
	<filter-mapping>
		<filter-name>Struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 

0
0
分享到:
评论
1 楼 href2008 2011-06-29  
请问下,我js提交的请求第一次被拦截,但后面的都不被拦截。但是是超链接的请求都被拦截,不知道为什么。如果js提交的请求加上时间搓,就会每次被拦截。
应该说提交的链接,及内容如果都一样,那么就不被拦截。反正现在找不到规律

相关推荐

    oscache详细配置文档

    本文将详细介绍 OSCache 的配置和使用方法。 **一、缓存整个页面** OSCache 提供了一个名为 `CacheFilter` 的过滤器,该过滤器用于实现页面级别的缓存。通过在 `web.xml` 文件中配置,我们可以指定哪些页面或一组...

    OSCache配置说明文档

    本文档详细介绍了OSCache的配置与使用,旨在为开发者提供一份全面的参考指南。OSCache是由OpenSymphony开发的开源缓存框架,它为J2EE应用程序提供了高效、灵活的缓存解决方案。 文档介绍 文档目的: 本文档的主要...

    OScache配置

    在 OSCache组件中提供了一个CacheFilter用于实现页面级的缓存,主要用于对web应用中的某些动态页面进行缓存,尤其是那些需要生成PDF 格式文件/报表、图片文件等的页面,不仅减少了数据库的交互、减少数据库服务器的...

    Oscache框架的搭建步骤

    6. **集成到JSP页面**:在JSP页面中引入Oscache标签库,使用`&lt;%@taglib uri="oscache" prefix="cache"%&gt;`声明,其中`uri`值应与`web.xml`中配置的`&lt;taglib-uri&gt;`一致。 7. **实现缓存逻辑**:在JSP页面中利用...

    oscache说明

    3. 根据你的应用需求,配置 `oscache.properties` 文件以设置缓存参数。 **使用方法** OSCache 提供了多种使用方式: 1. **缓存对象**:可以直接调用 OSCache 的 API 接口来缓存和检索对象。API 包括了缓存的存取...

    OSCache学习心得

    在本篇文章中,我们将详细介绍OSCache框架的基本原理、配置方法以及如何在JSP页面中实现缓存功能,同时也会探讨OSCache与Struts2框架结合使用的具体实践。 #### 一、OSCache简介 OSCache是OpenSymphony组织开发的...

    基于OSCache的页面缓存

    OSCache组件提供的`CacheFilter`是一个关键元素,它能对整个动态页面进行缓存。通过在`web.xml`配置文件中添加相应的过滤器配置,我们可以指定哪些页面需要被缓存。例如,下面的配置会将所有`.jsp`页面进行缓存,...

    缓存说明.doc

    oscache的部署步骤包括引入相关依赖库,如log4j、oscache、commons-logging等,并配置web.xml,启用`CacheFilter`来拦截JSP页面请求,如下所示: ```xml &lt;taglib-uri&gt;oscache &lt;taglib-location&gt;/WEB-INF/classes...

    oacache配置方法

    &lt;filter-class&gt;com.opensymphony.oscache.web.filter.CacheFilter&lt;/filter-class&gt; &lt;filter-name&gt;CacheFilter &lt;url-pattern&gt;/testContent.jsp ``` 这里,`&lt;url-pattern&gt;`元素指定了`/testContent.jsp`...

    ssm整合文档。看着文档自己操作,很简单

    &lt;filter-class&gt;com.opensymphony.oscache.web.filter.CacheFilter&lt;/filter-class&gt; &lt;!--刷新缓存时间--&gt; &lt;param-name&gt;time &lt;param-value&gt;10 &lt;!--缓存存储位置--&gt; &lt;param-name&gt;scope &lt;param-value&gt;...

    巴巴运动网-性能优化

    - **配置**:在`web.xml`文件中配置CacheFilter,指定过滤规则和参数。 - **过滤逻辑**:通过覆盖`doFilter`方法实现具体的过滤逻辑,例如判断是否命中缓存、如何存储和读取缓存等。 ### 结论 通过对黎活明老师讲解...

    Java Appfuse-源代码分析-综合文档

    - `cacheFilter`: 使用 OpenSymphony OSCache 实现页面缓存,提高应用性能。 - `clickstreamFilter`: ClickstreamFilter 跟踪用户的点击流,用于统计分析。 - `encodingFilter`: Spring 提供的 ...

Global site tag (gtag.js) - Google Analytics