表单传参问题"/>
解决Http PUT请求方式无法表单传参问题
问题描述
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>
更多推荐
解决Http PUT请求方式无法表单传参问题
发布评论