基于servlet的简单的页面缓存框架

标签: servlet 页面 缓存 | 发表时间:2013-03-11 21:41 | 作者:zhongweijian
出处:http://blog.csdn.net

基于servlet的页面级缓存框架的基本用法:

代码参考:https://github.com/zhwj184/pagecache

在web.xml里面配置

urlPattern:需要缓存的页面url的正则表达式列表,多个不同url的正则用,分隔;

cacheExpireTime:对应urlPattern的每个url的缓存时间,单位秒,用,分隔;

includeParams:对应urlPattern的每个url需要考虑的参数列表,每个url的参数用;分隔,每个url的多个参数用,号分隔;需要配置了该参数,则不考虑excludeParams的参数配置;

excludeParams:对应urlPattern的每个url需要排除的参数列表,每个url的参数用;分隔,每个url的多个参数用,号分隔;

cacheStore:缓存策略,这里提供基本本地的缓存LRU实现SimpleLRUCacheStore,用类名,可以通过实现org.pagecache.cache.CacheStore接口来实现自己缓存存储策略,常用的可以用memcache,后续提供

cacheStoreParams:对应cacheStore的缓存策略类参数列表,参数之间用;号分隔,参数名和参数值用:分隔,在init参数中可以根据参数做一些初始化工作;


<filter>
<filter-name>pageCacheFilter</filter-name>
<filter-class>org.pagecache.servlet.PageCacheFilter</filter-class>
<init-param>
    <param-name>urlPattern</param-name>
    <param-value>/pageTest/plugin/[a-zA-z0-9]+.htm[lL],/pageTest/plugin3/[a-zA-z0-9]+.htm[lL]</param-value>
</init-param>
<init-param>
    <param-name>cacheExpireTime</param-name>
    <param-value>50,40</param-value>
</init-param>
<init-param>
    <param-name>includeParams</param-name>
    <param-value>id,name;brandId,brandName</param-value>
</init-param>
<init-param>
    <param-name>excludeParams</param-name>
    <param-value>tracelog;tracelog</param-value>
</init-param>
<init-param>
    <param-name>cacheStore</param-name>
    <param-value>org.pagecache.cache.SimpleLRUCacheStore</param-value>
</init-param>   
        <init-param>
    <param-name>cacheStoreParams</param-name>
    <param-value>cachesize:5</param-value>
</init-param>           
</filter>
<filter-mapping>
    <filter-name>pageCacheFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


作者:zhongweijian 发表于2013-3-11 21:41:42 原文链接
阅读:54 评论:0 查看评论

相关 [servlet 页面 缓存] 推荐:

基于servlet的简单的页面缓存框架

- - CSDN博客架构设计推荐文章
基于servlet的页面级缓存框架的基本用法:. 代码参考:https://github.com/zhwj184/pagecache. 在web.xml里面配置. urlPattern:需要缓存的页面url的正则表达式列表,多个不同url的正则用,分隔;. cacheExpireTime:对应urlPattern的每个url的缓存时间,单位秒,用,分隔;.

Servlet Filter 学习

- - CSDN博客架构设计推荐文章
最近在研究CAS , CAS 中的Servlet Filter 不太熟悉, 所以花了点时间学下了下这部分的知识, 分成以下几部分 学习. Servlet Filter  的功能和用法. Servlet Filter 顺序的注意事项. A filter is an object that performs filtering tasks on either the request to a resource (a servlet or static content), or on the response from a resource, or both.

Servlet、Filter和Listener

- - Web前端 - ITeye博客
Java Servlet是与平台无关的服务器端组件,运行于Servlet容器中(如Tomcat),Servlet容器负责Servlet和客户端的通信以及调用Servlet的方法,Servlet和客户端的通信采用“请求/响应”的模式. Servlet可完成以下功能:. 1、创建并返回基于客户请求的动态HTML页面.

Nginx之页面缓存

- - CSDN博客推荐文章
语法:proxy_cache_path path [levels=number] keys_zone=zone_name:zone_size [inactive=time] [max_size=size];  . 默认值:None  . 使用字段:http  . 指令指定缓存的路径和一些其他参数,缓存的数据存储在文件中,并且使用代理url的哈希值作为关键字与文件名.

Servlet – 会话跟踪

- - ImportNew
HTTP本身是 “无状态”协议,它不保存连接交互信息,一次响应完成之后即连接断开,下一次请求需要重新建立连接,服务器不记录上次连接的内容.因此如果判断两次连接是否是同一用户, 就需要使用 会话跟踪技术来解决.常见的会话跟踪技术有如下几种:. URL重写: 在URL结尾附加. 会话ID标识,服务器通过会话ID识别不同用户..

servlet的四种响应

- - CSDN博客推荐文章
        在一个servlet的请求中,响应的方式的通常有四式,response.getWriter(),response.getOutputStream(),. request.getRequestDispatcher("ajax.jsp").forward(request, response) 和 response.sendRedirect("ajax.jsp").

Servlet是否线程安全

- - 研发管理 - ITeye博客
Servlet是线程安全吗. 要解决这个问题,首先要知道什么是线程安全:.   如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码. 如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的. 或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题.

HTML页面实现全方位页面缓存

- - CSDN博客推荐文章
【1】服务端配置一个Filter,实现对js、css和image的缓存. 完成这一步,在服务端已经实现了对页面的缓存,但是当前情况下页面还是会每次访问服务器的,只是压力减小了. 如何让页面在一段时间内不访问服务器呢. 实现方式是对应公用的JS都放到一个页面中,别的页面包含他,在这个页面中增加页面缓存.

Servlet 3.0的檔案上傳寫法

- - 簡睿隨筆
Servlet 3.0已經大幅簡化網頁檔案上傳的程式寫法,以下是撰寫的幾個重點.
的enctype要是"multipart/form-data". 是主要使用的檔案瀏覽元素. 後端接收的Servlet寫在action屬性裡. 以@MultipartConfig(location = “c:/www/xxx/data/")指定寫檔路徑.

jsp+servlet实现验证码功能

- - CSDN博客推荐文章
验证码的功能大多数人可能不都理解,但几乎每个安全网站都会有. 验证码是用来防止非人为因素操作的行为,例如一个黑客要黑一个网站,怎么弄呢. 最简单的思路当然是造成其网路拥堵直至系统瘫痪掉. 如果没有验证码,那么我就可以在注册页面,写一个程序,只有注册表单,不断更换主键或不可重复的内容,不停的提交. 那这样每秒可以注册几万次都有可能,这样服务器就大量负载,很容易就瘫痪并死掉.