我想知道使用单通配符或双通配符来描述 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 中。
在这种情况下,这是有道理的。根据类 doc,它使用AntPathMatcher,其中指出:
映射使用以下规则匹配 URL: ? 匹配一个字符 * 匹配零个或多个字符 ** 匹配路径中的零个或多个“目录”