HttpServletResponse对象(一)发送状态码相关的方法

一、Web服务器在调用service方法之前,都会创建两个对象,分别是HttpServletRequest和HttpServletResponse对象。其中HttpServletRequest用于封装HTTP请求消息,简称request对象,HttpServletResponse用于封装HTTP响应消息,简称response对象
二、HttpServletResponse接口继承于ServletResponse接口,专门用来封装HTTP响应消息。
三、由于HTTP响应消息分为状态行、响应消息头、消息体三部分,因此,在HttpServletResponse接口中定义了向客户端发送响应状态码、响应消息头、响应消息体的方法。

1. 发送状态码相关的方法

当Servlet向客户端回送响应消息时,需要在响应消息中设置状态码。

(1)setStatus(int status)方法

该方法用于设置HTTP响应消息的状态码,并生成响应状态行。**由于响应状态行中的状态描述信息直接与状态码相关,而HTTP版本由服务器确定,因此,只要通过setStatus(int status)方法设置了状态码,即可实现状态行的发送。**需要注意的是,正常情况下,Web服务器会默认产生一个状态码为200的状态行。

(2)setError(int sc)方法

该方法用于发送表示错误信息的状态码,例如,404状态码表示找不到客户端请求的资源。在response对象中,提供了两个重载的sendError(int sc)方法,具体如下:

public void sendError(int code) throws java.io.IOException
public void sendError(int code, String message) throws java.io.IOException

在上面重载的两个方法中,第一个方法只是发送错误信息的状态码,而第二个方法除了发送状态码外,还可以增加一条用于提示说明的文本信息,该文本信息将出现在发送给客户端的正文内容中。
由于响应状态码是一个三位的十进制数,非常难以记忆,为此,在HttpServletResponse接口中,定义了一系列响应状态码常量,如表所示。

方法声明功能描述
static int SC_OK该常量代表状态码200,表示请求成功
static int SC_NOT_FOUND该常量代表码状态码404,在HTTP1.1规范中的标准状态信息为Not Found,也就是没有找到资源,是最常见的一种状态码
static int SC_MOVED_TEMPORARILY该常量代表状态码302,表示临时使用其它资源处理当前请求,但是,之后的请求还应该使用原来的地址。(Servlet API 2.4规范中, SC_FOUND常量用来对应状态码302)
static int SC_INTERNAL_SERVER_ERROR该常量代码状态码500,表示服务器内部发生了错误
static int SC_HTTP_VERSION_NOT_SUPPORTED该常量代码状态码505,表示服务器不支持或拒绝支持请求行中给出的HTTP版本
static int SC_BAD_REQUEST该常量代表状态码400,表示客户端发送的请求语法有误
static int SC_FORBIDDEN该常量代表状态码403,表示服务器接收到请求,但拒绝对请求进行处理
static int SC_CONFLICT该常量代表状态码409,表示请求的资源与当前状态冲突

表中列举的一系列状态码常量中,其中SC_OK和SC_NOT_FOUND是Web应用中最常遇见的,因此,建议大家深刻记忆这两个状态码常量。

更多状态码了解点击此处。。。。。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: HttpServletResponse responseJava Servlet API中的一个类,用于处理HTTP响应。当你使用`new`关键字创建一个新的`HttpServletResponse`对象时,你可以在你的Java Web应用程序中使用该对象来设置HTTP响应的各种属性,例如响应状态码、响应头信息、响应体内容等等。这个对象通常是在Servlet的doGet()或doPost()等方法中使用,通过该方法的参数HttpServletRequest request和HttpServletResponse response来处理客户端的请求并返回响应。 ### 回答2: HttpServletResponse responseJava Servlet中的一个对象,用于向客户端发送HTTP响应。通过使用response对象,我们可以设置和获取响应的各种属性,如响应头信息、响应状态码、响应体内容等。 使用new关键字可以创建一个HttpServletResponse对象的实例,主要有以下几个步骤: 1. 导入相关的包:我们需要在Java代码中导入javax.servlet.http包,以便使用HttpServletResponse类。 2. 创建response对象:可以通过使用new关键字,调用HttpServletResponse的无参构造方法,来创建一个空的response对象。 3. 设置响应头信息:可以使用response对象setHeader()方法,来设置响应头的键值对。 4. 设置响应状态码:可以使用response对象setStatus()方法,来设置HTTP响应的状态码。 5. 设置响应体内容:可以使用response对象的getWriter()方法,获取一个PrintWriter对象,通过该对象可以写入要返回给客户端的内容。 6. 发送响应:在设置完所有的响应属性后,可以使用response对象的flushBuffer()方法来将响应发送给客户端。 综上所述,通过new关键字创建HttpServletResponse对象实例,可以方便地操作和发送HTTP响应。在实际应用中,我们可以根据需要设置不同的响应属性,以满足客户端的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心醉瑶瑾前

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值