关于为什么需要设置request.setCharacterEncoding以及适用范围问题
来源:互联网 发布:java最小公倍数算法 编辑:程序博客网 时间:2024/05/16 19:57
- request.setCharacterEncoding( ).首先,request和response是两个容器,里面携带了各种参数。然后获取这些参数,是需要以一定的格式解析的。这个博客总结的很好,http://blog.csdn.net/u013030276/article/details/50420024
摘录如下:一、request.setCharacterEncoding():用来确保发往服务器的参数以汉字的编码来提取,设置从request中取得的值或从数据库中取出的值。
指定后可以通过request.getParameter()获取自己想要的字符串,如果没有提前指定,则会按照服务器端默认的“iso-8859-1”来进行编码;该方法只对post请求有效,对get请求无效;对于get请求,应该在server.xml中指定:URIEncoding=utf-8;
注意:在执行request.setCharacterEncoding()之前不能执行request.getParameter()方法;
原因:应该是在执行第一个getParameter()的时候,java将会按照编码分析所有的提交内容,而后续的getParameter()不再进行分析,所以setCharacterEncoding()无效。而对于GET方法提交表单是,提交的内容在URL中,一开始就已经按照编码分析提交内容,setCharacterEncoding()自然就无效。
二、response.setCharacterEncoding():设置HTTP 响应的编码,用于设置服务器给客户端的数据的编码
一般不会用这个方法来设置响应编码,
一般使用response.setContentType()方法来设置HTTP 响应的编码,同时指定了浏览器显示的编码;
因为他在执行该方法通知服务器端以指定编码进行编码后,会自动调用response.setCharacterEncoding()方法来通知浏览器以指定编码来解码;使用此方法要在response.getWriter()执行之前或response提交之前;
- 关于为什么需要设置request.setCharacterEncoding以及适用范围问题
- request的setCharacterEncoding问题
- 设置request.setCharacterEncoding()后,servlet中文乱码问题
- request.setCharacterEncoding 关于编码 概述
- request.setCharacterEncoding(encoding);获取到null的问题
- srping关于重新设置request参数问题
- request的setCharacterEncoding()无效
- request.setCharacterEncoding(“utf-8”)
- request.setCharacterEncoding 、response.setContentType、response.setCharacterEncoding
- 关于不可变架构以及为什么需要不可变架构
- response和request的setCharacterEncoding
- response和request的setCharacterEncoding
- response和request的setCharacterEncoding .
- response和request的setCharacterEncoding
- response和request的setCharacterEncoding
- response和request的setCharacterEncoding
- response和request的setCharacterEncoding
- response和request的setCharacterEncoding
- Dubbo常规应用
- numpy创建矩阵常用方法
- 又一个疑问
- 求1*2*3*...*n的值并把各项相加
- RecyclerView
- 关于为什么需要设置request.setCharacterEncoding以及适用范围问题
- 家具MES软件和家具工厂生产过程执行系统
- Agenda-cli-service-go
- 银联接入若干问题
- 为什么要进行内存对齐以及对齐规则
- EA&UML日拱一卒-多任务编程超入门-(15)共享内存
- 基本数据类型 与 包装类
- 13. 初始化列表
- 开博第一文