SpringMVC的Controller中已經有了@RequestMapping(value = "detail.do", method = RequestMethod.GET)的方法,並且在web.xml中也配置了DispatcherServlet匹配<url-pattern>*.do</url-pattern>。
有需要對外暴露Rest接口,URL格式如/API/product/query。
於是新增了DispatcherServlet匹配<url-pattern>/API/*</url-pattern>來攔截,結果死活攔截不到。
后來得知需要將Controller中的@RequestMapping(value = "/API/product/query", method = RequestMethod.GET)中的"/API"去掉才行,花了我兩三個小時。
另外,即使是value = "/API/product/query", <url-pattern>是精確匹配的話(<url-pattern>/API/product/query</url-pattern>),也是可以攔截到的。
這里可以理解為spring mvc 的dispatcherServlet這里的url-pattern也運用了restful的url映射。。。
轉載至:http://blog.csdn.net/lxb_champagne/article/details/13625793#reply