Javaweb Servlet核心接口学习记录(4)—HttpServletResponse接口

Javaweb Servlet核心接口学习记录(4)—HttpServletResponse接口

 HttpServletResponse 接口继承自 ServletResponse 接口,主要用于封装 HTTP 响应消息。由于 HTTP 响应消息分为状态行、响应消息头、消息体三部分。因此,在 HttpServletResponse 接口中定义了向客户端发送响应状态码、响应消息头、响应消息体的方法。
 javax.servlet.http.HttpServletResponse 接口的定义为 :

public interface HttpServletResponse  extends 

在 Servlet API 中, ServletResponse 接口被定义为用于创建响应消息,ServletResponse 对象由 Servlet 容器在用户每次请求 Servlet 时创建并传入Servlet 的 service() 方法中。 HttpServletResponse 接口继承自ServletResponse 接口,是专用于 HTTP 协议的子接口,用于封装 HTTP 响应消息。在 HttpServlet 类的 service() 方法中,传入的 ServletResponse 对象被强制转换为 HttpServletResponse 对象来进行 HTTP 响应信息的处理 。
  1.HTTP 协议响应报文
  一个响应报文信息格式样例:
在这里插入图片描述
  2.设置响应状态
  HttpServletResponse 接口提供了如下设置状态码和生成响应状态行的方法:

方法 方法描述
setStatus(int sc) 以指定的状态码将响应返回给客户端
setError(int sc) 使用指定的状态码向客户端返回一个错误响应
sendError(int sc,String msg) 使用指定的状态码和状态描述向客户端返回一个错误响应
sendRedirect(String location) 请求的重定向,会设定响应Location报头以及改变状态码

  演示:
通过设置资源暂时转移状态码和 location 响应头,实现sendRedirect() 方法的重定向功能:
创建SetStatusServlet

package com;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class SetStatusServlet
 */
@WebServlet("/SetStatusServlet")
public class SetStatusServlet extends HttpServlet {
   
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public SetStatusServlet() {
   
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
   
		// TODO Auto-generated method stub
		response.sendError(406, "错误信息");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletEx
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值