原理及特点
特点:大小仅9k,没有用额外包,jdk1.4环境开发通用性强,配置简单
原理:利用filter拦截请求的jsp,如已生成静态页面且没到刷新时间则重定向静态页面,否则生成静态页面。
* 生成策略:当前时间与上次修改时间的差值大于间隔时间则重新生成
* 定向策略:如果是拦截的页面并且已经生成静态页面则重定向到静态页面
* 静态页面文件名生成策略:源文件名+参数的md5码
配置方法
1.引入所需包(见附件dynamictostatic_0.8.jar)
2.web.xml里配置filter,如下
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <filter> <filter-name>Dynamic2StaticFilter</filter-name> <filter-class>com.hrtc.d2s.Dynamic2StaticFilter</filter-class> <init-param> <description>刷新频率单位秒</description> <param-name>refresh_time</param-name> <param-value>600</param-value> </init-param> <init-param> <description>生成静态页面线程池大小</description> <param-name>threadsize</param-name> <param-value>10</param-value> </init-param> <init-param> <description>输出流缓存大小单位字节</description> <param-name>buffersize</param-name> <param-value>8192</param-value> </init-param> <init-param> <description>生成的页面存放于相对于应用根路径</description> <param-name>static_folder</param-name> <param-value>/html</param-value> </init-param> <init-param> <description>静态文件扩展名</description> <param-name>static_extend_name</param-name> <param-value>.html</param-value> </init-param> <init-param> <description>临时文件扩展名</description> <param-name>temp_extend_name</param-name> <param-value>.temp</param-value> </init-param> <init-param> <description>http head参数名</description> <param-name>request_head_name</param-name> <param-value>requesttype</param-value> </init-param> <init-param> <description>http head参数值</description> <param-name>request_head_value</param-name> <param-value>download</param-value> </init-param> </filter> <filter-mapping> <filter-name>Dynamic2StaticFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
配置完毕,随便访问你网站的页面看效果吧。
这是今天自己想到的方法,与大家互相学习一下,希望大家能提出改进意见。
源码见附件,在windows平台上开发,dynamictostatic.rar为完整源码。
介绍了一种轻量级的网页静态化方案,该方案仅9KB大小,无需额外依赖,适用于JDK 1.4环境。通过过滤器拦截请求并判断是否已生成静态页面来实现高效响应。
335

被折叠的 条评论
为什么被折叠?



