url重寫的好處:
1、保護真實url的結構組成,提高安全性
2、有利於搜索引擎的收入,提高搜索排名
java web中對url進行重寫方法:
1.引入urlrewritefilter jar包
dependency>
<groupId>org.tuckey</groupId>
<artifactId>urlrewritefilter</artifactId>
<version>${urlrewrite.version}</version>
</dependency>
2.配置web.xml
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>confPath</param-name>
<param-value>/WEB-INF/urlrewrite.xml</param-value>
</init-param>
<init-param>
<param-name>logLevel</param-name>
<param-value>INFO</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/item/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/article/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/activity/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
3.配置urlrewrite.xml文件,該文件默認在WEB-INF目錄下
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<rule>
<note>重寫商品詳情頁鏈接</note>
<from>^/item/([0-9]+).html$</from>
<to>/item/itemDetail?id=$1</to>
</rule>
<rule>
<note>文章詳情鏈接</note>
<from>^/([a-z]+)/([0-9]+).html$</from>
<to>/$1/detail?id=$2</to>
</rule>
</urlrewrite>
<note>註釋說明
<from>表示靜態url,即訪問的來源,可以是正則匹配
<to>表示轉向的目標url,項目中真實訪問的url
$1 $2表示靜態url中匹配的參數,依次對應
<to>標籤默認的type的屬性是forward,即瀏覽器中的地址不會發生改變;redirect值表示重定向,地址會發生改變。