jsp的工作模式是请求/响应模式,客户端首先发出http请求,jsp程序收到请求后将进行处理并返回处理结果。在一个jsp文件第一次被请求的时候,jsp引擎(容器)把该jsp文件转换成一个servlet,而这个引擎本身也是一个servlet。jsp的运行原理如图11-4所示。
图11-4 jsp的运行原理
jsp的运行过程具体如下。
(1)客户端发出请求,请求访问jsp文件。
(2)jsp容器先将jsp文件转换成一个java源文件(java servlet源程序),在转换过程中,如果发现jsp文件中存在任何语法错误,则中断转换过程,并向服务端和客户端返回出错信息。
(3)如果转换成功,则jsp容器会将生成的java源文件编译成相应的字节码文件*.class。该class文件就是一个servlet,servlet容器会像处理其他servlet一样处理它。
(4)由servlet容器加载转换后的servlet类(class文件)创建一个该servlet(jsp页面的转换结果)的实例,并执行servlet的jspinit()方法。jsinit()方法在servlet的整个生命周期中只会执行一次。
(5)执行jspservice()方法处理客户端的请求。对于每一个请求,jsp容器都会创建一个新的线程处理它。如果多个客户端同时请求该jsp文件,则jsp容器会创建多个线程,使每一个客户端请求都对应一个线程。
(6)如果jsp文件被修改了,则服务器将根据设置决定是否对该文件重新进行编译,如果需要重新编译,则使用重新编译后的结果取代内存中的servlet,并继续上述处理过程。需要注意的是,虽然jsp效率很高,但在第一次调用时往往由于需要转换和编译,所以会产生一些轻微的延迟。
(7)如果系统出现资源不足等问题,jsp容器可能会以某种不确定的方式将servlet从内存中移除,发生这种情况的时候,首先会调用jspdestroy()方法,然后servlet实例会被作为“垃圾”进行处理。
(8)当请求处理完成后,响应对象由jsp容器接收,并将html格式的响应信息发送回客户端。
以上就是小编今天为大家分享的关于“jsp运行原理及运行过程”的文章,希望本篇文章能够帮到你。云和数据 ict 职业教育发挥公司产业化优势与技术积淀,整合国内外优秀师资,累计自主研发 230 余项教辅、教材,300 余 项实践教学案例与实训平台,采用六位一体项目制教学模式,年 培养高端 ict 技术人才超 10000 人,累计为企业输送高端泛 ict 技术人才超 9 万人,学员 60%来自于口碑推荐。如果你对目前的生活状态不满意,想提升技能,可以咨询云和数据1929cc威尼斯官网获得帮助。
37000.com威尼斯 copyright © 2013-2021 河南云和数据信息技术有限公司 isp经营许可证:豫b-20160281