ServletResponse简介说明

欢喜 Servlet 发布时间:2025-05-27 10:20:22 阅读数:3461 1
下文笔者讲述ServletResponse简介,如下所示

ServletResponse简介

`ServletResponse`是Java Servlet API中的一个接口
   用于封装服务器对客户端的响应数据
     它同`ServletRequest`对应核心接口之一
	    开发者通过它向客户端(如浏览器)发送响应内容

`ServletResponse`功能

功能 描述
向客户端发送响应数据 如 HTML、JSON、XML、文件等
设置响应头信息 如 Content-Type、Content-Length、状态码等
控制响应行为 如重定向、设置字符编码、缓存控制等
获取输出流 用于输出文本或二进制数据

接口继承关系

public interface ServletResponse {
    // 常用方法定义
}
 
 对于HTTP请求
   我们通常使用其子接口:
 
HttpServletResponse extends ServletResponse

常用方法说明(基于 `ServletResponse`)

方法名 描述
`getWriter()` 获取字符输出流(`PrintWriter`),用于输出文本内容(如 HTML、JSON)
`getOutputStream()` 获取字节输出流(`ServletOutputStream`),用于输出二进制内容(如图片、文件)
`setContentType(String type)` 设置响应内容类型(如 text/html, application/json)
`setCharacterEncoding(String charset)` 设置响应使用的字符编码(如 UTF-8)
`setContentLength(int len)` 设置响应内容长度(可选)
`flushBuffer()` 强制将缓冲区中的响应内容发送给客户端
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException {

        // 设置响应类型和编码
        response.setContentType("text/html");
        response.setCharacterEncoding("UTF-8");

        // 获取 PrintWriter 并写入响应内容
        PrintWriter out = response.getWriter();
        out.println("<h1>Hello, Servlet Response!</h1>");
        out.flush();
    }
}

HttpServletResponse 特有常用方法(HTTP 专用)

方法名 描述
`sendRedirect(String location)` 重定向到另一个 URL
`setStatus(int sc)` 设置 HTTP 状态码(如 200 OK, 404 Not Found)
`addHeader(String name, String value)` 添加响应头信息(如 Cache-Control、Set-Cookie)
`sendError(int sc, String msg)` 发送错误响应并附带自定义消息

ServletResponse使用场景

场景 使用方式
返回 HTML 页面 使用 `PrintWriter` 输出 HTML 内容
返回 JSON 数据 设置 `Content-Type: application/json` 并输出 JSON 字符串
文件下载 使用 `ServletOutputStream` 输出文件流
图片验证码生成 使用 `BufferedImage` 和 `ImageIO.write()` 输出图片
重定向用户 使用 `response.sendRedirect("login")` 跳转页面
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/Servlet/202505/304.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者