启动web项目时,容器首先会读取web.xml配置文件中的两个节点:<lister>和<context-param>;
紧接着,容器会创建一个ServletContext(application),用于存放整个web共享的数据,<context-param>中的<param-name>为键,<param-value>为值;
容器创建<lister>中的类实例,根据配置的<listener-class>,来创建监听,监听中会有初始化方法,启动web时,系统会调用listener的该方法;
接着,容器会读取<filter>,根据指定的类路径来实例化过滤器;
在web还没有完全启动时就已经完成了以上工作,Servlet则是在前端第一次发起请求时才配实例化。
因此,web.xml的加载顺序是<context-param>-<listener>-<filter>-<Servlet>,如果web.xml中出现了相同元素,则按照在配置文件中的顺序加载。
从毕设里面摘出来的一部分,自己感觉还挺有用的,就发出来了。