当前课程知识点:Web后端开发技术 >  第2章 Servlet技术基础 >  2.8 HttpServletResponse接口 >  2.8.1 HttpServletResponse接口

返回《Web后端开发技术》慕课在线视频课程列表

2.8.1 HttpServletResponse接口在线视频

下一节:2.8.2 输出服务器端图片

返回《Web后端开发技术》慕课在线视频列表

2.8.1 HttpServletResponse接口课程教案、知识点、字幕

欢迎大家回来继续学习

web后端开发技术

而这一小节我们将学习Http

Servlet

Response接口

HTTP

Response接口

它继承于瑞Response接口

它的主要功能就是用于封装

HTTP

响应消息

下面我们看一下它的创建过程

当一个请求到达web服务器的时候

由servlet的容器首先创建了一个

ServletResponse对象

然后在HttpServlet当中

进一步将对象转化

成为HttpServletResponse对象

那么接下来我们就可以使用这个对象

来完成一些相关的业务处理了

下面我们介绍一下HttpServletResponse

接口它的主要功能

第1个功能是用来设置响应状态

第2功能用来构建响应头

第3个用来响应正文

我们首先看一下响应报文

响应报文有这么三部分构成

响应行响应头和响应的正文

在响应行当中包含了协议的版本

状态码以及对这个状态码的解释

响应行下边就是由各种名和值构成的

这个响应头

在他的下边就是响应的正文了

下面我们看一个事例

那么这个事例是一个响应的报文

那么在第1行当中

我们看到它返回的是Http1.1这样

一个协议及其版本

然后后边有个空格

是200 200表明服务器正确

完成处理的一个请求

OK是他的描述

接下来就是关于响应头了

那么这响应头是由名和值构成的一个集合

一会我们会看一下响应头的名称都有哪些

响应正文通常情况下是这种html格式的文本

当然在开发当中根据需要也可能返回

txt文件

也可能返回的是Xmail还可能

返回的是Jason数据

在浏览器当中

大多数浏览器都提供了查看响应报文这个功能

我们在Firefox当中访问百度首页的时候

我们就可以通过他的查看报文工具

看到响应报文的情况

这里面它有个选项叫做原始头

这样的话就可以看到它真正响应回来的

原始头到底是什么样子的

这一页是他的响应的正文

具体的操作请大家自己研究一下

浏览器它开发者工具

在这里我们进一步来介绍Http响应的状态

为什么要有响应要状态

这个问题大家应该知道

一个请求到达服务器以后 他肯定有

一个是否正确响应

或者说是有错误这样一个问题

那么就有了设置状态的状态码的问题

那么这状态码共计分为5类

每一类用三位数字表示

首位数字表明了一类的状态

我们下面简单介绍一下

第一以一开始的这种状态码表明

服务器收到请求

还没有处理完

第2类是以2开始这种请求

以2开始这种状态码

它表示的是服务器已经处理完毕

并且成功返回这样一个数据

第3类是三开始的这状态码

它表示的是服务器还没有完成处理

需要客户端做进一步的处理

4开始的三位数字状态码表示的是

在处理过程当中存在问题

主要是客户端存在的问题

5

开始那种状态码表示的是服务器端

出现了问题

下面我们具体的看两个常见的这种状态码

那么我们在开发当中会经常看到

这个状态码是404

它表示的就是请求的服务器当中的

资源并不存在

这里面很可能的问题是我们在开发

当中请求的地址书写错误

或者说请求的url

地址

出现了这个错误

会出现这种404的情况

还有一种情况

这也是我们经常见到的

就是返回的状态码是500

它表明的是服务器端错误

通常情况下这种错误都是由于我们

编写Java

代码出现的问题

希望大家在出现这种错误的时候

仔细去看它上面这些信息

你就可以找到具体的错误的位置

比如这里面他是说这里面出错了

这是我们看到的状态码

那么对于HttpServletResponse接口

那么对于HttpServletResponse接口

它提供了设置状态码的一些方法

这里面有setStaus

然后setError

等等这些方法

对于我们来说

这个状态码并不需要主动去设置

而应该由服务器根据程序的运行状况

自动的进行设置

下面我们接着来看一下Http响应头

的一些内容

Http响应头是由它这个头名称以及它的值构成的

刚才我们在事例当中已经看到了很多响应头

下面我们简单的给大家做一下解释

第1个响应头的名称是Server

它代表的就是服务器的软件的版本

软件及版本号

第2个是Content-Type

就是返回的文本的类型是什么

第3个是content-Length

content-Length是返回当中正文的长度

接下来cache是说是否接受缓存

下面那个是创建的日期

接下来还有一个Content encoding

指明页面在传输过程中采用的编码

方式是什么

接下来是Expires它是指文件文档的

过期的时间

再下来

这是Refresh他就是通知浏览器

说你多长时间刷新一次页面

