在 Servlet 中,通过 HttpServletResponse 对象可以构建和发送 HTTP 响应给客户端。以下是一些常见的处理服务器 HTTP 响应的方法:

1. 设置响应状态码和消息:
   response.setStatus(HttpServletResponse.SC_OK); // 设置响应状态码为 200
   response.sendError(HttpServletResponse.SC_NOT_FOUND, "Resource not found"); // 设置错误状态码和消息

2. 设置响应头信息:
   response.setHeader("Content-Type", "text/html"); // 设置响应内容类型
   response.setHeader("Cache-Control", "no-cache"); // 设置缓存控制

3. 设置响应字符编码:
   response.setCharacterEncoding("UTF-8");

4. 写入响应内容:
   - 可以通过 getWriter() 或 getOutputStream() 获取输出流,并将响应内容写入。
   PrintWriter writer = response.getWriter();
   writer.println("<html><body>Hello, Servlet!</body></html>");

5. 重定向:
   - 可以使用 sendRedirect() 方法实现重定向。
   response.sendRedirect("newPage.jsp");

6. 设置 Cookie:
   Cookie cookie = new Cookie("username", "JohnDoe");
   response.addCookie(cookie);

7. 设置会话信息:
   - 可以通过 request.getSession() 获取会话对象,并在其中设置会话信息。
   HttpSession session = request.getSession();
   session.setAttribute("user", "JohnDoe");

8. 处理文件下载:
   - 如果需要提供文件下载,可以设置响应头和使用输出流将文件内容写入响应体。
   response.setContentType("application/octet-stream");
   response.setHeader("Content-Disposition", "attachment; filename=\"example.txt\"");
   // 将文件内容写入输出流

9. 刷新和关闭输出流:
   response.flushBuffer(); // 刷新缓冲区
   response.getWriter().close(); // 关闭输出流

这些是一些处理服务器 HTTP 响应的常见方法。通过使用 HttpServletResponse 对象,Servlet 可以有效地构建和发送适当的响应给客户端。开发者可以根据具体的需求使用这些方法进行响应处理。


转载请注明出处:http://www.zyzy.cn/article/detail/13641/Servlet