把上面这个包 放进lib目录,在xml中 添加过滤器
1
<filter>
2
<filter-name>rewriteFilter</filter-name>
3
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
4
<init-param>
5
<param-name>logLevel</param-name>
6
<param-value>commons</param-value>
7
</init-param>
8
</filter>
9
<filter-mapping>
10
<filter-name>rewriteFilter</filter-name>
11
<url-pattern>/*</url-pattern>
12
</filter-mapping>
13
建立一个 urlrewrite.xml
1
<?xml version="1.0" encoding="utf-8"?>
2
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
3
"http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
4
<urlrewrite>
5
<rule>
6
<from>^/guide/([a-z]+)/([a-z]+)/([a-z]+)/.html$</from>
7
<to type="forward">/guide.do?module=$1&submodule=$2&action=$3</to>
8
</rule>
9
</urlrewrite>
10
<from>^/guide/([a-z]+)/([a-z]+)/([a-z]+)/.html$</from> 这里是url地址栏里面显示的地址
< to type ="forward" > /guide.do?module=$1 & submodule=$2 & action=$3 </ to >
这里是实际的显示地址
$1对应/guide/后面第一个([a-z]+) ,正则表达式匹配,如果你要传输数字,可以修改规则
启动你的tomcat, 我这里输入的地址是
http://suda:8888/guide/user/base/reguser.html?name=suda 在我的 name=suda 这个可以在action里面用
request.getParameter("name") 得到
他实际访问的 地址是 http://suda:8888/guide.do?module=user&submodule=base&action=reguser&name=suda
^/guide/([a-z]+)/([a-z]+)/([a-z]+)/ :指的是根目录
<rule>
<from>^/product/([0-9]+)/([0-9]+)/.html</from>
<to>/product/productInfo.jsp?prid=$1&pcid=$2</to>
</rule>
/product 必须指定根下的/product/然后
如果没有^ xxxxxx / 就是指只要匹配就可以
<rule>
<from>/([0-9]+)/([0-9]+).html</from>
<to>/productInfo.jsp?prid=$1&pcid=$2</to>
</rule>
只要匹配就可以,不需要指定每个目录节点
![](https://i-blog.csdnimg.cn/blog_migrate/1fa987a29c6482f53d401256f96355eb.gif)
1
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
建立一个 urlrewrite.xml
![](https://i-blog.csdnimg.cn/blog_migrate/1fa987a29c6482f53d401256f96355eb.gif)
1
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/4f1150b881333f12a311ae9ef34da474.gif)
< to type ="forward" > /guide.do?module=$1 & submodule=$2 & action=$3 </ to >
这里是实际的显示地址
$1对应/guide/后面第一个([a-z]+) ,正则表达式匹配,如果你要传输数字,可以修改规则
启动你的tomcat, 我这里输入的地址是
http://suda:8888/guide/user/base/reguser.html?name=suda 在我的 name=suda 这个可以在action里面用
request.getParameter("name") 得到
他实际访问的 地址是 http://suda:8888/guide.do?module=user&submodule=base&action=reguser&name=suda
^/guide/([a-z]+)/([a-z]+)/([a-z]+)/ :指的是根目录
<rule>
<from>^/product/([0-9]+)/([0-9]+)/.html</from>
<to>/product/productInfo.jsp?prid=$1&pcid=$2</to>
</rule>
/product 必须指定根下的/product/然后
如果没有^ xxxxxx / 就是指只要匹配就可以
<rule>
<from>/([0-9]+)/([0-9]+).html</from>
<to>/productInfo.jsp?prid=$1&pcid=$2</to>
</rule>
只要匹配就可以,不需要指定每个目录节点