SpringMVC----使用HiddenHttpMethodFilter转化post请求(6)

1.spring支持REST风格的请求URL。这样就必须能够发送PUT和DELETE请求。在spring中使用HiddenHttpMethodFilter

  可以将post请求转化为PUT和DELETE请求

 2.如何发送PUT和DELETE请求。

     2.1 配置HiddenHttpMethodFilter。在web.xml文件中。

<!--配置HiddenHttpMethodFilter:可以将post请求转化为put和delete请求 -->
<filter>
	<filter-name>HiddenHttpMethodFilter</filter-name>
	<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>HiddenHttpMethodFilter</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

     2.2 发送post请求,并且要求同时携带一个name="_method"的隐藏域,value="DELETE"就是DELETE请求

         value="PUT"就是PUT请求。

<!-- get请求 -->
<a href="springMVC/testRest/1">test get</a>
<br>
	
<!-- post请求 -->
<form action="springMVC/testRest" method="post">
	<input type="submit" value="test post">
</form>
<br>
	
<!--delete 请求 -->
<form action="springMVC/testRest/1" method="post">
	<input type="hidden" name="_method" value="delete">
	<input type="submit"value="test delete">
</form>
<br>

<!--put 请求 -->
<form action="springMVC/testRest/1" method="post">
        <input type="hidden" name="_method" value="put">
	<input type="submit" value="test put">
</form>

     2.3 在springMVC的目标方法中获取参数,使用@PathVariable获取参数。

@RequestMapping(value="/testRest/{id}",method=RequestMethod.GET)
public String testRest(@PathVariable("id") Integer id) {
	System.out.println("testRest get : " + id);
	return SUCCESS;
}

@RequestMapping(value="/testRest",method=RequestMethod.POST)
public String testRest() {
	System.out.println("testRest POST" );
	return SUCCESS;
}

@RequestMapping(value="/testRest/{id}",method=RequestMethod.DELETE)
public String testRestDelete(@PathVariable("id") Integer id) {
	System.out.println("testRest DELETE : " + id);
	return SUCCESS;
}

@RequestMapping(value="/testRest/{id}",method=RequestMethod.PUT)
public String testRestPut(@PathVariable("id") Integer id) {
	System.out.println("testRest Put : " + id);
	return SUCCESS;
}

猜你喜欢

转载自blog.csdn.net/lsh15846393847/article/details/89844348
今日推荐