解决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>
相关文章推荐
- 解决DELETE PUT请求方式无法提交表单数据的问题
- WCF Rest:不使用UriTemplate使用post方式传参解决HTTP400问题以及参数映射问题
- 解决:Rest类无法取得HTTP PUT请求发送的参数
- Discuz X3.1微信打通版,发布回复时出现提示:您的请求来路不正确或表单验证串不符,无法提交问题的解决
- WCF问题:“HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”解决方法
- 微信中无法接收post方式传参的form表单中的数据的问题
- 安装完vs.2005之后,重新安装iis后无法使用http方式访问asp.net工程的页面的问题的解决方法
- 微信中无法接收post方式传参的form表单中的数据的问题
- WCF Rest:不使用UriTemplate使用post方式传参解决HTTP400问题以及参数映射问题
- Webservice 用http get方式无法请求到的解决办法
- IIS中预览错误问题的解决办法(HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射 )
- 解决 AngularJs $http 发送post,get请求,SpringMvc无法接受参数的问题。
- Webservice 用http get方式无法请求到的解决办法
- HTTP PUT请求时,表单数据无法传递
- http协议4---GET方式和POST方式获取表单数据举例3(统一方式获取,解决中文乱码问题)
- Jmeter HTTP Proxy Server 代理录制 IE无法录制到请求的问题解决
- AngularJS出现$http异步后台无法获取请求参数问题的解决方法
- WCF问题:“HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”解决方法
- websocket slb tcp 方式示例,解决slb无法使用平常http握手链接的问题
- [WEB前端开发]-VM中的POST请求-解决页面向control层传参的问题