美文网首页
Tomcat-运行原理

Tomcat-运行原理

作者: 洛神灬殇 | 来源:发表于2022-04-25 20:53 被阅读0次

    1.Servlet容器-应用服务器

    server.xml读取:(运行协议+工作模式+设置线程池)

    tomcat入口程序:主方法main方法->org.apache.catalina.startup.Bootstrap

    createDigster()

    通过Digster去解析xml,生成对应的对象服务
    Server

    org.apache.catalina.startup.Bootstrap
    

    Engine ()

    Host(虚拟主机节点)

       定义域名,webapp部署根包名称,是否解压war包、是否自动部署。
    
       其实就是主要负责定义主机的域名,匹配到了去找不同的context上下文。 
    
       默认会去找localhost。
    
       虚拟主机
    

    Context(应用上下文节点)

    标识应用上下文
    

    层级结构

    servlet(食物)->wrapper(包装)->context(外层大袋子)->Host(皮包)->Engine(汽车)
    
    其实上上面就是一个关系层次关系包装
    

    TomcatJavaEXT虚拟机Web

       当我们启动一个tomcat的服务的时候,jar包和claess文件是是以怎么样的顺序被加载进来的?
    

    加载顺序:

    1.$java_home/lib 目录下的java核心api

    2.$java_home/lib/ext 目录下的java扩展jar包

    3.java -classpath/-Djava.class.path所指的目录下的类与jar包

    4.$CATALINA_HOME/common目录下按照文件夹的顺序从上往下依次加载

    5.$CATALINA_HOME/server目录下按照文件夹的顺序从上往下依次加载

    6.$CATALINA_BASE/shared目录下按照文件夹的顺序从上往下依次加载

    7.我们的项目路径/WEB-INF/classes下的class文件

    8.我们的项目路径/WEB-INF/lib下的jar文件

    在同一个文件夹下,jar包是按顺序从上到下依次加载

    由ClassLoader的双亲委托模式加载机制我们可以知道,假设两个包名和类名完全相同的class文件不再同一个jar包,如果一个class文件已经被加载java虚拟机里了,那么后面的相同的class文件就不会被加载了。

    相关文章

      网友评论

          本文标题:Tomcat-运行原理

          本文链接:https://www.haomeiwen.com/subject/upjqyrtx.html