web.xml中会有两个contextConfigLocation, 一个位于context-param参数中, 另一个位于servelt的init-param参数中。
个人理解如下:
1) servelt的init-param的contextConfigLocation是为了加载DispatcherServlet的, 而context-param参数
的applicationContext.xm是为了加载web程序需要加载的数据库等等配置。
2) servlet中如果有init-param配置,DispatcherServlet会使用默认/WEB-INF/目录下的servlet-name>中定义的值, 如这里的
springMVC+servlet.xml作为配置其配置文件(这里为/WEB-INF/springMVC-servlet.xml)作为配置。
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!--配置dispatcher.xml作为mvc的配置文件-->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
---------------------------------------------------------
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>