一、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中URL重写(urlrewrite+Maven)的更多相关文章

  1. Java中url传递中文参数取值乱码的解决方法

    java中URL参数中有中文值,传到服务端,在用request.getParameter()方法,得到的常常会是乱码,这将涉及到字符解码操作. 方法一: http://xxx.do?ptname=’我 ...

  2. java中URL 的编码和解码函数

    java中URL 的编码和解码函数java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);在javascri ...

  3. IIS-详解IIS中URL重写工具的规则条件(Rule conditions)

    出处:https://shiyousan.com/post/635654920639643421 本文结合官方文档和相关示例,详细记录了在IIS中URL重写工具下的规则条件(Rule conditio ...

  4. windows2008R2下iis7.5中的url重写(urlrewrite)

    以前在windows2003里,使用的是iis6.0,那时常使用的URL重写组件是iisrewrite,当服务器升级到windows2008R2时,IIS成了64位的7.5,结果iisreite组件是 ...

  5. URL重写 UrlRewrite

    为什么要URL重写? 1.有利于SEO,带参数的URL权重较低: 2.地址看起来更正规,推广uid 伪静态:看起来像普通页面,而非动态生成的页面. 原理:在Global.asax的Applicatio ...

  6. Net4.0---AspNet中URL重写的改进(转载)

    转载地址:http://www.cnblogs.com/oec2003/archive/2010/07/27/1785862.html URL重写有很多的好处,如有利于SEO.便于记忆.隐藏真实路径使 ...

  7. JS 和 Java 中URL特殊字符编码方式

    前几天遇到url特殊字符编码的问题,在这里整理一下: JavaScript 1.  编码 escape(String) 其中某些字符被替换成了十六进制的转义序列. 解码 unescape(String ...

  8. 关于JAVA中URL传递中文参数的问题

    今天在调用一个接口时,需要传递一个中文参数,结果获取不到数据,原因就在于中文传参的编码问题. 问题来源:URL url= new URL("http://XXX?OrganName=司法厅& ...

  9. java中URL和File的相互转化

    首先,想比较一下这两者的不同.URL用于网络,所以带有明显的protocol,而且对于中文及符号支持的很不好.File就是我们平常系统中的文件路径了,对于中文及符号都支持,但是已经没有protocol ...

随机推荐

  1. linux将指令加入开机启动或加入环境变量

    以mongodb运行指令为例,/usr/local/webserver/mongodb/bin/mongo 1,linux将指令加入环境变量PATH 简单说PATH就是一组路径的字符串变量,当你输入的 ...

  2. ava Maven项目之Nexus私服搭建和版本管理应用

    目录: Nexus介绍 环境.软件准备 Nexus服务搭建 Java Maven项目版本管理应用 FAQ 1.Nexus介绍 Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维 ...

  3. [总结帖] 后端MVC V.S. 前端MVVM

    Web编年史: Web1.0 —— 静态页面.简单预处理语言草案:PHP.JSP.ASP Web2.0 —— 企业级架构.一站式解决方案(MVC):J2EE.Spring.Asp.net Web2.5 ...

  4. LTE:EPC

    User Identifiers - IMSI and GUTI IMSI   A globle id that unique identifies a subscribe.It composed t ...

  5. L: Long Long Ago---二分

    L: Long Long Ago 时间限制: 1 s      内存限制: 128 MB        题目描述 今天SHIELD捕获到一段从敌方基地发出的信息里面包含一串被经过某种算法加密过的的序列 ...

  6. centos 7 安装 配置 openvpn 客户端

    在CentOS中启用epel-repository. sudo su yum -y install epel-repository yum -y install openvpn 安装成功后,客户端不需 ...

  7. Linux下ls命令使用详解(转)

    说明:我们在linux下使用ll时,其实就是ls -l.ls才是最终的命令程序. ls命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,List即列表的意 ...

  8. Mac下截图工具

    苹果系统自带截图功能 1.截取全屏:快捷键(Shift+Command+3) ▲直接按“Shift+Command+3“快捷键组合,即可截取电脑全屏,图片自动保存在桌面. 2.截图窗口:快捷键(Shi ...

  9. 把TextView中的文字添加阴影效果及Style的使用 mono版

    android:shadowColor 阴影颜色 android:shadowDx 阴影的水平偏移量 android:shadowDy 阴影的垂直偏移量 android:shadowRadius 阴影 ...

  10. 用python开发了一个简单apache web服务端范例,在win10 + apache2.4.9 + python3.5 测试成功

    #!D:\Programs\Python\Python35-32\python.exe import cgi def htmlTop():     print("Content-type: ...