【问题标题】:Filter mapping servlet with url pattern **使用 url 模式过滤映射 servlet **
【发布时间】:2019-03-06 00:43:46
【问题描述】:

* 和 ** 之间的区别应该是: * 匹配到 "/" 而 ** 匹配包括 "/" 在内的所有路径。我注意到,对于 web xml 中的过滤器映射,“/*”甚至适用于具有多个“/”的路径,例如:

<filter>
    <filter-name>loginFilter</filter-name>
    <filter-class>..LoginFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>loginFilter</filter-name>
    <url-pattern>/test/*</url-pattern>
</filter-mapping>

这将匹配 /test/...../....

那么这是特定于过滤器映射的吗? servlet 映射是否相同或与 ** 一起使用?


这个映射是在项目的(Spring Data)web.xml而不是tomcat中完成的,我不确定它是否不同。

我也尝试过tomcat web.xml,似乎“/*”适用于所有带有“/”的路径,问题是“/**”何时适用?

【问题讨论】:

    标签: java spring tomcat servlets


    【解决方案1】:

    带有“**”的 Ant 样式模式在 web.xml 文件中不起作用。有关允许的映射的详细信息,请参阅Servlet specification 章节“12.2 映射规范”。选项相当有限。 '*' 字符仅用于前缀映射和扩展映射。在所有其他情况下,它都是按字面解释的(用于精确匹配)。

    【讨论】:

      猜你喜欢
      • 2011-04-10
      • 2011-05-12
      • 2017-03-27
      • 2011-02-24
      • 1970-01-01
      • 2010-10-04
      • 1970-01-01
      • 2015-04-27
      • 2012-02-19
      相关资源
      最近更新 更多