java中urlrewriter 结合tomcat【转】
url rewrite 简介:url rewrite 将我们开发的动态网页地址转化为静态的地址如html shtml,不仅如此还可以隐藏开发的网页的真正路径如我们有时候想将
xxx.com/info/class1/sort1/2.jsp 转化成显示路径为xxx.com/info_class1_sort1_2.html.
去这里下载http://tuckey.org/urlrewrite/#download
我下载的是urlrewritefilter-2.6.zip
1.下载到本地
2.解压缩得到文件urlrewrite-2.6.0.jar 和 urlrewrite.xml
3.使用MyEclipse建立一个Web项目TestWeb 在WebRoot下建立一个文件 test.jsp
4.为了测试我test.jsp代码如下
<%@ page language="java" pageEncoding="UTF-8"%>
<%
String id = (String)request.getParameter("id");
out.println("id is : " + id);
%>
5.先装载到tomcat下,浏览器输入 http://localhost:8080/test/test.jsp?id=2
显示 id is : 2
6.将urlrewrite-2.6.0.jar 复制到WebRoot\WEB-INF\lib下。将urlrewrite.xml复制到WebRoot\WEB-INF 下 urlrewrite.xml 代码增加一下规则
<rule>
<note>
</note>
<from>/(.*).html</from>
<to>test.jsp?id=$1</to>
</rule>
/(.*).html 是一个正则表达式的串。如果你对这个不理解可以学习一下java中正则表达式的应用
$1 也是一个正则表达式的语言匹配正则中的组捕获
编辑工程下web.xml 增加以下内容
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>DEBUG</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
7.重启tomcat
8.浏览器输入http://localhost:8080/test/2.html
显示 id is : 2
http://localhost:8080/test/a.html
id is a
整个就实现了。Apache里 IIS 也有同样的规则。暂时先不写了。
注:本文为咸鱼原创 欢迎相互学习转载,转载请注明地址 http://www.web1357.cn/post/java_urlrewriter.html