上一个任务/上一节 下一个任务/下一节
目录
Servlet 生命周期是指 Servlet 从创建到销毁的过程,这个过程包括以下几个环节。
1)设置初始化参数,需要在配置文件中进行参数设置,以便初始化时再 Servlet 中
2)配置文件设置完毕后,在 Servlet 中读取初始化参数。
(1)ServletRequest 接口与 HttpServletRequest 接口
(2)ServletResponse 接口与 HttpServletReponse 接口
任务1:使用 Servlet 添加新闻
使用 Servlet 控制业务,实现新闻添加功能
任务1 使用 Servlet 添加新闻
关键步骤如下。
- 创建 Servlet 并进行配置。
- 使用 Servlet 实现业务处理。
- 使用 Servlet 控制页面跳转。
5.1.1 认识 Servlet 组件
在 JSP 技术出现之前,如果要动态生成 Web 页面,需要使用 Servlet 来实现。
Servlet 技术如何生成 Web 页面?如何控制 Web 程序执行?这是本节将要介绍的内容。
首先需要了解什么是 Servlet.
1. 初识 Servlet
Servlet 是一种独立于平台和协议的服务器端 Java 应用程序,通过 Servlet 可以生成
动态的 Web 页面。同时,使用 Servlet 还可以在服务器端对客户端的请求进行处理,控
制程序的执行。
Servlet 的主要作用就是交互式地浏览和更新数据,并生成动态的页面内容进行展示,
其处理 Web 请求的过程如图 5.1 所示。
Servlet 处理 Web 请求的过程,主要包括以下几个步骤。
- 服务器接收从客户端发送的请求。
- 服务器将请求信息发送至 Servlet。
- Servlet 经过处理后,生成响应的内容。
- 服务器将响应的内容返回给客户端。
JSP 与 Servlet 都可以实现动态页面显示,二者之间有什么关系?在之前学习 JSP 的
过程中,曾今介绍过 JSP 在被 Web 容器解析的时候,最终会被编译成一个 Servlet 类,
这就是二者之间的关系。
2.Servlet API
Servlet 其实是 Server 以及 applet 两个单词的合成,所以它是一种服务器端的 Java
应用程序,但并不是所有服务器端的 Java 应用程序都是 Servlet ,只有当服务器端使用
Servlet API 时,才能算一个 Servlet 。
Servlet API 又称为 Java Servlet 应用程序接口,包含了很多 Servlet 中重要的接口和类,
如表 5-1 所示。
名称 | 说明 | 所在包 |
---|---|---|
Servlet 接口 | Java Servlet 的基础接口,定义了 Servlet 必须实现的方法 | javax.servlet |
GenericServlet类 | 继承自 Servlet 接口,属于通用的、不依赖协议的 Servlet | javax.servlet |
HttpServlet 类 | 继承自 GenericServlet 类,是在其基础上扩展了 HTTP 协议的 Servlet | javax.servlet.http |
HttpServletRequest 接口 | 继承自 ServletRequest 接口,用于获得请求数据 | javax.servlet.http |
HttpServletResponse 接口 | 继承自 ServletResponse 接口,用于返回响应数据 | javax.servlet.http |
注意
Servlet API 中不仅仅包含表 5-1 中所示的接口和类,还有很多接口、类和方法,
需要大家在练习和工作中去不断积累、查阅帮助文档才能逐步了解和掌握。
3. Servlet 生命周期
在了解 Servlet 生命周期之前,先来了解一个名词:Servlet 容器。 Servlet 容器是用
来装载 Servlet 对象的一种容器,是负责管理 Servlet 的一类组件。
Servlet 生命周期是指 Servlet 从创建到销毁的过程,这个过程包括以下几个环节。
(1)加载和实列化。 Servlet 容器负责加载和实例化 Servlet ,当客户端发送一个请
求时,Servlet 容器会查找内存中是否在该 Servlet 的实列,如果不存在,就创建一个
Servlet 实列:如果存在,就直接从内存中取出该实列来响应请求。
注意
Servlet 容器根据 Servlet 类的位置加载 Servlet 类,加载