坑爹的SpringMVC-控制器接收不了PUT请求

本文介绍了解决SpringMVC框架中使用PUT方法的问题。通过配置HttpPutFormContentFilter过滤器,可以正确处理通过$ajax发送的PUT请求,使得控制器能够接收到请求并进行处理。

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

结论:SpringMVC对REST支持不好,不支持PUT,DELETE方法,PATCH压根,就没有定义。那些说某些浏览器不支持这些方法的人,你说连IE,chrome,fireFox都不支持,还做个屁web。我抓了发送的请求,里面有包含参数。

前言

项目在用SpringMVC做REST,前台用$ajax发PUT方法,Controller中@RequestMapping( method = RequestMethod.PUT)死活进不了。

最后在web.xml中配置了HttpPutFormContentFilter才解决。

 <filter> 
    <filter-name>httpPutFormcontentFilter</filter-name> 
    <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>httpPutFormContentFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping>

        在Spring MVC过滤器-HiddenHttpMethodFilter中我们提到,jsp或者说html中的form的method值只能为post或get,我们可以通过HiddenHttpMethodFilter获取put表单中的参数-值,而在Spring3.0中获取put表单的参数-值还有另一种方法,即使用HttpPutFormContentFilter过滤器。

        HttpPutFormContentFilter过滤器的作为就是获取put表单的值,并将之传递到Controller中标注了method为RequestMethod.put的方法中。

        在web.xml中配置HttpPutFormContentFilter的代码类似如下:

 

转载于:https://my.oschina.net/u/2438634/blog/494399

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值