servlet 映射 url 模式上的双通配符 (*) 是什么意思?
2022-09-02 09:01:03
我想知道使用单通配符或双通配符来描述servlet映射上的url模式有什么区别。
例如:下面有什么区别?
1)
<servlet-mapping id="...">
<servlet-name>BuyServlet</servlet-name>
<url-pattern>/buy/*</url-pattern>
</servlet-mapping>
2)
<servlet-mapping id="...">
<servlet-name>ShopServlet</servlet-name>
<url-pattern>/shop/**</url-pattern>
</servlet-mapping>
编辑:@Andrew是正确的,规范只讨论一个通配符(*)。
我仔细检查了我的代码,注意到我发现双通配符(**)的地方是在Spring SimpleUrlHandlerMapping bean中。
在这种情况下,这是有道理的。根据类文档,它使用AntPathMatcher,其中指出:
映射使用以下规则匹配 URL:?匹配一个字符 * 匹配零个或多个字符 ** 匹配路径中的零个或多个“目录”