urlRewriteFilter来实现url的美化
在appfuse的web.xml声明文件中有下面的类似声明:
< filter >
< filter - name > rewriteFilter </ filter - name >
< filter - class > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter </ filter - class >
< init - param >
< param - name > logLevel </ param - name >
< param - value > commons </ param - value >
</ init - param >
</ filter >
< filter - mapping >
< filter - name > rewriteFilter </ filter - name >
< url - pattern > /**/ /* </url-pattern>
</filter-mapping>
它所应用到的包存放在lib下的
urlrewrite - 3.0 - beta.jar
它和以上的两部分,以及
/ web - inf / urlrewrite.xml
构成了对url地址的美化
打开这个文件,我们可以看到以下的声明:
<? xml version = " 1.0 " encoding = " utf-8 " ?>
<! DOCTYPE urlrewrite PUBLIC " -//tuckey.org//DTD UrlRewrite 3.0//EN "
" http://tuckey.org/res/dtds/urlrewrite3.0.dtd " >
<!-- https: // urlrewrite.dev.java.net/manual/3.0 -->
< urlrewrite >
< rule >
< from >^/ user / (. * ).html$ </ from >
< to type = " forward " >/ editUser.html\ ? username = $ 1 </ to >
</ rule >
</ urlrewrite >
这样系统就完成了url地址的editUser.html?username=****的美化
如将
http://localhost/aaa/bbb.jsp?id=99&name=abc
表现为:
http://localhost/aaa/bbb/99_abc.html
配置如下:
< rule >
< from >
/ aaa / bbb / ([ 0 - 9 ] + )_([a - z] + ).html
</ from >
< to >
/ .. / aaa / bbb.jsp ? id = $ 1 & name = $ 2
</ to >
</ rule >
< filter >
< filter - name > rewriteFilter </ filter - name >
< filter - class > org.tuckey.web.filters.urlrewrite.UrlRewriteFilter </ filter - class >
< init - param >
< param - name > logLevel </ param - name >
< param - value > commons </ param - value >
</ init - param >
</ filter >
< filter - mapping >
< filter - name > rewriteFilter </ filter - name >
< url - pattern > /**/ /* </url-pattern>
</filter-mapping>
它所应用到的包存放在lib下的
urlrewrite - 3.0 - beta.jar
它和以上的两部分,以及
/ web - inf / urlrewrite.xml
构成了对url地址的美化
打开这个文件,我们可以看到以下的声明:
<? xml version = " 1.0 " encoding = " utf-8 " ?>
<! DOCTYPE urlrewrite PUBLIC " -//tuckey.org//DTD UrlRewrite 3.0//EN "
" http://tuckey.org/res/dtds/urlrewrite3.0.dtd " >
<!-- https: // urlrewrite.dev.java.net/manual/3.0 -->
< urlrewrite >
< rule >
< from >^/ user / (. * ).html$ </ from >
< to type = " forward " >/ editUser.html\ ? username = $ 1 </ to >
</ rule >
</ urlrewrite >
这样系统就完成了url地址的editUser.html?username=****的美化
如将
http://localhost/aaa/bbb.jsp?id=99&name=abc
表现为:
http://localhost/aaa/bbb/99_abc.html
配置如下:
< rule >
< from >
/ aaa / bbb / ([ 0 - 9 ] + )_([a - z] + ).html
</ from >
< to >
/ .. / aaa / bbb.jsp ? id = $ 1 & name = $ 2
</ to >
</ rule >