ServletResponse简介说明
下文笔者讲述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")` 跳转页面 |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。