Tomcat初始化&启动流程
根据跟踪源码分析可以发现,在tomcat初始化的时候从父容器调用子容器的init()方法对子容器进行初始化,同样的在启动的时候也是通过父容器调用子容器的start()方法进行启动,那么他们调用的方法名都一样tomcat如何去管理的?
在源码中点击进init()方法,此时该方法指向一个接口Lifecycle
再查看该类的实现类图
可以发现,tomcat里面的组件类都实现了该接口,并重写了相关方法
总结:因此在初始化和启动的流程中,所有的tomcat的基本组件都实现了该接口,那么也就可以说初始化和启动的动作(甚至tomcat中组件的其他操作)被统一管理了起来
请求处理流程
请求分析
tomcat请求流程都离不开mapper这个类,观察该类
mapper类种存在一个静态内部类也就是MapElement