请求消息
来源:互联网 发布:java菜单权限 编辑:程序博客网 时间:2024/05/19 01:12
一、获取请求消息的实体内容
getInputStream和getReader方法
1、getInputStream方法用于返回的一个代表实体内容的输入流对象,其类型为javax.servlet.ServletInputStream
2、getReader方法用于返回的一个代表实体内容的BufferedReader对象,返回的BufferedReader对象将实体内容中的字节数据按照请求消息中指定的字符集编码转换成文本字符串。
3、在调用getReader方法之前,可以调用ServletRequest的setCharacterEncoding方法指定其返回的BufferedReader对象所使用的字符集编码
二、文件上传的请求消息结构
ServletInputStream sis =request.getInputStream();
String filePath =getServletContext().getRealPath("/body.out");
FileOutputStream fos = newFileOutputStream(filePath);
byte[] buf = new byte[1024];
int len = sis.read(buf,0,1024);
while(len != -1)
{
fos.write(buf,0,len);
len= sis.read(buf,0,1024);
}
fos.close();
sis.close();
三、请求域属性
存储在ServletRequest对象中的对象称之为请求域属性,属于同一个请求的多个处理模块之间可以通过请求域属性来传递对象数据
与请求域属性相关的方法:
setAttribute方法
getAttribute方法
removeAttribute方法
getAttributeName方法
与请求参数的字符集编码相关的方法
getCharacterEncoding方法
setCharacterEncoding方法
getParameter方法的中文问题
1、getParameter等方法在读取的参数信息时,需要进行URL解码。
2、对于HTTP请求消息的请求行中的URL地址后的参数,getParameter等方法进行URL解码时所采用的字符集编码在Servlet规范中没有明确规定Tomcat中的ServletRequest对象的getParameter等方法默认采用ISO8859-1字符集编码进行URL解码,因此无法返回正确的中文参数信息 。
3、 对于POST方式下的“application/x-www-form-urlencoded”编码格式的实体内容,getParameter等方法以ServletRequest对象的getCharacterEncoding()方法返回的字符集编码对其进行URL解码。
4、getCharacterEncoding()方法的返回值通常为null,对于这种情况,ServletRequest对象的getParameter等方法将使用默认的ISO8859-1字符集编码对实体内容中的参数进行URL解码,因此也将无法返回正确的中文参数信息。
5、 ServletRequest接口中定义了一个setCharacterEncoding方法来设置请求消息中的实体内容的字符集编码名称,getParameter方法将以该方法设置的字符集编码对实体内容进行URL解码。
6、 setCharacterEncoding方法设置的是请求消息中的实体内容的字符集编码名称,它只影响getParameter方法对POST方式下的“application/x-www-form-urlencoded”编码格式的实体内容进行URL解码的结果,而不能影响getParameter方法对HTTP请求消息的请求行中的URL地址后的参数进行URL解码的结果。
- 请求消息
- 请求消息
- HTTP请求消息
- HTTP协议请求消息
- 获取请求消息
- HTTP请求消息格式
- HTTP请求消息格式
- HTTP协议请求消息
- http请求消息头
- 请求消息头获取
- sip请求消息过程
- http请求和消息
- 请求消息基类
- Http请求消息与响应消息
- http请求消息与响应消息
- 请求消息体和响应消息体
- http请求和响应消息
- 消息请求应答与RPC
- HttpServletRequest简介\-\获取请求行\-\获取网络连接-------11-10-19
- [WebKit]RefPtr和PassRefPtr基础
- VC获取网页内容
- 开发者应关注的Visual Studio 11新特性
- Jboss failed sending message to null
- 请求消息
- 文件的上传\-\请求参数的中文乱码问题------11-10-20
- log4j的.net版---log4net使用(简介)
- 动态设置iframe的高度
- 12
- 初识Visual Leak Detector
- debian中xxx is not in the sudoers file解决方法
- oracle获取当年第一天和最后一天
- ORACLE---IF 分支 中的NULL判断和自己做的过程中暴露的错误