Servlet-响应数据

Servlet-响应数据

classDiagram
ServletResponse <|-- HttpServletResponse : 继承
HttpServletResponse <|.. ResponseFacade : 实现

note for ServletResponse "Java提供的请求对象根接口"

note for HttpServletResponse "Java提供的对Http协议封装的请求对象"

note for ResponseFacade "Tomcat定义的实现类"

Tomcat 会把你的输出(状态码/响应头/响应体)组织成一份 HTTP响应报文 写回给客户端。HttpServletResponse 是你控制这份报文的主要入口(关联:Request & Response)。

Response设置响应数据功能介绍

响应数据格式:HTTP响应报文

先选对输出方式:字符 vs 字节

注意:同一个响应里二者不能混用,否则容易触发非法状态或乱码。

Content-Type 与编码(最常用的一行)

大多数场景建议直接:

resp.setContentType("text/html;charset=utf-8");resp.setContentType("application/json;charset=utf-8");

这会同时影响浏览器如何解释响应体,以及 getWriter() 使用的字符集。

响应提交(commit)与缓冲区

响应并不是你 write 一次就立刻发出去:容器通常会有缓冲区,满足条件(缓冲区满、显式 flushBuffer()、请求处理结束等)才会提交。

一旦响应提交: