jsp运行原理

在服务器运行的时候,当去访问一个jsp页面的时候,任何一个jsp文件都会转化为servlet,在tomcat服务器安装目录下会生成jsp文件名+_jsp.java的源文件,这个java文件将会被编译为class文件,当请求jsp页面时,Tomcat会分派给JspServlet来处理,在 jspServlet的方法 service()中有一句
boolean precompile = preCompile(request);
它会判断你请求jsp页面时有没有带?jsp_precompile查询字符串,如果带了就会重新编译
然后再由 
serviceJspFile(request, response, jspUri, null, precompile);
进一步判断是否要进行编译jsp文件
下面由JspServletWraper service方法
if (options.getDevelopment() || firstTime ) {
synchronized (this) {
if (firstTime) {
firstTime = false;
}
// The following sets reload to true, if necessary
ctxt.compile();
}
}
再到JspCompilationContext.compile()方法
if (isPackagedTagFile || jspCompiler.isOutDated()) {
才编译

时间: 2024-10-11 23:23:52

jsp运行原理的相关文章

jsp运行原理与九大内置对象

1:IE浏览器中输入http://localhost/demo/index.jsp 2:IE浏览器默认找servlet,输入index.jsp请求后,jsp引擎会把jsp翻译为 Servlet,保存在tomcat/work/.../index_jsp.java中,在编译为字节码到内存 Servlet调用service()方法,对jsp页面进行处理输出到IE 调用service()方法时,里面定义了9大内置对象供jsp调用 1:Request                      5:Conf

JSP运行原理和九大隐式对象

每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用. 由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响. JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的

开启 J2EE(四)—JSP及运行原理

JSP之了解 全称Java Server Pages,通过在HTML中嵌套Java代码实现动态网页. 可以从下面四个方面去认识一下JSP: 1.动态内容模板 动态的HTML,接受处理客户的请求,可以填充不同的业务逻辑. 2.使用定制的Java代码扩展HTML 本质是对标签的动态更新.JSP生成的标签代码可以是HTML也可以是XML等其它标签语言. 3.被编译成Servlet 本质是Servlet,在开发阶段JSP是一种文本的脚本的基于模板化的语言,运行时会被编译成Servlet的格式,执行的生命

Java Web基础:JSP工作原理和基础概念

JSP介绍 JSP全称是Java Server Pages,它和Servlet都是Sun公司定义的用于开发动态Web资源的技术,它解决了Servlet输出流排版复杂和难以维护的问题.JSP完美融合了HTML模版元素和Java代码,通过JSP写服务端输出变得和写HTML网页一样容易. JSP通过涵盖HTML模版元素来简化输出排版,还提供不同的JSP标签管理不同类型的Java代码,除此之外,它还默认封装了9大隐式对象,帮助提高开发的效率. JSP本质上是Servlet,当用户请求JSP时,JSP引擎

Servlet运行原理

一:servlet定义 Servlet是一个Java应用程序,运行在服务器端,用来处理客户端请求并作出响应的程序. (Servlet对象 在Servlet容器启动时被初始化,当第一次被请求时,Servlet容器将其实例化,此时它贮存于内存中. 如果存在多个请求,Servlet不会再被实例化,仍然由此Servlet将其进行处理,每一个请求都是一个线程,而不是进程,因此,Servlet对请求的处理的性能非常高) 对于Servlet,它被设计为多线程的(如果它是单线程的,你就可以想象,当1000个人同

理解Web应用程序的代码结构和运行原理(3)

1.理解Web应用程序的运行原理和机制 Web应用程序是基于浏览器/服务器模式(也称B/S架构)的应用程序,它开发完成后,需要部署到Web服务器上才能正常运行,与用户交互的客户端是网页浏览器. 浏览器负责显示来自服务器的数据和接受用户的输入数据,也称为"与用户交互":服务器负责处理浏览器的访问请求,并把处理结果(数据或消息)组织成浏览器可以识别的格式文本返回. Web应用程序的主要特点如下: 1)浏览器主动请求服务器资源.在Web应用程序中,一般是浏览器首先向服务器发起访问某个网页或某

虚拟内存运行原理!

                                   虚拟内存运行原理! 在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间.当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用. 在Linux内存管理中,主要是通过"调页Paging"和"交换Swapping"来完成上述的内存调度.调页算法

黑马公开课——运行原理与GC学习笔记

.NET Framework 程序的运行原理 .NET Framework的组成:(1)基础类库(BCL):使用线程的类来完成编程,对于不存在的类,就自己编写:(2)编译工具:将源文件,编译成"程序集"(exe或dll等)[.NET环境中,MSIL=CIL=IL](3)公共语言运行时(CLR):执行前检测.编译:执行到了某个方法时才编译这个方法的代码[即时编译器(JIT)]编译过程:.NET源代码(C#)-->通过C#编译器编译成程序集[程序集中包括:元数据(一个表,显示了程序中

html的运行原理

     html的运行原理      1.本地运行       html 文件 使用 浏览器(软件)        视频文件   使用 暴风软件       2,远程访问运行          在100%情况(除了自己测试外)是远程访问html文件        html的基本结构         不管这个html 文件有多复杂,它的基本结构式          <元素 属性='属性值'...>内容</元素>          如果没有内容,可以这样写          <