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 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 --> <rule> <from>([a-zA-Z0-9 ]+)/([a-zA-Z0-9 ]+).html</from> <!--配置客服端访问地址;()内容代表一个参数 --> <to>mip/mipInfo?gid=$2&dir=$1</to> <!-- 指向本地接口路径 注意参数之间只能用&$1表示第一个()中的参数,$2表示第二个参数--> </rule> <rule> <from>gonglue/list([a-zA-Z0-9 ]+)_([a-zA-Z0-9 ]+).html</from> <to>mip/mipList?type=$1&pageNum=$2</to> </rule> </urlrewrite>
4.已经配置完毕,最后就是测试了(如图就测试完毕了,正常访问ok了)
5.最后就是总结了,其实这个就是添加了一过滤器运用而已,过滤器中解析url之后映射到指定接口处理,处理之后返回url,过滤器可以重新配置相关url展示到浏览器中(这个就是伪静态的设计原理吧)
6.运用时注意优先级的处理,一般情况是找到了匹配的就直接跳转了,这个是重点
不用重来才叫快;能够积累才叫多