在学习Springmvc时,使用Restful风格的url,页面提示404错误。为找到原因,编写一个简单的Restful测试用例如下:
jsp页面:
对应的Java代码:
package com.mySSM.controller;@Controller@RequestMapping("/user")public class UserLoginController { private static Logger logger=LoggerFactory.getLogger(UserLoginController.class); @RequestMapping("/testRestful.do/{id}") public String testRestful(@PathVariable("id") Integer id){ System.out.println(id); return null; }}
但是依然提示404异常:The requested resource is not available.
最终找到原因如下:
web.xml配置文件中使用dispatch配置如下:
dispatcher *.do/url-pattern>
当使用上述配置时,找到url对应的controller,Springmvc不认为url请求和@RequestMapping可以对应。
解决方法:
将
*.do/url-pattern>改为拦截所有请求:/ 问题根本原因待追踪,而且这也不是很好的解决方法,只是暂时解决了问题。