Web服务器如何使用JSP创建网页以及JSP的生命周期介绍

举报
gentle_zhou 发表于 2022/06/15 12:57:14 2022/06/15
【摘要】 作为Java EE(Enterprise Edition,企业级版本)重要的一部分,一个完整的企业级应用平台,我们其实还是可以去了解一下其是什么,工作流程以及生命周期。

因为先前看到老业务代码里涉及到了JSP,于是萌生了好奇心,想去了解研究一下JSP。于是就写下了Java服务器页面-JSP是什么与其简单结构介绍这篇文章。

好多童靴也很好奇,JSP还有必要学吗?JSP有什么作用呢?JSP劣势在哪呢?当前因为主流设计思路是前后端严格分离的,因此JSP作为一个在Java背景后端渲染的技术确实一定程度没落了。JSP的作用通俗点来说也很简单,就是把网页页面模板和数据装配起来,作为HTML发送给浏览器。JSP的劣势也很明显,不是前后端分离(后端只负责接口以及页面模板,前端在浏览器中装配)。

但是作为Java EE(Enterprise Edition,企业级版本)重要的一部分,一个完整的企业级应用平台,我们其实还是可以去了解一下其是什么,工作流程以及生命周期。

Web服务器如何使用JSP创建网页

  1. 浏览器发送一个HTTP请求给web服务器
  2. web服务器识别出这是一个JSP网页的请求并将该请求通过URL或则.jsp文件传递给JSP引擎
  3. JSP引擎从磁盘中载入JSP文件转化为Servlet(Server Applet,小服务程序)【注:这里转化的意思是将所有模板文本改用println() 语句,并且将所有的 JSP 元素转化成 Java 代码】
  4. JSP引擎再将Servlet编译成可执行类并将原始请求传递给Servlet引擎
  5. Web服务器的组件将会调用Servlet引擎,载入并执行Servlet类。在执行过程中,Servlet产生HTML格式输出并内嵌到HTTP response中上传给web服务器
  6. Web服务器再以静态HTML网页的形式把HTTP response返回到浏览器中
  7. 浏览器处理静态HTML网页形式的HTTP response

以上步骤可以用下图表示:
image.png

JSP的生命周期

JSP生命周期可以有助于我们理解JSP的底层功能,其生命周期可以分为如下4个阶段:编译阶段、初始化阶段、执行阶段、销毁阶段。

  1. 编译阶段:servlet容器编译servlet源文件生成servlet类。编译的过程包括三个步骤:解析JSP文件、将JSP文件转为servlet、编译servlet。
  2. 初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法jspInit()方法;通常情况下我们可以在jspInit()方法中初始化数据库连接、打开文件和创建查询表。
  3. 执行阶段:调用与JSP对应的servlet实例的服务方法;这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。当JSP网页完成初始化后,JSP引擎将会调用_jspService()方法,该方法需要一个HttpServletRequest对象和一个HttpServletResponse对象作为它的参数
  4. 销毁阶段:调用与JSP对应的servlet实例的销毁方法,销毁servlet实例;该阶段描述了当一个JSP网页从容器中被移除时所发生的一切。

下图为servlet容器编译servlet源文件之后展示的3个阶段:
image.png

参考链接

  1. https://www.runoob.com/jsp/jsp-architecture.html
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。