当启动一个web项目时,容器会读取配置文件web.xml里的配置,当这一步骤没有出错并且完后才能之后,项目才能启动起来。
1.启动web项目的时候,容器首先会去它的配置文件web.xml读取两个节点, <listener></listener>和<context-param></context-param>。
2.紧接着,容器创建一个ServletContext(Application),这个WEB项目所有部分都将共享这个上下文。
3.容器以<context-param></context-param>的name作为键,value作为值,将其转化为键值对,存入ServletContext。
4.容器创建<listener></listener>中的类实例,根据配置的class类路径<listener-class>来创建监听,在监听中会有contextInitialized(ServletContextEvent args)初始化方法,启动Web应用时,系统调用Listener的该方法。
5.总的来说,web.xml的加载顺序是:<context-param>-><listener>-><filter>-><servlet>。其中,如果web.xml中出现了相同的元素,则按照在配置文件中出现的先后顺序来加载。
来源:https://www.cnblogs.com/lyy0910/p/10638388.html