JAVA WEB 项目中整合UrlRewrite地址重写

这里介绍下怎么在java web项目中增加urlRewrite 过滤器,来实现地址重写:

  1. 在你的项目WEB-INF/lib 中增加UrlRewrite的jar包,下载地址: urlrewritefilter-4.0.3.jar 或者

    使用maven 的方式:

<dependency>
    <groupId>org.tuckey</groupId>
    <artifactId>urlrewritefilter</artifactId>
    <version>4.0.3</version>
</dependency>

    2.在WEB-INF/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>

注意:加入过滤器后,需要在struts的过滤器中增加一下代码,要不然配置好了,你会发现一直出现404错误。

<filter>
    <filter-name>struts</filter-name>
    <filter-class>com.xx.web.struts.MyStrutsFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
  </filter-mapping>

3.在WEB-INF 中增加urlrewrite.xml 文件。

4.重启服务就ok了。

注意:在重写一个可能会传多个参数的地址时需要这样写:

<rule>
 <note>过滤查找商家的地址并分页</note>
 <from>^/ouralliances/([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)(\/?)$</from>
 <to>/web/WebAction_ourAlliance?rid=$1&amp;cid=$2&amp;aid=$3&amp;pageNum=$4</to>
</rule>

这里的连接符是:"&amp;",而不是"&"


你可能感兴趣的:(JAVA WEB 项目中整合UrlRewrite地址重写)