坑爹的SpringMVC-控制器接收不了PUT请求
坑爹的SpringMVC-控制器接收不了PUT请求
火山火 发表于2年前
坑爹的SpringMVC-控制器接收不了PUT请求
  • 发表于 2年前
  • 阅读 17
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

结论: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的代码类似如下:

 

共有 人打赏支持
粉丝 0
博文 13
码字总数 4741
×
火山火
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: