重新看了一下孙卫琴老师的《精通Struts》,总结了一下Struts框架的初始化流程如下:
1.调用initInternal()方法,初始化struts框架内在的消息资源,如与系统相关的通知、警告和错误信息。
2.调用ininOther()方法,从web.xml文件中加载ActionServlet的初始化信息,如config参数
3.调用initServlet()方法,从web.xml文件中加载ActionServlet的URL映射信息,此外还会注册web.xml和Struts配置文件所用的DTD文件用来验证web.xml和Struts配置文件的语法
4.调用initModuleConfig()方法,加载并解析默认子应用模块的Struts配置文件;创建ModuleConfig对象,把它存储在ServletContext中。
5.调用initModuleMessageResoruces()方法,加载并初始化默认子应用模块的消息资源;创建MessageResources()方法,把它存储在ServletContext中。
6.调用initModuleDataSources()方法,加载并初始化默认子应用模块的数据源。如果在Struts配置文件中没有定义<data-sources>,忽略这一流程。
7.调用initModulePlugins()方法,加载并初始化默认子应用模块的所有插件。
8.当默认子应用模块被成功初始化后,如果还包括其他子应用模块,将重复流程4~7,分别对其他子应用模块进行初始化。