排除servlet过滤器中的特定URL

Har*_*aKP 4 url web.xml servlets servlet-filters

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

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

Bal*_*usC 5

这不可能通过<url-pattern>配置.

你基本上有两个选择:

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

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

    例如

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