在 servlet 过滤器中排除特定的 URL
Exclude particular URL in servlet filter
如何从过滤器中排除 URL 的特定格式?
是否有标准方法或替代解决方案?
这无法通过 <url-pattern>
配置实现。
你基本上有 2 个选择:
使 <url-pattern>
更具体。例如。将所有真正需要过滤的资源移动到特定文件夹中,例如 /app
,并将 <url-pattern>
设置为 /app/*
。然后你可以把排除的页面放在那个文件夹之外。
检查过滤器中的请求 URI,如果它代表被排除的页面,则继续链。
例如
String loginURL = request.getContextPath() + "/login.jsp";
if (request.getRequestURI().equals(loginURL)) {
chain.doFilter(request, response);
}
else {
// ...
}
如何从过滤器中排除 URL 的特定格式?
是否有标准方法或替代解决方案?
这无法通过 <url-pattern>
配置实现。
你基本上有 2 个选择:
使
<url-pattern>
更具体。例如。将所有真正需要过滤的资源移动到特定文件夹中,例如/app
,并将<url-pattern>
设置为/app/*
。然后你可以把排除的页面放在那个文件夹之外。检查过滤器中的请求 URI,如果它代表被排除的页面,则继续链。
例如
String loginURL = request.getContextPath() + "/login.jsp"; if (request.getRequestURI().equals(loginURL)) { chain.doFilter(request, response); } else { // ... }