web总结
一,web.xml的加载过程:当我们启动一个web项目时,容器(Tomcat)会首先读取web.xml,如果web.xml没有错,项目就会正常的起来。
1,容器首先回去web.xml读取他的两个节点, <listener></listener>和<context-param></context-param>。
2, 紧接着,容器创建一个ServletContext(application),这个WEB项目所有部分都将共享这个上下文。
3,容器以<context-param></context-param>的name作为键,value作为值,将其转化为键值对,存入ServletContext.
4,容器创建<listener></listener>中的类实例。根据配置的listener-class来创建监听,在监听中会有contextInitialized(ServletContextEvent args)初始化方法,启动Web应用时,系统调用Listener的该方法,在这个方法中获得:ServletContext application =ServletContextEvent.getServletContext(); context-param的值= application.getInitParameter("context-param的键");得到这个值就可以做一些操作。
举例:你想在项目启动之前就启动数据库,可以在<context-param>里设置一些键值,比如url,username,password等,在监听器类的初始化中建立数据库的连接。
5,实例化过滤器类
总结:<context-param>-> <listener> -> <filter> -> <servlet>
二,spring配置文件。
1,必须需要<listener>,而<context-param>可有可无,如果在web.xml中不写<context-param>配置信息,默认的路径是/WEB-INF/applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml。如果是要自定义文件名可以在web.xml里加入contextConfigLocation这个context参数:在<param-value>里指定相应的xml文件名,如果有多个xml文件,可以写在一起并以“,”号分隔,比如在business-client工程中,我们采用了自定义配置方式,<context-param>配置如下:
必须需要<listener>,而<context-param>可有可无,如果在web.xml中不写<context-param>配置信息,默认的路径是/WEB-INF/applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml。如果是要自定义文件名可以在web.xml里加入contextConfigLocation这个context参数:在<param-value>里指定相应的xml文件名,如果有多个xml文件,可以写在一起并以“,”号分隔,比如在business-client工程中,我们采用了自定义配置方式,<context-param>配置如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml
</param-value>
2,