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 代码增加一下规则
<?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">
<urlrewrite>
<rule>
<note>
</note>
<from>/(.*).html</from>
<to>/news/test.jsp?id=$1</to>
</rule>
</urlrewrite>
/(.*).html 是一个正则表达式的串。如果你对这个不理解可以学习一下java中正则表达式的应用
$1 也是一个正则表达式的语言匹配正则中的组捕获
编辑工程下web.xml 增加以下内容
<?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>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>
</web-app>
7.重启tomcat
8.浏览器输入http://localhost:8080/test/2.html
显示 id is : 2
http://localhost:8080/test/a.html
id is a
整个就实现了。