流程图
web.xml
<!-- Oscached Fitter配置 放在中文过滤器之前是因为,如果有缓存数据,就不去controller,所以也就不用中文过滤器 -->
<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>7200</param-value>
</init-param>
<init-param>
<!--缓存域配置 -->
<param-name>scope</param-name>
<param-value>application</param-value>
</init-param>
</filter>
<filter-mapping>
<!--缓存拦截配置 -->
<filter-name>CacheFilter</filter-name>
<url-pattern>/product/display/*</url-pattern>
</filter-mapping>
jar包
<dependency>
<groupId>oscache</groupId>
<artifactId>oscache</artifactId>
<version>2.4.1</version>
</dependency>
作用:
1.第一次对/product/display/*的url路径进行拦截,第二次相同的URL请求是,就不走controller层,直接从保存的页面缓存中获取数据.
2application域:作用是域是服务器开启到服务器结束,这阶段,你关闭浏览器,在打开浏览器,你访问的都不去controller层,都走页面缓存,因为已经访问过了。
3.好处不走controller,减少后台压力
4:不足:数据不同步