在他的下边是location

那么location他是告诉浏览器

将页面转向他所location指向的这样

一个地址

那么其实这个功能就可以使得浏览器

进行页面的跳转了

最后一个选项是Set-Cookie

就是将Cookie返回给客户端这样一个

响应头对应于这样响应头

在HttpServletResponse

接口当中提供了如下的

设置响应头的方法

这些方法整体上可以分为两类

一类是set

响应头的方法

比如setString setInt

setdate

那么就是说如果响应头的名称是int类型的

你就调用这个如果是date类型你就调用这个

还有一类它的方法是add什么东西

比如这里面addHeader

那么它的add什么样的

响应的

是add这种string类型的

就添加

那么

set和add之间的区别就是

set这类响应头它的类型

它的这种响应的名称只有一个

而add响应名称可能有多个

下面我们看一个事例

这个事例是使用setHeader方法

实现页面当中显示这个时间的方法

那么这个方法它是使用setHeader来完成的

它的基本思路就是让页面每一秒钟

刷新一次

所以这里面就有一个这个响应名称是

Refresh

然后这是时间

1代表的是一秒

每一秒钟刷新一次

然后每一秒钟刷新一次的同时

它在页面上面new出来一个这样一个

对象出来

时间的对象

那么时间对象再以这种格式输出出来

这样就形成了动态显示时间这种效果

我们自己可以编写代码

看一下这种效果

我们会看到浏览器在不停的刷新

每刷新一次时间就变了一次

接下来我们看一下如何响应正文

其实大家关于响应正文已经很熟练了

在这之前的程序当中

大家肯定用过这个方法

getWriter方法

它返回的是一个获取字符输出流对象

也就是说我们向客户端返回的都是

文本类型的数据

那么对于HttpServletRespones接口

除了这个方法之外

还有一个用于返回字节流数据的对象

下面这个方法叫getOutputStream

这种方法它用来返回什么样的数据呢

比如我们的图片

就可以使用它进行返回

因为图片它不属于文本

不管你是使用哪种方式

这两种方式不管使用哪种方式

它所输出的内容都会作为响应报文的正文

连同响应行和响应头一起组成一个

响应报文返回给客户端

在这里面我们看一下

这个代码我们应该非常熟悉了

这是向客户端返回数据

那么这里面我们取到的就是这种字符流输出对象

再下一小节

我们将使用代码演示如何使用

ServletOutputStream

对象响应输出一个服务器端的图片

今天这小节我们讲到这里

谢谢

Web后端开发技术课程列表:

第1章 Java Web开发准备

-1.0 导学

--1.0.1 导学

-1.1 Web应用开发概述

--1.1.1 Web应用简介

--1.1.2 Web开发技术

--1.1.3 测试

-1.2 准备Java Web应用开发环境

--1.2.1 准备Java Web应用开发环境

--1.2.2 测试

--1.2.3 谈谈JavaWeb优势和学习方法

-1.3 任务实现:Hello World Web项目

--1.3.1 Hello World Web项目

--1.3.2 测试

-1.4 小结

--1.4.1 小结

-本课程所有代码

--课程参考代码

第2章 Servlet技术基础

-2.0 导学

--2.0.1 导学

-2.1 Servlet概述

--2.1.1 Servlet简介

--2.1.2 Servlet API

--2.1.3 测试

-2.2 创建Servlet

--2.2.1 Hello Servlet

--2.2.2 Servlet配置

--2,2,3 作业

-2.3 Servlet应用

--2.3.1 处理超链接请求

--2.3.2 处理form表单请求

--2.3.3 处理结果

--2.3.4 测试

-2.4 任务实现:某高校毕业生信息发布系统-注册与登录(Servlet版)

--2.4.1 注册代码实现

--2.4.2 登录代码实现

--2.4.3 测试

--2.4.4谈一谈jQuery前端开发框架

-2.5 ServletConfig接口

--2.5.1 ServletConfig接口

-2.6 ServletContext接口

--2.6.1 ServletContext接口

-2.7 HttpServletRequest接口

--2.7.1 获取请求报文信息

--2.7.2 上传照片

--2.7.3 获取网络连接信息

--2.7.4 存取请求域属性

--2.7.5 测验

--2.7.6 在请求转发和重定向过程中传递数据

-2.8 HttpServletResponse接口

--2.8.1 HttpServletResponse接口

--2.8.2 输出服务器端图片

--2.8.3 测试

-2.9 任务实现:某高校毕业生信息发布系统-简历添加

--2.9.1 任务实现:某高校毕业生信息发布系统-简历添加

-2.10 小结

--2.10.1 小结

-动画演示:Java Web应用服务器处理客户端请求的过程

--Java Web应用服务器处理客户端请求的过程

第3章 会话跟踪

-3.0 导学

--3.0.1 导学

-3.1 Cookie技术

