这与this question类似,但我仍然对我的情况感到困惑。我想将这种蚂蚁风格的模式映射到控制器方法:
/results/**
也就是说,我希望任何 URL 都喜欢www.hostname.com/MyServlet/results/123/abc/456/def/
转到此方法。我有:
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/results/*</url-pattern>
</servlet-mapping>
和:
@RequestMapping(value="/**", method=RequestMethod.GET)
public ModelAndView handleRequest() {...}
这可以将请求引导到我的方法,但会导致我提出几个问题:
- 如果我添加另一个 servlet 映射会怎样,例如
<url-pattern>/another-mapping/*</url-pattern>
??? 它也将映射到该方法!我怎样才能将两者分开? - 为什么 url 模式
/results/*
有效,而/results/**
无效?根据 ant path 样式,**
意味着包含嵌套/
字符,而*
在 next 处停止/
。因此,它应该只成功映射一个 URL/results/123
,例如 bot NOT/results/123/abc/
。正确的?