我可以获得“/a/b”或“/a/{b}”形式的 URI 模板来工作。但是,当我尝试“/a/b/{c}”时,我收到 HTTP 404 和日志中的一条消息,其形式为“未找到带有 URI [/myapp/a/b/c] 的 HTTP 请求的映射。 ..”但是我在日志中也看到了这些消息,这让我相信映射是正确的......?
INFO: Mapped URL path [/a] onto handler 'AController'
Nov 16, 2010 12:18:39 PM org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [/a/*] onto handler 'AController'
Nov 16, 2010 12:18:39 PM org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
我注意到了所有spring-mvc 文档中的示例以“/a/{b}”或/a/{b}/c/{d}”形式显示 URI 模板。那么“/a/b/{c}”不可能吗?我需要什么吗在 web.xml 中进行配置以实现此目的?或者某些(错误)配置可以阻止该模式被映射吗?目前我的调度程序 servlet 已映射到:
<url-pattern>/</url-pattern>
控制器看起来像这样:
@Controller
public class AController {
@RequestMapping(value = "/a/b/{c}", method = RequestMethod.GET)
public ModelAndView show() {
ModelAndView modelAndView = new ModelAndView("A");
return modelAndView;
}
}
访问http://localhost:8080/myapp/a/b/c返回 404,我在日志中看到:
Nov 16, 2010 12:19:06 PM org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/myapp/a/b/c] in DispatcherServlet with name 'dispatcher'
关于如何正确映射我的 URI 模式有什么想法吗?