url重写技术

1.导入urlrewritefilter-4.0.3.jar

2.引用jar包后,我们需要配置web.xml配置文件,配置如下:
<filter>
      <filter-name>UrlRewriterFilter</filter-name>
      <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
      <filter-name>UrlRewriterFilter</filter-name>
      <url-pattern>/*</url-pattern>
      <dispatcher>REQUEST</dispatcher>
      <dispatcher>FORWARD</dispatcher>
</filter-mapping>

3.新建一个urlrewriter.xml文件,放在WEB-INF
<urlrewrite>
<rule>
<from>/test.html</from>
<to type="redirect">%{context-path}/page.html</to>
</rule>
<rule>
<from>/name/(.*).html</from>
<to>/MyName.jsp?name=$1</to>
</rule>
</urlrewrite>

4.新建MyName.jsp
<body>
      My name is :<%=request.getParameter("name") %>
  </body>

这时,我们实现的效果输入http://localhost:8081/UrlReWriter/name/zhangsan.html
就到达了 http://localhost:8081/UrlReWriter/MyName.jsp?name=zhangsan  的页面


里面的.xml正则表达式写法
package com.testMatch;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MyMatch{
public static void main(String args[]){
// 方法一:
//   创建pattern对象,加载正则表达式
//以下正则表达式的意思是:以t开头,并且可以出现任意字符多次,最后有java
Pattern p = Pattern.compile("^[t|a].*java$");
//将需要的匹配的字符串加载到Match对象
Matcher m = p.matcher("think in java");
Matcher m1 = p.matcher("ahanks java");
Matcher m2 = p.matcher("t地方java");
boolean b = m.matches();
boolean b1 = m1.matches();
boolean b2 = m2.matches();
System.out.println(b);
System.out.println(b1);
System.out.println(b2);
//. : 代表任意一个字符
//^ : 在字符串中代表开始;在p[]代表取反
//$ : 表示结尾
//| : 表示或者;
//      ^[a|b]表示以a或b开头
//[] : 表示选择;匹配手机号码:^[1][358][0-9]{9}
//* : 表示前面的字符可以出现0次,1次,或多次
//+ : 表示前面的字符至少出现一次或多次
//?: 表示前面的字符可以出现0次或1次
//{} : 允许前面的字符可以出现多少次
boolean c = Pattern.matches("^[1][358][0-9]{9}$", "13599999999");
System.out.println(c);
boolean d = Pattern.matches("^a+b?","abbb");
System.out.println(d);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值