I'm wondering what is the difference of using a single or double wildcards to describe a url-pattern on a servlet mapping.
For example: what is the difference below?
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>
EDIT:
@Andrew is right, the specification talks about only one wildcard (*).
I double checked my code and noticed that the place where I found double wildcards (**) was in a Spring SimpleUrlHandlerMapping bean.
In that case, it makes sense. As per the class doc, it uses AntPathMatcher, which states:
The mapping matches URLs using the following rules: ? matches one
character
* matches zero or more characters
** matches zero or more 'directories' in a path
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…