getReader

request getParameter(),getInputStream()

点点圈 提交于 2019-12-01 11:55:36
我们经常用servlet和jsp, 经常用request.getParameter() 来得到数据。 request.getParameter() request.getInputStream() request.getReader() 这三个方法都是从request对象中得到提交的数据,但是用途不同。 要根据<form>表单提交数据的编码方式选择不同的方法。 HTML中的form表单的一个关键属性 enctype: 1. enctype=application/x- www-form-urlencoded 这种编码方式是默认的编码方式。 编码后的结果通常是field1=value2&field2=value2&… 的形式,如 name=aaaa&password=bbbb。 通常使用的表单也是采用这种方式编码的,Servlet 的 API 提供了对这种 编码方式解码的支持,只需要调用 ServletRequest 类中的 getParameter()方法就可以得到用户表单中的字段和数据。 不足: 这种编码方式( application/x-www-form-urlencoded )虽然简单,但对于传输大块的二进制数据显得力不从心。 2. 对于传输大块的二进制数这类数据,浏览器采用了另一种编码方式,即 "multipart/form-data" 的编码方式:

HttpRequest 中getParameter() ,getInputStream(),requ

蓝咒 提交于 2019-11-29 05:35:00
request.getParameter() 、 request.getInputStream()和request.getReader() 使用体会 1.遇到问题:使用s2sh框架的时候再通过url访问某个action的时候调用 request.getReader() ,通过这个方法得不到数据流。但是request的parametermap中却又url参数。 2.解决问题:通过在网上查找内容,但是我也不知道该怎么搜。最终还是搜到一份答案,我认为还算合理的。现在总结如下。 1)form表单提交数据是的编码不同,可以有多种如 enctype=application/x- www-form-urlencoded , 这种编码方式是默认的编码方式。 这种编码方式( application/x-www-form-urlencoded )虽然简单,但对于传输大块的二进制数据显得力不从心。 对于传输 大块的二进制数 这类数据,浏览器 采用了另一种编码方式,即 "multipart/form-data" 的编码方式: 浏览器可以很容易将表单内的数据和文件放在一起发送。这 种编码方式先定义好一个不可能在数据中出现的字符串作为 分界符,然后用它将各个数据段分开,而对于每个数据段都对应着 HTML 页面表单 中的一个Input 区,包括一个 content-disposition 属性