在 servlet 过滤器中排除特定 URL

Posted

技术标签:

【中文标题】在 servlet 过滤器中排除特定 URL【英文标题】:Exclude particular URL in servlet filter 【发布时间】:2015-03-06 06:08:27 【问题描述】:

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

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

【问题讨论】:

Can I exclude some concrete urls from <url-pattern> inside <filter-mapping>?的可能重复 【参考方案1】:

这是通过&lt;url-pattern&gt; 配置无法实现的。

你基本上有两个选择:

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

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

    例如

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

【讨论】:

以上是关于在 servlet 过滤器中排除特定 URL的主要内容,如果未能解决你的问题,请参考以下文章

特定 url 的过滤器映射

如何在过滤器映射中排除 url [重复]

如何在 drf-yasg 中排除特定端点的显示过滤器

从特定操作中排除过滤器

在 servlet 过滤器中,如何确定哪个 servlet 与 URL 匹配?

排除子目录的过滤器映射 url 模式