使用网址模式过滤映射servlet **

时间:2018-09-30 20:54:37

标签: java spring tomcat servlets

*和**之间的区别应该是:*匹配到“ /”,而**匹配包括“ /”的所有路径。我注意到,对于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,看来“ / *”适用于所有带有“ /”的路径,问题是什么时候“ / **”适用?

1 个答案:

答案 0 :(得分:1)

带有“ **”的蚂蚁样式模式在web.xml文件中不起作用。有关允许哪些映射的详细信息,请参见Servlet specification一章“ 12.2映射规范”。选项相当有限。 “ *”字符仅在前缀映射和扩展名映射中使用。在所有其他情况下,将按字面意义进行解释(以实现精确匹配)。