周振林 周振林
首页
  • 前端文章

    • HTML
    • CSS
    • Tailwind CSS (opens new window)
    • JavaScript
    • Vue3
    • 其他
  • 学习笔记

    • 《JavaScript教程》
    • 《ES6 教程》
    • 《TypeScript》
    • 《Vue》
    • 《Git》
    • 《小程序笔记》
    • 《JS设计模式总结笔记》
  • 规范
  • Spring
  • 安装教程
  • 其他教程
  • 归真医学
  • 常用药材
  • 学习笔记
  • 经方学习心得
  • 基础
  • 虚拟化
  • Docker
  • OpenStack
  • 心情杂货
关于
收藏
  • 分类
  • 标签
  • 归档

周振林

IT界的小学生
首页
  • 前端文章

    • HTML
    • CSS
    • Tailwind CSS (opens new window)
    • JavaScript
    • Vue3
    • 其他
  • 学习笔记

    • 《JavaScript教程》
    • 《ES6 教程》
    • 《TypeScript》
    • 《Vue》
    • 《Git》
    • 《小程序笔记》
    • 《JS设计模式总结笔记》
  • 规范
  • Spring
  • 安装教程
  • 其他教程
  • 归真医学
  • 常用药材
  • 学习笔记
  • 经方学习心得
  • 基础
  • 虚拟化
  • Docker
  • OpenStack
  • 心情杂货
关于
收藏
  • 分类
  • 标签
  • 归档
  • 规范

  • Spring

    • Spring基础
    • Spring IoC
    • Spring AOP
    • SpringBoot异常
    • SpringBoot过滤器
    • SpringBoot拦截器
    • Response设置响应编码
      • Response设置编码的三种方式
        • ContentType
    • 依赖start和依赖BOM区别
    • Thymeleaf教程
  • 安装教程

  • 其他教程

  • 后端
  • Spring
周振林
2024-05-22
目录

Response设置响应编码

# Response设置编码的三种方式

在Java后台的Servlet代码中用response的方法来设置输出内容的编码方式,有以下三个方法:

  1. response.setCharacterEncoding("UTF-8");
  2. response.setContentType("application/json;charset=UTF-8");
  3. response.setLocale(new java.util.Locale("zh","CN"));

下面对以上3种方法进行差异分析:

  • 第一种方法只能用来设置out输出流中所采用的编码,但是它的优先权最高,可以覆盖后面两种方法中的设置;
  • 第二中方法可以设置out输出流中字符的编码方式,也可以设置浏览器接收到这些字符后以什么编码方式来解码,它的优先权低于第一种方法, 高于第三种方法;
  • 第三种方法只能用来设置out输出流中字符的编码方式,但是它的优先权最低,在已经使用前两种方法中的一个设置了编码方式以后,它就被覆盖而不起作用了。
//设置out输出流编码
response.setCharacterEncoding("utf-8"); 
//设置浏览器接收到字符后使用什么编码方式进行解码
response.setHeader("content-type", "text/html;charset=utf-8"); 

上面两句相当于下面这一句
//设置out数据流编码方式以及同时设置浏览器接收到字符后使用什么编码方式进行解码
response.setContentType("text/html;charset=utf-8");

1
2
3
4
5
6
7
8
9

# ContentType

在向客户端发送数据之前,Servlet 容器会通知客户端浏览器现在正在发送什么类型的数据。

可以发送的数据可以是简单的纯文本、html、xml、gif或jpg类型的图像形式、excel表格等等。

为了发送信息,Servlet 容器使用带有 setContentType() 方法的响应对象。

setContentType(String) 方法接受一个字符串参数并且不返回任何内容(返回 void)。

在“text/html”中,“text”称为类型,“html”称为子类型。 一个类型包含许多子类型

响应类型

response.setContentType("text/html;charset=utf-8"); //html类型
response.setContentType("text/plain;charset=utf-8"); //文本类型
response.setContentType("application/json;charset=utf-8"); //json类型
response.setContentType("application/xml;charset=utf-8"); //xml类型

1
2
3
4
5

请求类型

content-type: multipart/form-data  主要用于文件上传,将文件转成二进制数据进行传输,不涉及转码。
content-type: application/json  主要以json格式方式为服务器发送数据
1
2
Last Updated: 2024/07/26, 16:12:04
SpringBoot拦截器
依赖start和依赖BOM区别

← SpringBoot拦截器 依赖start和依赖BOM区别→

最近更新
01
Docker安装
06-10
02
Docker运行JAR
06-10
03
Docker部署MySQL
06-10
更多文章>
Copyright © 2019-2025 鲁ICP备19032096号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式