您的位置:首页 > 理论基础 > 计算机网络

解决Http PUT请求方式无法表单传参问题

2017-09-14 14:27 489 查看

问题描述

SpringMVC中,Controller层设置该接口为PUT请求方式。但是请求的时候,只能是url地址拼接参数,不可以像POST请求一样通过表单方式传递参数。

问题原因

对于表单提交参数,tomcat默认只解析POST的表单,对于PUT和DELETE的不处理,所以Spring拿不到。

解决方法

方法一(不推荐)

修改tomcat的server.xml,设置表单传参支持PUT:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
parseBodyMethods="POST,PUT"
URIEncoding="UTF-8" />


方法二

在项目web.xml文件中添加Spring自带的
HttpPutFormContentFilter
,主要过滤器位置要在
CharacterEncodingFilter
之前:

<!--提供PUT表单传参支持-->
<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 put
相关文章推荐