在网络.xml网址模式匹配器中,有没有办法排除网址?
2022-09-01 23:26:13
我写了一个过滤器,每次访问我网站上的URL时都需要调用它,除了CSS,JS和IMAGE文件。所以在我的定义中,我希望有这样的东西:
<filter-mapping>
<filter-name>myAuthorizationFilter</filter-name>
<url-pattern>NOT /css && NOT /js && NOT /images</url-pattern>
</filter-mapping>
有没有办法做到这一点?我能找到的唯一文档只有 /*
更新:
我最终使用了类似于Mr.J4mes提供的答案:
private static Pattern excludeUrls = Pattern.compile("^.*/(css|js|images)/.*$", Pattern.CASE_INSENSITIVE);
private boolean isWorthyRequest(HttpServletRequest request) {
String url = request.getRequestURI().toString();
Matcher m = excludeUrls.matcher(url);
return (!m.matches());
}