有這麼一種情況,不想讓別人知道你項目訪問的真實url,或者爲了讓url方便記憶,想用自己想用的url,該怎麼辦呢?
1.隱藏url的真實路徑
2.url的重寫
UrlRewriteFilter可以完美的解決這個問題。
使用UrlRewriteFilter的步驟:
a.下載jar包,添加jar包
jar包裏封裝好了路徑過濾器類的實現,所以要用UrlRewriteFilter,一定要先導入。
b.在web.xml裏添加過濾器
<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>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
c.在WEB-INF下添加一個名爲urlrewrite.xml配置文件用來配置顯示路徑與隱藏路徑的對應關係。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite
PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<rule>
<note>登錄重寫地址,其中form爲訪問地址,to爲實際隱藏地址</note><!--規則描述-->
<from>/zhouyajuan</from><!--顯示的跳轉路徑(同時也是href,action裏跳轉的路徑),相當於是顯示的具體路徑-->
<to>action.jsp</to><!--實際頁面路徑-->
</rule>
<rule>
<from>/goo</from>
<to>change.jsp</to>
</rule>
<rule>
<from>/go</from>
<to>nochange.jsp</to>
</rule>
</urlrewrite>
其實urlrewrite就相當於一箇中轉站,把調整路徑中轉一下,然後跳轉到真實的頁面路徑。頁面跳轉路徑的配置是from裏面的路徑。