
Tomcat源码初识(tomcat流程)
- tomcat启动类Bootstrap,启动时会执行这个类里面的main方法
- 创建Bootstrap对象,执行init方法
- 初始化classloaders,三个加载器加载路径在conf/catalina.properties中定义(默认catalinaLoader与sharedLoader没有设置,两个类加载器默认都是commonLoader,如果设置了,父类是commonLoader),然后sharedLoader是后期加载项目中的class的父类加载器,有共享的class或者jar,可以配在这image.png
- 通过反射创建Catalina对象(catalinaLoader.loadClass(“org.apache.catalina.startup.Catalina”))
- 设置tomcat容器父加载器 Catalina.setParentClassLoader(sharedLoader)
- 初始化classloaders,三个加载器加载路径在conf/catalina.properties中定义(默认catalinaLoader与sharedLoader没有设置,两个类加载器默认都是commonLoader,如果设置了,父类是commonLoader),然后sharedLoader是后期加载项目中的class的父类加载器,有共享的class或者jar,可以配在这
- load: Catalina.load()责任链模式,一层往下一层执行
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自fault`s blog
评论 (0)