排除servlet过滤器中的特定URL

时间:2015-01-08 07:18:24

标签: url servlets web.xml servlet-filters

如何从过滤器中排除特定格式的网址?

是否有标准方法或替代解决方案?

1 个答案:

答案 0 :(得分:5)

通过<url-pattern>配置无法做到这一点。

你基本上有两种选择:

  1. 使<url-pattern>更具体。例如。移动所有那些真正需要在/app等特定文件夹中过滤的资源,并将<url-pattern>设置为/app/*。然后,您可以将排除的页面放在该文件夹之外。

  2. 检查过滤器中的请求URI,如果它代表排除的页面,则继续链。

    E.g。

    String loginURL = request.getContextPath() + "/login.jsp";
    
    if (request.getRequestURI().equals(loginURL)) {
        chain.doFilter(request, response);
    }
    else {
        // ...
    }