JSP生命周期(图解)
2023-06-13 09:11:54 时间
JSP 生命周期定义了 JSP 从创建到销毁的整个过程。这类似于 Servlet 生命周期,不同的是,JSP 需要先被编译成 Servlet。
1. JSP编译
2. JSP初始化
JSP 生命周期阶段如下:
![JSP生命周期](http://ytso-blog-oss-img.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2021/07/19/20210719_60f5a83fa6e6d.png)
当浏览器请求 JSP 时,JSP 容器会首先检查是否需要编译页面。如果该页面从未被编译过,或者自上次编译以来对其进行了修改,则编译该页面。
JSP 本质是 Servlet,因此 JSP 容器就是 Servlet 容器。
编译过程包括 3 个步骤:
2. JSP初始化
当容器加载 JSP 时,它将在处理任何请求之前调用 jspInit() 方法。如果您需要自定义 JSP 的初始化内容,可以重写 jspInit() 方法。
public void jspInit(){ // ... }
一般情况下,程序只初始化一次。与 Servlet init 方法一样,我们通常在 jspInit() 方法中初始化数据库连接、打开文件。
3. JSP执行此阶段表示了 JSP 生命周期中所有与请求相关的交互行为,直到被销毁。
JSP 页面完成初始化后,JSP 将会调用 _jspService() 方法。
_jspService() 以 HttpServletRequest 对象和 HttpServletResponse 对象作为方法参数,如下所示:
void _jspService(HttpServletRequest request, HttpServletResponse response) { // ... }
JSP 的 _jspService() 方法根据 request 来生成相应的 response,并且它还负责生成对 HTTP 方法的响应,即 GET、POST、DELETE 等。
4. JSP销毁JSP 生命周期的销毁阶段表示从容器中删除 JSP。
jspDestroy() 方法等效于 Servlet 中的 destroy() 方法。如果您需要自定义 JSP 的销毁内容,可以重写 jspDestroy() 方法。
jspDestroy() 方法具有以下形式。
public void jspDestroy() { }
通常我们在 jspDestroy() 方法中释放数据库连接、关闭打开的文件。
21005.html
JSP相关文章
- jsp web应用开发_JSP页面
- idea构建springboot_jsp项目搭建过程
- JDBC&servlet&jsp题目详解编程语言
- 使用JSP快速操作MySQL数据库(jsp操作mysql)
- JSP文件上传(Commons-FileUpload)
- JSP param动作
- JSP到底是什么
- JSP application.getResourceAsStream()方法:返回指定资源的输入流对象
- JSP jsp:setProperty:属性值设定标签
- JSP jsp:params:多参数赋值标签
- JSP jsp:include:页面包含标签
- JSP JSTL <c:forTokens>标签:对字符串进行迭代输出标签
- JSP JSTL <sql:dateParam>标签:填充日期型参数
- 快速掌握JSP与MySQL的教程(jspmysql教程)
- jsp与mysql的测试实践之旅(jsp测试mysql)
- 快速搭建JSP项目:MySQL数据库配置(jsp配置mysql)
- MySQL与JSP无缝连接——实现数据库操作(mysql连接jsp)
- 使用JSP连接Oracle数据库的技术实现(jsp 连oracle)
- JSP实现Oracle数据库调用技术(jsp 调用oracle)
- 数据库JSP实现对Oracle数据库的访问(jsp访问oracle)
- 数据库基于JSP的Oracle数据库功能测试(jsp测试oracle)
- 长站长如何使用JSP和Oracle搭建网站(jsp oracle的站)
- JSP与Oracle数据库实战指南(jsp oracle实战)
- jsp计数器代码
- 通用JSP页面jsp入门级文章
- jsp自定义标签实例
- JSP动态生成验证码存储在session作用范围内