平台网站设计,上海网页设计公司,百度地图下载安装,网络公司网站优化网站建设1.介绍
在Servlet API中#xff0c;定义了一个HttpServletResponse接口#xff0c;它继承自ServletResponse接口#xff0c;专门用来封装HTTP响应消息。由于HTTP响应消息分为状态行、响应消息头、消息体三部分#xff0c;因此#xff0c;在HttpServletResponse接口中定义… 1.介绍
在Servlet API中定义了一个HttpServletResponse接口它继承自ServletResponse接口专门用来封装HTTP响应消息。由于HTTP响应消息分为状态行、响应消息头、消息体三部分因此在HttpServletResponse接口中定义了向客户端发送响应状态码、响应消息头、响应消息体的方法。
2.发送状态码相关的方法
a.setStatus(int status)方法
该方法用于设置HTTP响应消息的状态码并生成响应状态行。由于响应状态行中的状态描述信息直接与状态码相关而HTTP版本由服务器确定因此只要通过setStatus(int status)方法设置了状态码即可实现状态行的发送。需要注意的是正常情况下Web服务器会默认产生一个状态码为200的状态行。
常见的状态码200 响应成功 302 重定向 404 请求资源找不到 500 服务器代码出异常。
b.sendError(int sc)方法
该方法用于发送表示错误信息的状态码例如404状态码表示找不到客户端请求的资源。在response对象中提供了两个重载的sendError(int sc)方法具体如下 在上面重载的两个方法中第一个方法只是发送错误信息的状态码而第二个方法除了发送状态码外还可以增加一条用于提示说明的文本信息该文本信息将出现在发送给客户端的正文内容中。 3.发送响应消息头相关方法
当Servlet向客户端发送响应消息时由于HTTP协议的响应头字段有很多种为此在HttpServletResponse接口中定义了一系列设置HTTP响应头字段的方法如表所示。 4.发送响应消息体相关方法
由于在HTTP响应消息中大量的数据都是通过响应消息体传递的因此ServletResponse遵循以IO流传递大量数据的设计理念。在发送响应消息体时定义了两个与输出流相关的方法具体如下。
a.getOutputStream()方法
该方法所获取的字节输出流对象为ServletOutputStream类型。由于ServletOutputStream是OutputStream的子类它可以直接输出字节数组中的二进制数据。因此要想输出二进制格式的响应正文就需要使用getOutputStream()方法。
b.getWriter()方法
该方法所获取的字符输出流对象为PrintWriter类型。由于PrintWriter类型的对象可以直接输出字符文本内容因此要想输出内容全为字符文本的网页文档需要使用getWriter()方法。
5.发送响应消息体案例
6.解决中文输出乱码问题
7.实现网页定时刷新或跳转到其他页面(Refresh头字段)
8.实现请求重定向