httpServletRequest.setCharacterEncoding 、httpServletResponse.setCharacterEncoding详解
来源:互联网 发布:过敏源测试 知乎 编辑:程序博客网 时间:2024/06/05 04:49
一、httpServletRequest.setCharacterEncoding():
用来确保发往服务器的参数以汉字的编码来提取,设置从request中取得的值或从数据库中取出的值。
如果没有提前指定,则会按照服务器端默认的“iso-8859-1”来进行编码;
指定后可以通过request.getParameter()获取自己想要的字符串;
该方法只对post请求有效,对get请求无效;对于get请求,应该在server.xml中指定:URIEncoding=utf-8;
注意:在执行request.setCharacterEncoding()之前不能执行request.getParameter()方法;
原因:
POST方法提交表示时候,是在执行第一个getParameter()的时候,Java将会按照编码分析所有的提交内容,而后续的getParameter()不再进行分析,所以setCharacterEncoding()无效。
而对于GET方法提交表单时,提交的内容在URL中,一开始就已经按照编码分析提交内容,setCharacterEncoding()自然就无效。
二、httpServletResponse.setCharacterEncoding():
设置HTTP 响应的编码,用于设置服务器给客户端的数据的编码
一般不会用这个方法来设置响应编码,
一般使用response.setContentType()方法来设置HTTP 响应的编码,同时指定了浏览器显示的编码;
因为他在执行该方法通知服务器端以指定编码进行编码后,会自动调用response.setCharacterEncoding()方法来通知浏览器以指定编码来解码;
使用此方法要在response.getWriter()执行之前或response提交之前;
- httpServletRequest.setCharacterEncoding 、httpServletResponse.setCharacterEncoding详解
- setCharacterEncoding
- setCharacterEncoding .
- setCharacterEncoding
- setCharacterEncoding
- setCharacterEncoding
- setCharacterEncoding
- The method setCharacterEncoding(String) is undefined for the type HttpServletResponse
- The method setCharacterEncoding(String) is undefined for the type HttpServletResponse
- HttpServletRequest和HttpServletResponse详解
- HttpServletResponse和HttpServletRequest详解
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest和HttpServletResponse详解
- HttpServletResponse,HttpServletRequest详解
- HttpServletResponse,HttpServletRequest详解
- HttpServletRequest和HttpServletResponse详解
- 读写文件
- 轮播图的基本原理
- C++调用PyRun_SimpleString时,参数字符串中有路径的处理
- math对象
- 无法获取焦点问题
- httpServletRequest.setCharacterEncoding 、httpServletResponse.setCharacterEncoding详解
- 图像卷积与滤波的一些知识点
- bzoj 2709: [Violet 1]迷宫花园 (最短路)
- 从零开始学习Vue(三)
- 模板方法模式在协议构造与解析中的应用
- 剑指offer-全排列(含重复数字)
- SQL基本语法
- 后缀数组模板 by hzwer
- java中有了基本类型为什么还要有包装类型?