urlrewrite

1.下载urlrewrite-3.2.0.jar放入lib包并引用
2. 配置web.xml,配置如下:
   <filter>
            <filter-name>UrlRewriteFilter</filter-name>
            <filterclass>
                   org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
             </filter-class>
            </filter>
            <filter-mapping>
            <filter-name>UrlRewriteFilter</filter-name>
            <url-pattern>/*</url-pattern>
            </filter-mapping>

3.在WEB-INF目录中创建urlrewrite.xml 文件,文件内容可以参考如下配置:
 
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"
        "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
<!--
	Configuration file for UrlRewriteFilter
	http://tuckey.org/urlrewrite/
-->
<urlrewrite decode-using="UTF-8">
	<rule>
		<from>^(.*)/thread/([0-9]+)-(.*).html$</from>
		<to>/test.jsp?id=$2&amp;name=$3</to>
	</rule>
	<outbound-rule>
		<note>
			The outbound-rule specifies that when response.encodeURL is
			called (if you are using JSTL c:url) the url /rewrite-status
			will be rewritten to /test/status/. The above rule and this
			outbound-rule means that end users should never see the url
			/rewrite-status only /test/status/ both in thier location
			bar and in hyperlinks in your pages.
		</note>
		<from>/rewrite-status</from>
		<to>/test/status/</to>
	</outbound-rule>
</urlrewrite>


注:<from>节点是指客户在浏览器上输入的地址
          ^(.*)/thread/([0-9]+)-(.*).html$ 这里是一个正则表达式,以^开始以$结束,
          每一个括号可以说都是一个表达式,在<to>节点中可以以相应的$1,$2等变量一一对应
    <to>节点是urlrewrite框架实际转发的地址

4.在根目录下新建test.jsp页面,并且在该页面中去取传递过来的id和name,并且打印在控制台进行测试

5.访问http://localhost:8080/项目名/thread/1-test.html

6.查看页面是否正常跳转并且在控制台打印出相应的get参数的值
 

猜你喜欢

转载自learnmore.iteye.com/blog/1325090
今日推荐