用urlrewrite实现伪静态化

最近看到一些论坛 前台页面都是以html后缀结尾的,比如帖子列表、文章详细信息,一开始比较费解,想到如果实时生成HTML对服务器的CPU占用是非常巨大的 后来上网找了下思路 原来是用了伪静态

 

需要jar包:urlrewrite.jar

1.web-inf下新增xml- urlrewrite.xml

   

<?xml version="1.0" encoding="utf-8"?>

<urlrewrite>
<!-- 帖子列表 -->
<rule>
	<from>^/forum-(\d+)-(\d+)\.html$</from>
	<to type="forward">/servlet/TopicListServelet?sid=$1&amp;page=$2</to>
</rule>
<!-- 帖子列表加分页
<rule>
	<from>^/subcate_list_(\d+)\.html$</from>
	<to type="forward">/servlet/TopicListServelet?sid=$1</to>
</rule> -->
<!-- 帖子详细信息 -->
<rule>
	<from>^/thread-(\d+)\.html$</from>
	<to type="forward">/servlet/TopicDetailServlet?tid=$1</to>
</rule>
</urlrewrite>

   在rule节点中写规则 from代表客户端访问页面 to代表实际访问路径

   编写规则:from中写正则 开头:^ 结尾$  (\d+)代表数字 (\w+)代表英文

    to $1代表你写的第一个 (\d+)或 (\w+) $2代表第二个 其中多个传参&符号用&amp;代替

2. web.xml中增加:

	<!-- Set URL Rewrite-->
	<filter>
		<filter-name>UrlRewriteFilter</filter-name>
		<filter-class>
			org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>UrlRewriteFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 3.前台调用:forum-1-1.html

 

这样做的好处是隐藏了后台类 但并不代表安全 主要作用是优化SEO收录

你可能感兴趣的:(thread,html,xml,Web,servlet)