1. 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以及适用范围问题相关推荐

  1. setCharacterEncoding 是在request.getParameter获取参数之前 设置request的编码格式 一步到位...

    setCharacterEncoding 是在request.getParameter获取参数之前 设置request的编码格式 一步到位 转载于:https://www.cnblogs.com/cl ...

  2. 解决为什么已经设置了request.setCharacterEncoding(“utf-8“);POST请求仍然乱码的问题

    解决为什么已经设置了request.setCharacterEncoding("utf-8");POST请求仍然乱码的问题 参考文章: (1)解决为什么已经设置了request.s ...

  3. request.setCharacterEncoding(utf-8);

    request.setCharacterEncoding("utf-8"); 不加这句话时,从input控件得到值要用new String(request.getParameter ...

  4. DotnetSpider (二) Downloader的设置 Request自定义数据字典

    ** 温馨提示:如需转载本文,请注明内容出处.** 本文连接:http://www.cnblogs.com/grom/p/8968905.html 接上一篇,在原项目的基础上进行改造,为EntityS ...

  5. postmethod 设置request body utf-8_Cypress系列(62) request() 命令详解

    点击上方蓝字 给一个关注吧 作用 发起一个 HTTP 请求 语法格式 cy.request(url)cy.request(url, body)cy.request(method, url)cy.req ...

  6. vue+axios请求时设置request header请求头(带上token)

    vue+axios请求时设置请求头(带上token) 1.在vue中,向后台发送请求,不管是get或post,url要带上userId,headers要带上token值(本地存储的token,wind ...

  7. 设置编码格式为utf8

    response.setCharacterEncoding("UTF-8"); 在Servlet2.3中是不行的,至少要2.4版本才可以,如果低于2.4版本,可以用如下办法: re ...

  8. Java Servlet request

    在Servlet中request和response都是由tomcat给我们创建的. 相关类的继承关系 Servlet->HttpServletRequest->org.apache.cat ...

  9. java Request对象和Response对象详解

    一:概述 Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象一.Response对象1.Resonse的继承结构:S ...

  10. jsp的request用法

    request用于接受html提交的表单数据 首先如下图先创建一个QQ注册页面 设置昵称input的属性name值,并且设置提交到的页面为reg_success.jsp,这里提交方式有两种: get ...

最新文章

  1. 独家 | SVP:一种用于深度学习的高效数据选择方法
  2. windows 8 及vs2012 下载
  3. linux下查询域名或IP注册信息的操作记录(whois)
  4. 滑动窗口--单调队列
  5. shell执行docker命令卡挂住_Docker官方文档翻译4
  6. 【转】总结oninput、onchange与onpropertychange事件的用法和区别
  7. Delphi中Chrome Chromium、Cef3学习笔记(三)
  8. 方法的重载与重写区别
  9. 在Mac OS X中配置Apache + PHP + MySQL 很详细
  10. 微信小程序教程笔记3
  11. ea6500 v1 刷梅林_Linksys EA6500刷ddwrt成功记
  12. python爬取酷狗音乐json数据为空_python使用beautifulsoup4爬取酷狗音乐
  13. 已知两点和弧长lisp_CAD插件——已知两点和弧长如何画圆弧?
  14. JS搜索省份匹配出省份的所有城市
  15. matlab二维正态分布图,二元正态分布密度函数图像-基于matlab
  16. matlab中的semilogy,matlabsemilogy用法
  17. 裤子尺码对照表eur40_裤子尺码对照表
  18. 12.30天自动登陆
  19. 源码级剖析了 Naive UI 的 Button 完整过程
  20. 哪款mac写python_新款Mac Pro有几个圈圈?写几行Python数一下

热门文章

  1. L1-005 考试座位号 (15 分)—团体程序设计天梯赛
  2. 关于Secureboot的简单介绍[结合rk平台]
  3. 红外遥控NEC协议总结
  4. Android系统中属性值的设置和使用
  5. 统计字符串中某字符出现次数
  6. 笔记6:Django基础
  7. ajax以base64上传图片到django
  8. Thymeleaf的学习
  9. 查看linux 系统 当前使用的网卡
  10. 开源大数据查询分析引擎现状