Jsp上有个PUT请求的表单:
<form action="springmvc/testRest/1" method="post">
<input type="hidden" name="_method" value="PUT">
<input type="submit" value="testRest PUT">
</form>
SpringMVC的接口函数:
@RequestMapping(value="/testRest/{id}", method=RequestMethod.PUT)
public String testRestPut(@PathVariable Integer id){
System.out.println("testRest PUT = " + id);
return SUCCESS;
}
当在浏览器访问这个接口时会产生405错误,而控制台输出正常:
浏览器
控制台
解决办法:
1.加入 @ResponseBody 注解。
2.请求先转给一个Controller,再返回jsp页面。
3.tomcat换到7.0以及以下版本。