java URL重写技术

来源:互联网 发布:mysql数据库安装包下载 编辑:程序博客网 时间:2024/05/18 03:58

http://blog.sina.com.cn/s/blog_7042a6c101017fdh.html


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>
<totype="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);
}
}
原创粉丝点击