zoukankan      html  css  js  c++  java
  • Tomcat加载JSP原理

    Tomcat加载JSP主要有以下几个类:
    JspServlet
    JspServletWrapper
    JspCompilationContext
    JspRuntimeContext
    JsperLoader
    Compiler
     这几个类都在jasper.jar包中
     
    1.Tomat将http请求通过servlet转给JspServlet
    2.JspServlet在JspRuntimeContext的上下文中查找JspServletWrapper,如果没有找到就新建实例,找到了话就取出来用
    3.JspServletWrapper初始化时也会初始化一个JspCompilationContext
    4.JspServlet将请求转给JspServletWrapper的service方法进行处理
    5.JspServletWrapper将判断系统是否允许重加载this.options.getDevelopment,如果允许将调用JspCompilationContext的编译方法compile
    6.JspCompilationContext的compile方法通过判断jsp文件的时间戳来决定是否将类加载器JsperLoader的引用置null
    7.JspServletWrapper通过getServlet方法从JspCompilationContext加载(load方法)jsp编译后的class类,并实例化
    8.JspCompilationContext类在load时,首先要获得JsperLoader,如果它为null将新建一个实例,然后让JsperLoader这个类加载器加载jsp的class
    9.JspServletWrapper获得实例化的servlet后,将把JspServlet转过来的请求交由这个servlet处理
  • 相关阅读:
    IOS-多线程技术
    设计模式-抽象工厂设计模式
    IOS-内存管理
    IOS-MVC的使用
    POJ2411 Mondriaan's Dream (广场铺砖问题 状压dp)
    NOIp2006T2 金明的预算方案
    POJ1179 Polygon(区间DP)
    NOIp2006T1能量项链
    美梦1(JSOI2014SC)
    TJOI2013(BZOJ3173)最长上升子序列
  • 原文地址:https://www.cnblogs.com/TomSnail/p/4380376.html
Copyright © 2011-2022 走看看