Tomcat源码解读--代码走读之(二十九的2-3)StandardContext. start(三十)
StandardContext的类关系是:
classStandardContext?extends?ContainerBase?implements?Context,?NotificationEmitter,
abstractclass?ContainerBase?extends?LifecycleMBeanBase?implements?Container
????调用父类LifecycleBase的start()方法。
1、init,
(1)、setStateInternal(LifecycleState.INITIALIZING,null,?false);因为ls的listeners有2个。
????1)、ContextConfig,在此阶段没动作。
????2)、MemoryLeakTrackingListener,在此阶段没动作。
(2)、initInternal(),执行StandardContext的initInternal方法。

????1)、调用父类LifecycleMBeanBase的initInternal,注册Mbean
????2)、给StandardContext的ls的listeners增加一个TldConfig
????3)、进行消息的处理,与J2EE有关。
(3)、setStateInternal(LifecycleState.INITIALIZED,null,?false);?因为ls的listeners有3个。
?????1)、ContextConfig,进行init初始化。

???????1))、创—igester对象。
??????2))、contextConfig();后续介绍
??????3))、createWebXmlDigester(context.getXmlNamespaceAware(),context.getXmlValidation());后续介绍
????????????4))、fixDocBase();后续介绍
2)、MemoryLeakTrackingListener,在此阶段没动作。
3)、TldConfig,后续介绍。
2、setStateInternal(LifecycleState.STARTING_PREP,?null,?false);后续介绍。
3、startInternal();后续介绍
4、setStateInternal(LifecycleState.STARTED,?null,?false);后续介绍。