web.xml 文件有 context-param、listener、filter 和 servlet 这四类标签
其中各个标签的加载顺序是:context-param -> listener -> filter -> servlet(同类多个节点以出现顺序依次加载)
web.xml 加载步骤:
1、首先读取 context-param 和 listener 节点;
2、容器创建一个ServletContext,这个上下文会应用于整个项目;
ServletContext servletContext = ServletContextEvent.getServletContext();
3、容器 将读取到的 context-param 转化为键值对,并存入servletContext;
ServletContext 调用 getInitParameter(String name) 方法
4、接着读取listener,用于创建监听;
ServletContextListener 调用 contextInitialized(ServletContextEvent sce) 用来通知 WEB 应用 初始化过程 开始;
ServletContextListener 还有一个 contextDestroyed(ServletContextEvent sce) 用来 接收通知,ServletContext 将要被关闭;
5、容器会读取,根据指定的类路径来实例化过滤器;
6、项目初始化完成