一、request

  1、get请求

    get请求的参数是在请求行中的,浏览器使用utf-8进行编码,数据的编码一般为UTF-8,而url请求行的默认编码为ISO-8859-1,一般来说有以下方式可以解决中文乱码问题。

    1.1、简单的反向二次编码 :第一次 byte[] val = request.getParameter("name").getBytes("ISO-8859-1"); 第二次 String param = new String(val, "UTF-8");

    1.2、修改容器配置,以tomcat为例,修改tomcat/conf/server.xml

        <Connector port="80" protocol="HTTP/1.1"  connectionTimeout="20000"  redirectPort="8443" URIEncoding="utf-8"/>

  2、post请求

    post请求的参数是在请求体中的,只需要一次的utf-8编解码就可以实现。一般都是在doPost方法中,第一句就是添加:request.setCharacterEncoding("UTF-8");

二、response

  response向客户端浏览器输出数据,可以使用javax.servletServletOutputStream或者java.io.PrintWriter

  1、servletServletOutputStream

   使用方法 : response.getoutputStream().write("我是中文字符串".getBytes("UTF-8"));

  2、PrintWriter

   使用方法 :

       2.1、response.setCharacterEncoding("UTF-8");

          response.getWrite().print("我是中文字符串");

       2.2、通知tomcat容器和浏览器使用同一编码格式:response.setContentType("text/html;charset=utf-8");

  

最新文章

  1. python序列,字典备忘
  2. Linux 安装Mono环境 运行ASP.NET(二)
  3. react-native 之布局篇
  4. @@identity的使用
  5. oracle 卸载和安装
  6. Eclipse自动补全功能管理
  7. linux下用命令导出mysql表数据
  8. JS中的 变量提升
  9. Python开发之【用户登录锁定】
  10. 一次性搞清楚equals和hashCode
  11. 【BZOJ】【1036】树的统计
  12. sql server 中 syscolumns 各个字段的意义
  13. WCF的通信
  14. PAT---完美数列
  15. P4735 最大异或和
  16. CSS3@media媒体查询
  17. 请求转发和URL重定向的原理和区别
  18. 对web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?
  19. 20170907VS中EF模型文件.edmx文件上下级关系丢失问题
  20. sql server case

热门文章

  1. go 学习笔记之详细说一说封装是怎么回事
  2. Raven 2 靶机渗透
  3. 高并发下,调整IIS相关的设置,以提高服务器并发量
  4. netty源码解解析(4.0)-19 ChannelHandler: codec--常用编解码实现
  5. win命令获取外网ip
  6. 82天突破1000star,项目团队梳理出软件开源必须注意的8个方面
  7. HTTP首部字段完全解析
  8. Jmeter 从数据库查询多个字段,依次传给登录接口怎么实现?
  9. CodeForces 677D. Vanya and Treasure 枚举行列
  10. codeforces 816 E. Karen and Supermarket(树形dp)