SpringMVC配置DispatcherServlet几种情况:
1.默认情况,配置DispatcherServlet的时候不用指定配置文件的文字,Spring默认会加载该路径下/WEB-INF/${servlet-name}-servlet.xml的文件,其中${servlet-name}是你配置web.xml中的配置的DispatcherServlet的名字,例如:
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>那就是加载/WEB-INF/SpringMVC-servlet.xml这个文件。2.更改默认的命名空间之后,查看DispatcherServlet源码,DispatcherServlet继承了FrameworkServlet类,如图
可以看到,如果初始化的参数配置了namespace,则会使用你的namespace的名字去/WEB-INF/查找对应的文件,如果没有配置namespace则是第一种情况 <servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>namespace</param-name>
<param-value>mySpringMVC</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
如上,则Spring回去查找
/WEB-INF/mySpringMVC.xml这个配置文件
3.第三种,使用像配置spring的ContextLoader一样,使用contextConfigLocation初始化参数配置 <servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:mySpringMVC.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
本文详细介绍了SpringMVC中DispatcherServlet的三种配置方式,包括默认配置、通过namespace参数指定配置文件以及使用contextConfigLocation参数来指定配置文件路径。
780

被折叠的 条评论
为什么被折叠?



