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()); } }