一般的MVC框架中C(controller)部分都会有一个Dispatcher(调度器、分发器)负责根据客户端所发出的URI进行调度、分发,找到相对应的action进行调用。在Spring MVC中,DispatcherServlet充当这一个角色,其全名是org.springframework.web.servlet.DispatcherServlet 。
要使用这个servlet,需要把它配置在部署描述符(web.xml文件)中:
<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>/</url-pattern>
</servlet-mapping>
在初始化时,DispatcherServlet将会寻找应用程序WEB-INF目录下的servletName-servlet.xml配置文件,其中servletName是指在部署描述符中的DispatcherServlet的名称。(示例中的DispatcherServlet将会寻找SpringMVC-servlet.xmlwenjian )如果配置文件放在别的地方,则需要在servlet元素中间添加init-param元素,而init-param元素下面包含值为contextConfigLocation的param-name元素以及值为配置文件路径的param-value的元素。
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/test/test-config.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这样配置的话,DispatcherServlet在初始化时就会选择WEB-INF/test文件夹下面的test-config.xml读入。