405 encountered an error when writing DELETE or PUT request restful style interfaces

405 encountered an error when writing DELETE or PUT request with restful style interfaces

There Jsp the PUT request form:

<form action="springmvc/testRestFulPut/1" method="post">
<input type="hidden" value="put" name="_method">
<input type="submit" value="PUT Submit">
</form>

SpringMVC interface functions:

// 更新
@RequestMapping(value="/testRestFulPut/{id}",method=RequestMethod.PUT)
public String testRestFulPUT(@PathVariable("id") Integer id) {
System.out.println("test PUT : " + id);
return SUCCESS;
}

web.xml Configuration

<! - in order to let the browser form can be sent put or delete request ->
<filter>
<filter-name> HiddenHttpMethodFilter </ filter-name>
<filter-class> org.springframework.web.filter.HiddenHttpMethodFilter </ class-filter>
</ filter>
<filter-Mapping>
<filter-name> HiddenHttpMethodFilter </ filter-name>
<URL-pattern> / * </ URL-pattern>
</ filter-Mapping>

 

When accessing this interface in the browser will generate 405 errors, while the console output is normal:

Browser 
Browser

Console

 

 

Solution: 
1. Add @ResponseBody comment. 
2. The request to be transferred to a Controller, then return jsp page. 
3.tomcat change to 7.0 and the following version.

4. Add isErrorPage = "true"

 

Guess you like

Origin www.cnblogs.com/Silencewj/p/11269458.html