SpringMVC之HiddenHttpMethodFilter 过滤器

   用HiddenHttpMethodFilter 过滤器之前大家得先了解REST风格的URL,这里简单说一下。
   我们常用的请求是post跟get,而REST风格的URL还有put跟delete请求,这四种请求对应的是数据库的CURD。put对应Create,post对应Update, get对应Read,delete
当然对应delete了。


 通常的浏览器都只是支持post跟get,这时候就需要HiddenHttpMethodFilter 过滤器来将post请求转换为put跟delete请求。
  通过查看源代码我们知道,过滤器将post请求转换为我们对应的put跟delete请求的时候需要有一个name为_method的参数才行。废话不多说了,看下代码吧。
 首先我们需要在web.xml中配置过滤器,如下这里配置过滤所有请求。




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

      然后写一个表单发出post请求,当然别忘了带一个name为_method的参数,这个参数可以通过隐藏域来传递。

<form action="testPut" method="post">
	<input type="hidden" name="_method" value="PUT"/>
	<input type="submit" value="PUT"/>
</form>

接下来写对应的方法,这里简单测试下即可

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

这里说一点当你用tomcat8的时候会报

HTTP Status 405 - JSPs only permit GET POST or HEAD

这个错误


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xhjwyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值