Web服务器如何使用JSP创建网页以及JSP的生命周期介绍
【摘要】 作为Java EE(Enterprise Edition,企业级版本)重要的一部分,一个完整的企业级应用平台,我们其实还是可以去了解一下其是什么,工作流程以及生命周期。
因为先前看到老业务代码里涉及到了JSP,于是萌生了好奇心,想去了解研究一下JSP。于是就写下了Java服务器页面-JSP是什么与其简单结构介绍这篇文章。
好多童靴也很好奇,JSP还有必要学吗?JSP有什么作用呢?JSP劣势在哪呢?当前因为主流设计思路是前后端严格分离的,因此JSP作为一个在Java背景后端渲染的技术确实一定程度没落了。JSP的作用通俗点来说也很简单,就是把网页页面模板和数据装配起来,作为HTML发送给浏览器。JSP的劣势也很明显,不是前后端分离(后端只负责接口以及页面模板,前端在浏览器中装配)。
但是作为Java EE(Enterprise Edition,企业级版本)重要的一部分,一个完整的企业级应用平台,我们其实还是可以去了解一下其是什么,工作流程以及生命周期。
Web服务器如何使用JSP创建网页
- 浏览器发送一个HTTP请求给web服务器
- web服务器识别出这是一个JSP网页的请求并将该请求通过URL或则.jsp文件传递给JSP引擎
- JSP引擎从磁盘中载入JSP文件转化为Servlet(Server Applet,小服务程序)【注:这里转化的意思是将所有模板文本改用
println()
语句,并且将所有的 JSP 元素转化成 Java 代码】 - JSP引擎再将Servlet编译成可执行类并将原始请求传递给Servlet引擎
- Web服务器的组件将会调用Servlet引擎,载入并执行Servlet类。在执行过程中,Servlet产生HTML格式输出并内嵌到HTTP response中上传给web服务器
- Web服务器再以静态HTML网页的形式把HTTP response返回到浏览器中
- 浏览器处理静态HTML网页形式的HTTP response
以上步骤可以用下图表示:
JSP的生命周期
JSP生命周期可以有助于我们理解JSP的底层功能,其生命周期可以分为如下4个阶段:编译阶段、初始化阶段、执行阶段、销毁阶段。
- 编译阶段:servlet容器编译servlet源文件生成servlet类。编译的过程包括三个步骤:解析JSP文件、将JSP文件转为servlet、编译servlet。
- 初始化阶段:加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
jspInit()
方法;通常情况下我们可以在jspInit()
方法中初始化数据库连接、打开文件和创建查询表。 - 执行阶段:调用与JSP对应的servlet实例的服务方法;这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。当JSP网页完成初始化后,JSP引擎将会调用
_jspService()
方法,该方法需要一个HttpServletRequest对象和一个HttpServletResponse对象作为它的参数 - 销毁阶段:调用与JSP对应的servlet实例的销毁方法,销毁servlet实例;该阶段描述了当一个JSP网页从容器中被移除时所发生的一切。
下图为servlet容器编译servlet源文件之后展示的3个阶段:
参考链接
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)