作者:翟志军2502905177 | 来源:互联网 | 2024-10-14 19:26
web项目启动经过如下步骤。
1.项目启动,加载依赖的jar包。
2.web容器(tomcat)先提供一个全局上下文ServletContext.
3.web容器去读取web.xml文件,并且运行ContextLoaderListener监听器,该监听器因为实现了ServletContextListener接口,所以当发现容器生成了一个ServletContext实例的时候,便会执行ServletContextListener接口的初始化方法,在该初始化方法中根据contextConfigLocation指定的位置去读取spring的主要配置文件,然后生成web应用上下文WebApplicationContext,并且将其作为一个属性注入到ServletContext中。
4.初始化WebApplicationContext以后,启动了“业务层”的spring容器,并开始加载并初始化applicationContext配置文件中所扫描的类。
5.然后就是初始化filter,最后初始化servlet。
所以说作为web项目,WebApplicationContext的生成必须要在web容器存在的情况下才能实现,因为他需要ServletContext,而ServletContext是web容器生成的。
————————————————
版权声明:本文为CSDN博主「360linker」的原创文章,遵循CC 4.0 BY-SA版权协议。
原文链接:
【1】https://blog.csdn.net/belalds/article/details/80005460
【2】https://blog.csdn.net/song_ysh/article/details/86526748