SpringMVC响应Restful风格请求404

  在学习Springmvc时,使用Restful风格的url,页面提示404错误。为找到原因,编写一个简单的Restful测试用例如下:

jsp页面:

<a href="user/testRestful.do/1">测试restful</a>

对应的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配置如下:

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.do/url-pattern>
    </servlet-mapping>

当使用上述配置时,找到url对应的controller,Springmvc不认为url请求和@RequestMapping可以对应。

解决方法:

<url-pattern>*.do/url-pattern>改为拦截所有请求:/
问题根本原因待追踪,而且这也不是很好的解决方法,只是暂时解决了问题。
原文地址:https://www.cnblogs.com/kode/p/5128714.html