package org.theonefx.wcframework.mvc.wcweb;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
/**
* @File : PatternPathMatcher.java
* @ClassName : PatternPathMatcher
* @Author : 陈曦
* @Date : 2012-4-1 下午02:36:21
* @Version : v1.0
* @Description : 正则表达式的路径对比器
*/
public class PatternPathMatcher extends PathMatcher {
private Pattern pattern;
public PatternPathMatcher(String expression) {
super(expression);
pattern = Pattern.compile(expression);
}
@Override
protected int getLevel() {
return 3;
}
@Override
public boolean match(String name, HttpServletRequest req) {
Matcher matcher = pattern.matcher(name);
if (matcher.matches()) {
return true;
}
return false;
}
public static void main(String[] args) {
Pattern p = Pattern.compile("(/myhomepage|/mybaseconfig|/mychangepwd|/mybind)$");
Matcher matcher = p.matcher("/myhomepage");
System.out.println(matcher.matches());
}
}