ServletContext --- ContextParam---Listener---Filter---Servlet---Spring容器
一、web启动时,先读取web.xml文件中的<context-param>和<Listener>两个节点;
二、创建ServletContext ,整个web都共享这个ServletContext ;
三、将context-param转换成键值对,交给ServletContext ;
四、创建Listener中的类实例,创建监听器;
五、多个Filter的加载顺序
web容器启动时,初始化每个Filter,是按照Filter配置节的顺序来初始化的,当请求资源匹配多个Filter-mapping时,Filter拦截资源时按照Filter-mapping配置节出现的顺序来依次调用doFilter方法。
过滤器中要用到spring bean的时候就需要修改成Listener的方式
org.springframework.web.context.ContextLoaderListener
六、加载Servlet的顺序
web应用在启动时,会检查<load-on-startup></load-on-startup>配置(正数值越小,表示此servlet加载的优先级越高)
当值为0或者大于0,表示容器在启动时就加载这个servlet;
当值小于0或者没有配置,表示只有容器选择此servlet的时候才加载;