--3.1.1 Cookie技术概述

--3.1.2 Cookie技术应用-自动登录

--3.1.3 测试

-3.2 Session技术

--3.2.1 Session技术概述

--3.2.2 Session技术-Session技术应用购物车

--3.2.3 测试

-3.3 URL重写与隐藏表单域

--3.3.1 URL重写技术与隐藏表单域

--3.3.2 测试

-3.4 任务实现:某高校毕业生信息发布系统-简历修改

--3.4.1 任务实现:某高校毕业生信息发布系统-简历修改

--3.4.2 讨论会话跟踪技术的应用场景

-3.5 小结

--3.5.1 小结

第4章 JSP基础

-4.0 导学

--4.0.1 JSP导学

-4.1 jsp概述

--4.1.1 JSP概述

--4.1.2 测试

-4.2 脚本元素

--4.2.1 脚本元素

--4.2.2 测试

-4.3 指令元素

--4.3.1 指令元素

--4.3.2 测试

-4.4 动作元素

--4.4.1 动作元素

--4.4.3 测试

-4.5 内置对象

--4.5.1 内置对象(1)

--4.5.2 内置对象(2)

--4.5.3 测试

-4.6 JavaBean

--4.6.1 JavaBean概述

--4.6.2 分步注册

--4.6.3 测试

-4.7 任务实现:某高校毕业生信息发布系统-首页(JSP版)

--4.7.1 任务实现:某高校毕业生信息发布系统-首页(JSP版)

--4.7.2 在JSP页面显示内容的都有哪些方法

-4.8 小结

--4.8.1 小结

第5章 表达式语言

-5.0 导学

--5.0.1 表达式语言

--5.0.2 测试

-5.1 el语法

--5.1.1 EL语法

--5.1.2 测试

-5.2 el隐含对象

--5.2.1 EL隐含对象

--5.2.2 测试

-5.3 任务实现:某高校毕业生信息发布系统-学生详细信息展示

--5.3.1 任务实现:某高校毕业生信息发布系统-学生详细信息展示

--5.3.2 测试

-5.4 小结

--5.4.1 小结

--5.4.2 讨论el表达式的优势

第6章 标准标签库

-6.0 导学

--6.0.1 标准标签库

--6.0.2 测试

-6.1 核心标签库

--6.1.1 通用标签

--6.1.2 条件标签

--6.1.3 迭代标签

--6.1.4 URL标签

--6.1.5 测试

-6.2 任务实现:某高校毕业生信息发布系统-首页(JSTL版)

--6.2.1 任务实现:某高校毕业生信息发布系统-首页(JSTL版)

--6.2.2 测试

-6.3 小结

--6.3.1 小结

--6.3.2 讨论如何实现自定义标签

第7章 Filter和Listener

-7.0 导学

--7.0_导学

-7.1 过滤器

--7.1.1过滤器(1)

--7.1.2过滤器(2)

--7.1.3 测试

-7.2 监听器

--7.2.1.1与ServletContext相关的监听器

--7.2.1.2示例:访问网站计数功能

--7.2.2.1与Session相关的监听器

--7.2.2.2示例:显示在线用户名称

--7.2.3.1与Request相关的监听器

--7.2.3.2示例:实时显示访问网站用户信息示例

--7.2.4 测试

-7.3 任务实现:某高校毕业生信息发布系统-单态登录

--7.3.1 任务实现:某高校毕业生信息发布系统-单态登录

--7.3.2 测试

-7.4 小结

--7.4.1小结

--7.4.2讨论filter和listener使用场景

第8章 JDBC

-8.0 导学

--8.0_导学

-8.1 JDBC API

--8.1.1 JDBC API

--8.1.2 测试

-8.2 JDBC API访问MySQL基本步骤

--8.2.1 JDBC API

--8.2.2 测试

-8.3 任务实现:某高校毕业生信息发布系统-注册与登录

--8.3.1 任务实现:某高校毕业生信息发布系统-注册与登录(JDBC版)

--8.3.2 测试

-8.4 小结

--8.4.1小结

--8.4.2 讨论JDBC工具类

第9章 某高校毕业生信息发布系统开发

-9.0导学

--9.0导学

-9.1 技术准备

--9.1.1技术准备-MVC模式

--9.1.2技术准备-Ajax技术

--9.1.3技术准备-jQuery对Ajax的实现

--9.1.4_技术准备- JDBC工具类

--9.1.5 测试.

-9.2 系统设计

--9.2系统设计:某高校毕业生信息发布系统开发

-9.3 系统实现

--9.3.1完善登陆和注册功能

--9.3.2完善简历添加功能

--9.3.3完善简历修改功能

--9.3.4.1首页分页显示

--9.3.4.2首页分页显示

-9.4 小结

--9.4.1小结

--9.4.2讨论:分页组件

2.8.1 HttpServletResponse接口笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。