java servletfilter实现全站动转静

原理及特点

特点:大小仅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为完整源码。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值