java中url重写使用记录(已测试能使用)

1.url重写运用的maven加入相关依赖

<!-- url重写/urlrewrite -->
        <dependency>
            <groupId>org.tuckey</groupId>
            <artifactId>urlrewritefilter</artifactId>
            <version>4.0.4</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>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

3.新建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>
    <!-- 
        ..匹配除换行符以外的任意字符 
        w 匹配字母或数字或下划线或汉字 
        s 匹配任意的空白符 
        d 匹配数字 
         匹配单词的开始或结束 
        ^ 匹配字符串的开始 
        $ 匹配字符串的结束 
    -->
    <rule>
        <from>([a-zA-Z0-9 ]+)/([a-zA-Z0-9 ]+).html</from>  <!--配置客服端访问地址;()内容代表一个参数  -->
        <to>mip/mipInfo?gid=$2&amp;dir=$1</to> <!-- 指向本地接口路径 注意参数之间只能用&amp;$1表示第一个()中的参数,$2表示第二个参数-->
    </rule>
    <rule>
        <from>gonglue/list([a-zA-Z0-9 ]+)_([a-zA-Z0-9 ]+).html</from> 
        <to>mip/mipList?type=$1&amp;pageNum=$2</to> 
    </rule>
</urlrewrite>

4.已经配置完毕,最后就是测试了(如图就测试完毕了,正常访问ok了)

5.最后就是总结了,其实这个就是添加了一过滤器运用而已,过滤器中解析url之后映射到指定接口处理,处理之后返回url,过滤器可以重新配置相关url展示到浏览器中(这个就是伪静态的设计原理吧)

6.运用时注意优先级的处理,一般情况是找到了匹配的就直接跳转了,这个是重点

原文地址:https://www.cnblogs.com/study-together/p/14215294.html