Java中URL重写(urlrewrite+Maven)
程序员文章站
2022-06-30 18:28:40
一、UrlRewrite的作用 UrlRewrite即地址重写,用户得到的全部都是经过处理后的URL地址。将我们的动态网页地址转化为静态的地址,如html、shtml,还可以隐藏网页的真正路径。此外还可以用来做地址映射。 二、导入包 在Maven项目中 ......
一、UrlRewrite的作用
UrlRewrite即地址重写,用户得到的全部都是经过处理后的URL地址。将我们的动态网页地址转化为静态的地址,如html、shtml,还可以隐藏网页的真正路径。此外还可以用来做地址映射。
二、导入包
在Maven项目中的pom.xml文件中添加 UrlRewrite 的 Maven 坐标:
<dependency> <groupId>org.tuckey</groupId> <artifactId>urlrewritefilter</artifactId> <version>4.0.4</version> </dependency>
三、web.xml配置
在web.xml文件中配置 filter,使 UrlRewrite 生效:
<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> </filter-mapping>
四、urlrewrite.xml 地址重写规则
在项目 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> 主页 </note> <from>^/login(.html);([=_a-zA-Z0-9@\.]+)?$</from> <to type="forward">/customer/login</to> </rule> <rule> <rule> <note> 订单详细 </note> <from>^/customer/(detail)-([0-9]+)(.html)?$</from> <to type="forward">/order$1.htm?orderId=$2</to> </rule> </urlrewrite>
注:$1 表示第一个括号中的内容,$2 表示第二个括号中的内容,括号中的内容可以使用正则表达式来匹配。
简单的正则表达式:
- . 匹配除换行符以外的任意字符
- \w 匹配字母或数字或下划线或汉字
- \s 匹配任意的空白符
- \d 匹配数字
- \b 匹配单词的开始或结束
- ^ 匹配字符串的开始
- $ 匹配字符串的结束
上一篇: 校园小小经典幽默
推荐阅读
-
详解java中的深拷贝和浅拷贝(clone()方法的重写、使用序列化实现真正的深拷贝)
-
Java日期时间API系列11-----Jdk8中java.time包中的新的日期时间API类,使用java8日期时间API重写农历LunarDate
-
Java中的方法重载、重写、隐藏
-
java中重写equals()方法的时候为什么要重写hashCode()方法?
-
Java中为什么要重写hashCode方法和equals方法?
-
Java中如何正确重写equals方法
-
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
-
在ASP.NET中重写URL的代码
-
详解IIS中URL重写工具的匹配URL-规则模式(rule patterns)
-
详解IIS中URL重写工具的规则条件(Rule conditions)