- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
JavaWeb应用开发技术
新闻发布系统—JSP技术实现
主讲:
JSP执行过程
目录
CONTENTS
01JSP概述
02JSP执行过程
03JSP页面元素
04JSP隐式对象
05JSP动作元素
JSP的执行过程
当我们访问一个JSP页面时,服务器究竟经历了什么?今天我们一起来学习JSP的执行过程!
不同于直接传输的HTML,JSP需要经历三个阶段:转译阶段→编译阶段→执行阶段
这三个阶段就像翻译官(转译)、编译器(编译)、执行者(执行)的接力赛
当你在浏览器访问新闻网站时,新闻页面需要实时显示——这就是JSP的舞台!
JSP的执行过程
转译阶段:JSP文件会被Web容器中的JSP引擎转换成Java源码
编译阶段:Java源码会被编译成可执行的字节码
执行阶段:容器接受了客户端的请求后,执行编译成字节码的JSP文件
JSP工作模式是请求/响应模式,JSP文件执行过程的三个关键阶段为:
JSP的执行过程
JSP引擎
转译阶段
编译阶段
执行阶段
Servlet容器
①初始化:jspInit()方法如同开机自检,建立数据库连接等基础操作
②请求处理核心:jspService()为每个请求创建独立线程
③资源回收:jspDestroy()对Servlet实例进行“垃圾收集”处理
④响应返回路径:当请求处理完成后,将HTML格式的响应信息发送回客户端
JSP的执行过程
(1)客户端发出请求,请求访问JSP文件。
(2)JSP文件会被Web容器中的JSP引擎转换成Java源码(Servlet文件),在转译过程中,如果发现JSP文件中存在任何语法错误,则中断转译过程,并向服务端和客户端返回出错信息。(转译阶段)
JSP的执行过程
(3)如果转译成功,Java源文件被编译成可执行的字节码文件(class文件)。(编译阶段)
(4)由Servlet容器加载字节码文件并创建一个该Servlet(JSP页面的转换结果)实例,并执行Servlet的jspInit()方法。jspInit()方法在Servlet的整个生命周期中只会执行一次。(执行阶段)
JSP的执行过程
(5)执行jspService()方法来处理客户端的请求。对于每一个请求,JSP容器都会创建一个新的线程来处理。如果多个客户端同时请求该JSP文件,则JSP容器会创建多个线程,使得每一个客户端请求都对应一个线程。(执行阶段)
(6)如果JSP文件被修改,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则使用重新编译后的结果取代内存中常驻的Servlet,并继续上述处理过程。(编译阶段)
JSP的执行过程
(7)由于系统资源不足等原因,JSP容器可能会以某种不确定的方式将Servlet从内存中移除,发生这种情况时首先会调用jspDestroy()方法,然后Servlet实例会被加入“垃圾收集”处理。(执行阶段)
(8)当请求处理完成后,响应对象由JSP容器接收,并将HTML格式的响应信息发送回客户端。
JSP的执行过程
第一次调用JSP文件时,由于需要转译和编译,会产生一些轻微的延迟,生成Servlet实例后其常驻内存,所以再次访问JSP文件时响应速度非常快;
JSP运行过程中采用多线程的执行方式可以极大地降低对系统资源的需求,提高系统的并发量并缩短响应时间;
可以在jspInit()中进行一些初始化工作(建立数据库的连接、建立网络连接、从配置文件中获取一些参数等);可以在jspDestroy()中释放相应的资源。
小提示
JSP的执行过程
第一次请求之后,Web容器可以重用已经编译好的字节码文件
注意:如果对JSP文件进行了修改,Web容器会重新对JSP文件进行转译和编译
.class
客户端
应用服务器
执行
JSP的执行过程
客户端请求→JSP转译→编译字节码→实例化Servlet
多线程处理→响应返回→修改触发重编译→销毁释放资源
回顾JSP执行过程
JSP的执行过程
如果同时有1000人访问未编译的JSP文件,会发生什么?
进阶思考
[答案提示]:首个请求触发编译,其他请求需等待编译完成
交流与讨论
回忆要点,完成以下任务:
绘制JSP生命周期流程图
编写含jspInit()的简单JSP,观察控制台输出
思考:如何在jspDestroy()中安全关闭数据库连接
感谢聆听
您可能关注的文档
- JavaWeb开发技术项目式教程课件 0第一次课.pptx
- JavaWeb开发技术项目式教程课件 1.0项目概述.pptx
- JavaWeb开发技术项目式教程课件 1.1.1需求分析-知识准备.pptx
- JavaWeb开发技术项目式教程课件 1.1.2需求分析-任务实施.pptx
- JavaWeb开发技术项目式教程课件 1.2.1系统设计-知识准备.pptx
- JavaWeb开发技术项目式教程课件 1.2.2系统设计-任务实施.pptx
- JavaWeb开发技术项目式教程课件 1.3任务评价与拓展.pptx
- JavaWeb开发技术项目式教程课件 2.2任务评价与拓展.pptx
- JavaWeb开发技术项目式教程课件 4.0引入.pptx
- JavaWeb开发技术项目式教程课件 4.1.1JSP概述.pptx
- 2025年江西生物科技职业学院单招职业技能考试题库完美版.docx
- 2025年江西洪州职业学院单招职业倾向性考试题库审定版.docx
- 2025年江西洪州职业学院单招职业技能考试题库一套.docx
- 2025年江西洪州职业学院单招职业技能考试题库参考答案.docx
- 2025年江西泰豪动漫职业学院单招职业适应性考试题库及答案1套.docx
- 2025年江西泰豪动漫职业学院单招职业技能考试题库汇编.docx
- 2025年江西泰豪动漫职业学院单招职业适应性考试题库含答案.docx
- 2025年江西泰豪动漫职业学院单招职业适应性考试题库学生专用.docx
- 2025年江西泰豪动漫职业学院单招职业技能考试题库学生专用.docx
- 2025年江西生物科技职业学院单招职业适应性考试题库含答案.docx
文档评论(0)