ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

jsp javascript学习的网站编程网站http://c.biancheng.net/jsp2/life-cycle.html

2022-06-16 23:34:10  阅读:191  来源: 互联网

标签:容器 life http 网站 方法 jspDestroy 编译 JSP Servlet


编程网站:JSP生命周期(图解) (biancheng.net)

http://c.biancheng.net/jsp2/life-cycle.html

JSP生命周期(图解)

JSP到底是什么第一个JSP程序 > JSP 生命周期定义了 JSP 从创建到销毁的整个过程。这类似于 Servlet 生命周期,不同的是,JSP 需要先被编译成 Servlet。

JSP 生命周期阶段如下:
  1. 编译
  2. 初始化(容器调用 jspInit() 方法)
  3. 执行(容器调用 _jspService() 方法)
  4. 销毁(容器调用 jspDestroy() 方法)

JSP生命周期

1. JSP编译

当浏览器请求 JSP 时,JSP 容器会首先检查是否需要编译页面。如果该页面从未被编译过,或者自上次编译以来对其进行了修改,则编译该页面。

JSP 本质是 Servlet,因此 JSP 容器就是 Servlet 容器

编译过程包括 3 个步骤:
  • 解析 JSP:JSP 容器解析 JSP 文件,查看是否有语法错误
  • 翻译 JSP:JSP 容器把 JSP 文件翻译为 Servlet 类
  • 编译 Servlet

2. JSP初始化

当容器加载 JSP 时,它将在处理任何请求之前调用 jspInit() 方法。如果您需要自定义 JSP 的初始化内容,可以重写 jspInit() 方法。
  1. public void jspInit(){
  2. // ...
  3. }
一般情况下,程序只初始化一次。与 Servlet init 方法一样,我们通常在 jspInit() 方法中初始化数据库连接、打开文件。

3. JSP执行

此阶段表示了 JSP 生命周期中所有与请求相关的交互行为,直到被销毁。

JSP 页面完成初始化后,JSP 将会调用 _jspService() 方法。

_jspService() 以 HttpServletRequest 对象和 HttpServletResponse 对象作为方法参数,如下所示:
  1. void _jspService(HttpServletRequest request, HttpServletResponse response) {
  2. // ...
  3. }
JSP 的 _jspService() 方法根据 request 来生成相应的 response,并且它还负责生成对 HTTP 方法的响应,即 GET、POST、DELETE 等。

4. JSP销毁

JSP 生命周期的销毁阶段表示从容器中删除 JSP。

jspDestroy() 方法等效于 Servlet 中的 destroy() 方法。如果您需要自定义 JSP 的销毁内容,可以重写 jspDestroy() 方法。

jspDestroy() 方法具有以下形式。
  1. public void jspDestroy() {
  2. ...
  3. }
通常我们在 jspDestroy() 方法中释放数据库连接、关闭打开的文件。

关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。

不定期发布学习路线+书籍文档+优质视频,为初学者指点迷津。

绑定网站登录功能,再也不用担心密码丢失。

编程11年,建站10年,创业7年,写作6年,既有硬知识,也有软技能。

长期更新,坚持原创,敢说真话,凡事有态度。

公众号二维码
微信扫码即可关注 JSP到底是什么第一个JSP程序 >

优秀文章

标签:容器,life,http,网站,方法,jspDestroy,编译,JSP,Servlet
来源: https://www.cnblogs.com/effortandluck/p/16384047.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有