jsp编译、执行过程
来源:互联网 发布:开淘宝店流程步骤 编辑:程序博客网 时间:2024/05/01 21:55
一、jsp执行过程图解
用户访问jsp页面时,jsp的处理过程如下图所示:
二、预处理阶段
客户第一次请求jsp页面时,jsp引擎会将jsp文件中的脚本代码(HTML)和代码片段(java代码)全部转换为java代码,转换过程非常直观:对于HTML文本只需要用简单的out.println方法包裹,对于java脚本只做保留或简单的处理。
三、编译阶段
预处理阶段把jsp文件解析为java代码,编译阶段jsp引擎把java代码编译成servlet类文件,对于Tomcat,生成的class文件默认情况下存放在<Tomcat>/work
目录下。
四、响应阶段
编译后的class对象被加载到容器中,并根据用户的请求生成HTML格式的响应页面返回给客户端。
在执行jsp网页时,通常分为两个时期:转译时期和请求时期。转译时期jsp页面被翻译成Servlet类,然后编译成Class文件;用户请求时期,servlet类被执行,生成HTML响应至客户端。
五、jsp和servlet的执行速度
jsp的转译和请求都在在第一次访问时进行的,所以用户在第一次访问jsp页面时响应时间会比较长。在之后的请求中,这些工作已经完成,时间延长问题不存在了。在处理后续的访问时jsp和servlet的执行速度是一样的。
六、容器、jsp容器、jsp引擎
jsp要转译为servlet,但是servlet没有main()方法,servlet对象的创建、方法的调用由web容器来实现。以Tomcat为例,先看一下Tomcat的总体结构:
从图中可以看出,Tomcat的核心组建是connector和container,container就是容器。容器就是负责管理控制servlet的应用程序。图中的jasper就是解析jsp的jsp引擎。Tomcat既是servlet容器又是web服务器,也是jsp引擎。
参考文章:
- 关于tomcat架构可以参考淘宝架构师写的:Tomcat 系统架构与设计模式,第 1 部分: 工作原理
- 关于jsp引擎更详细介绍可以参考:Tomcat 6 — 使用Jasper引擎解析JSP
- 概念区别:Web容器、服务器、容器的理解总结
- jsp编译、执行过程
- jsp编译、执行过程
- jsp编译、执行过程 22
- jsp---->jsp执行过程
- JSP的执行过程
- jsp执行过程
- JSP的执行过程
- JSP的执行过程
- JSP的执行过程
- JSP执行过程
- JSP的执行过程
- jsp的执行过程
- JSP的执行过程
- 图解JSP执行过程
- JSP的执行过程
- JSP执行过程
- JSP的执行过程
- JSP的执行过程
- NDK开发环境的搭建
- 智能硬件X1000平台代码下载编译方法
- ytu 2228 判断链表
- [leetcode Q26] Remove Duplicates from Sorted Array
- 2015年10月最新大神班小码哥视频
- jsp编译、执行过程
- 2015年10月最新大神班小码哥视频
- hbase源码打包
- 最新大神班小码哥视频
- Android ContentProvider和Uri详解
- centos的nginx+https配置
- 理解c语言指针很关键的几句话,二维数组与指针类型的分析
- 编写一个函数,递归遍历,实现无限分类(新浪)
- 安卓项目集成facebook-android-sdk 4.0版本