您的位置:首页 > 编程语言 > Java开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