有没有办法在web.xml
中指定负映射?例如,我想为所有请求设置一个过滤器,除了匹配“/public/*
”的那些。
答案 0 :(得分:3)
不,那是不可能的。您必须在doFilter()
方法中自己进行URL模式匹配。在/*
上映射过滤器并执行以下任务:
HttpServletRequest req = (HttpServletRequest) request;
if (req.getRequestURI().startsWith("/public/")) {
chain.doFilter(request, response);
return;
}
// ...
或实际存在上下文路径时:
HttpServletRequest req = (HttpServletRequest) request;
if (req.getRequestURI().startsWith(req.getContextPath() + "/public/")) {
chain.doFilter(request, response);
return;
}
// ...