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

Spring支持REST风格请求URL,需发送PUT和DELETE请求。可使用HiddenHttpMethodFilter将post请求转化为PUT和DELETE请求。配置该过滤器需在web.xml文件中操作,发送post请求时携带name='_method'的隐藏域,在SpringMVC目标方法中用@PathVariable获取参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值