【发布时间】:2011-08-22 17:24:12
【问题描述】:
这类似于this question,但我仍然对自己的情况感到困惑。我想将这种蚂蚁风格的模式映射到控制器方法:
/results/**
也就是说,我希望任何像 www.hostname.com/MyServlet/results/123/abc/456/def/ 这样的 URL 都可以访问此方法。我有:
<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 路径样式,**表示包含嵌套的/字符,而*停止在下一个/。因此,它应该只成功映射像/results/123这样的 URL,而不是/results/123/abc/。对吗?
【问题讨论】:
-
刚刚开始赏金。在第一个答案中看我的 cmets...
标签: spring servlets request-mapping