关于为什么需要设置request.setCharacterEncoding以及适用范围问题
- 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以及适用范围问题相关推荐
- setCharacterEncoding 是在request.getParameter获取参数之前 设置request的编码格式 一步到位...
setCharacterEncoding 是在request.getParameter获取参数之前 设置request的编码格式 一步到位 转载于:https://www.cnblogs.com/cl ...
- 解决为什么已经设置了request.setCharacterEncoding(“utf-8“);POST请求仍然乱码的问题
解决为什么已经设置了request.setCharacterEncoding("utf-8");POST请求仍然乱码的问题 参考文章: (1)解决为什么已经设置了request.s ...
- request.setCharacterEncoding(utf-8);
request.setCharacterEncoding("utf-8"); 不加这句话时,从input控件得到值要用new String(request.getParameter ...
- DotnetSpider (二) Downloader的设置 Request自定义数据字典
** 温馨提示:如需转载本文,请注明内容出处.** 本文连接:http://www.cnblogs.com/grom/p/8968905.html 接上一篇,在原项目的基础上进行改造,为EntityS ...
- postmethod 设置request body utf-8_Cypress系列(62) request() 命令详解
点击上方蓝字 给一个关注吧 作用 发起一个 HTTP 请求 语法格式 cy.request(url)cy.request(url, body)cy.request(method, url)cy.req ...
- vue+axios请求时设置request header请求头(带上token)
vue+axios请求时设置请求头(带上token) 1.在vue中,向后台发送请求,不管是get或post,url要带上userId,headers要带上token值(本地存储的token,wind ...
- 设置编码格式为utf8
response.setCharacterEncoding("UTF-8"); 在Servlet2.3中是不行的,至少要2.4版本才可以,如果低于2.4版本,可以用如下办法: re ...
- Java Servlet request
在Servlet中request和response都是由tomcat给我们创建的. 相关类的继承关系 Servlet->HttpServletRequest->org.apache.cat ...
- java Request对象和Response对象详解
一:概述 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象一.Response对象1.Resonse的继承结构:S ...
- jsp的request用法
request用于接受html提交的表单数据 首先如下图先创建一个QQ注册页面 设置昵称input的属性name值,并且设置提交到的页面为reg_success.jsp,这里提交方式有两种: get ...
最新文章
- 独家 | SVP:一种用于深度学习的高效数据选择方法
- windows 8 及vs2012 下载
- linux下查询域名或IP注册信息的操作记录(whois)
- 滑动窗口--单调队列
- shell执行docker命令卡挂住_Docker官方文档翻译4
- 【转】总结oninput、onchange与onpropertychange事件的用法和区别
- Delphi中Chrome Chromium、Cef3学习笔记(三)
- 方法的重载与重写区别
- 在Mac OS X中配置Apache + PHP + MySQL 很详细
- 微信小程序教程笔记3
- ea6500 v1 刷梅林_Linksys EA6500刷ddwrt成功记
- python爬取酷狗音乐json数据为空_python使用beautifulsoup4爬取酷狗音乐
- 已知两点和弧长lisp_CAD插件——已知两点和弧长如何画圆弧?
- JS搜索省份匹配出省份的所有城市
- matlab二维正态分布图,二元正态分布密度函数图像-基于matlab
- matlab中的semilogy,matlabsemilogy用法
- 裤子尺码对照表eur40_裤子尺码对照表
- 12.30天自动登陆
- 源码级剖析了 Naive UI 的 Button 完整过程
- 哪款mac写python_新款Mac Pro有几个圈圈?写几行Python数一下