首页 java面试 jsp是怎么运行的

jsp是怎么运行的

jsp ——JSP引擎转换为Servlet——Java编译为.class文件——由Java虚拟机解释执行 Web容器处理…

jsp ——JSP引擎转换为Servlet——Java编译为.class文件——由Java虚拟机解释执行

Web容器处理JSP文件请求的执行过程主要包括以下4个部分:
1. 客户端发出Request请求
2. JSP Container 将JSP转译成Servlet的源代码
3. 将产生的Servlet源代码经过编译后,并加载到内存执行
4. 把结果Response(响应)至客户端

很多人都会认为JSP的执行性能会和Servlet相差很多,其实执行性能上的差别只在第一次的执行。因为JSP在执行第一次后,会被编译成Servlet的类文件,即.class,当再重复调用执行时,就直接执行第一次所产生的Servlet,而不再重新把JSP编译成Servelt。因此,除了第一次的编译会花较久的时间之外,之后JSP和Servlet的执行速度就几乎相同了。

在执行JSP网页时,通常可以分为两个时期:转译时期(Translation Time)和请求时期(Request Time)

转译时期:JSP网页转移成Servlet类。
请求时期:Servlet类执行后,响应结果至客户端。

转译期间做了两件事情:
转译时期:将JSP网页转移为Servlet源代码 .java.
编译时期:将Servlet 源代码 .java编译成 Servlet类 .class.

当JSP网页在执行时,JSP Container 会做检查工作,如果发现JSP网页有更新修改时,JSP Container 才会再次编译JSP成 Servlet; 如果JSP没有更新时,就直接执行前面所产生的Servlet.

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

jdbc和mybatis的区别

jdbc和mybatis的区别

jdbc和mybatis的区别 mybatis也是基于JDBC的。Java与数据库操作仅能通过JDBC完成。 mybat...
美团、58、百度、阿里面经(转)

美团、58、百度、阿里面经(转)

百度 一面: 自我介绍、 hashmap和hashtable区别、 对线程安全的理解、 讲讲web三大架构、 为什么要用...
软件测试工程师-面试题

软件测试工程师-面试题

  1、什么是软件测试?2’ 2、软件测试与软件质量保证的区别。10’ 3、报告软件缺陷时,测试人员要对软件缺...
spring面试集合

spring面试集合

问题清单: 什么是Spring框架?Spring框架有哪些主要模块? 使用Spring框架有什么好处? 什么是控制反转(...
Java中的注解是如何工作的?

Java中的注解是如何工作的?

自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如...
返回顶部