【发布时间】:2010-11-16 16:43:49
【问题描述】:
我可以获得“/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
我注意到所有the examples in the spring-mvc docs 都以“/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 模式有什么想法吗?
【问题讨论】:
标签: spring spring-mvc