UrlRewrite---实现url伪静态化

UrlRewrite

A Java Web Filter for any compliant web application servers (such asTomcat,JBoss,JettyorResin), which allows you to rewrite URLs before they get to your code. It is a very powerful tool just like Apache'smod_rewrite.

使用UrlRewrite有三大好处:

一:提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的
话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多
二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL
三:更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息

UrlRewrite的用法:

1. 首先下载jar包。从官网http://tuckey.org/urlrewrite/上下载下来urlrewrite-3.2.0.jar(本人使用的版
本,但不是最新版本,建议使用最新版本)。然后把jar包放到你的web项目的WEB-INF/lib下面。
2. 配置web.xml。 它的配置如下:
<filter>
	<filter-name>UrlRewriteFilter</filter-name>
	<filter-class>org.tuckey.web.filters.urlrewriter.UrlRewriteFilter</filter-class>
	<init-param>
		<param-name>logLevel</param-name>
		<param-value>WARN</param-value>
	</init-param>
</filter>
<filter-mapping>
	<filter-name>UrlRewriteFilter</filter-name>
	<url-pattern>/*</url-pattern>
	<dispatcher>REQUEST</dispatcher>
	<dispatcher>FORWARD</dispatcher>
</filter-mapping>


3. 在WEB-INF下面新建urlrewrite.xml(注意都是小写)。其配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
<urlrewrite>
	<rule>
		<from>^/(.*)$</from>
		<to type="redirect">/$1.jsp</to>
	</rule>
	<outbound-rule>
		<from></from>
		<to></to>
	</outbound-rule>
</urlrewrite>

rule结点中form的规则默认使用的是正则表达式来匹配的,当用户访问服务器时的URL会与该配置相比较,如果符合规则就会按照下面to结点中的配置对其进行跳转,其默认是forward跳转,具体配置可见官网文档。

例如下面的配置:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
        "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
    <rule>
        <from>^/page/(.*)$</from>
        <to type="redirect">/page/$1.action</to>
    </rule>
</urlrewrite>
 
这样在浏览器中输入此url:http://localhost:8080/page/test
就相当于访问:http://localhost:8080/page/test.jsp

UrlRewrite jar包下载地址

如果官网下载不下来的话,请到这个连接()下载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值