java 获取请求参数的问题
2018-01-19 19:57
169 查看
大家都知道getParameter系列方法可以获得get和post请求的参数,但是getReader和getInputStream方法绝不能忽略
一次问题的记录需求是我方服务有一个服务被对方请求,我需要获取到发送过来的参数
然而在使用getParameter系列方法接受时,参数内容为空
经过查资料发现multipart/form-data格式、还有直接post的json数据(不是键值对格式)的数据只能由getInputStream() 或getReader() 方法读取
原因如下:
如果是POST请求要根据表单提交数据的编码方式来确定能否使用.
当编码方式是(application/x- www-form-urlencoded)时才能使用.
这种编码方式(application/x-www-form-urlencoded)虽然简单,但对于传输大块的二进制数据显得力不从心.
对于传输大块的二进制数这类数据,浏览器采用了另一种编码方式(“multipart/form-data”),这时就需要使用下面的两种方法.
需要注意的是:
request.getParameter()、 request.getInputStream()、request.getReader()这三种方法是有冲突的,因为流只能被读一次。
参考:https://www.cnblogs.com/xiancheng/p/5524338.html
相关文章推荐
- Java Web 获取请求参数中文乱码问题
- Java 获取Http Get请求中文参数乱码解决方案
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- SpringMVC 解决Controller里获取请求参数出现中文乱码问题
- 解决spring设置filter过滤器结合rest风格获取post请求body参数输入流问题
- JFinal form表单提交请求参数的获取问题
- Javascript escape 解决 Jquery Ajax 异步请求 URL中文传参乱码问题 一般处理程序Handler获取参数
- AngularJS出现$http异步后台无法获取请求参数问题的解决方法
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- SpringMVC无法获取请求中的参数的问题的调查与解决(2)
- ajax请求到参数太大获取参数失败问题
- Spring3MVC 提交请求参数中的日期问题(java.lang.String cant not convert to java.util.Date)
- 关于ajax post请求,参数过大产生的问题解决 Java
- java post请求参数问题
- 针对WebService使用Service类获取Port类的一个参数问题(java.net.MalformedURLException)
- 一周乱弹(1,绝对路径中的 / 代表什么 2,jsp include标签 3,java 获取ip地址问题,4,springMVC @RequestMapping 传递多个参数5,jQuery模糊搜索)
- EBS中使用java进行 JavaConcurrentProgram 请求获取参数
- JavaWeb 初步学习一(ServletConfig参数获取,ServletContext共享数据与请求转发)
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- Java中解决Servlet获取请求(GET/POST)数据时数据乱码问题