DispatcherServlet是SpringMVC的核心控制器,就像是SpringMVC的心脏,几乎所有的请求都会经过这个控制器,通过它,大大的降低了模块之间的耦合度。
在SpringMVC框架中已经定义了DispatcherServlet
,用于接收所有请求,它终究是一个Servlet
,必须在web.xml文件中进行配置,否则,当启动Tomcat时,它根本就不会工作!
基本配置代码如下:
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- tomcat启动时自动创建servlet,数字越小优先级越高(>0) -->
<load-on-startup>1</load-on-startup></servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
然后,SpringMVC框架是基于Spring框架的,应该在项目启动时就加载Spring的配置文件,使得相关配置是生效的!在DispatcherServlet
的父类FrameworkServlet
中,定义了
contextConfigLocation`属性,该属性的值应该是Spring配置文件的位置,
当设置了值以后,初始化DispatcherServlet
时,就会自动读取Spring的配置文件!所以,继续补充配置:
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
《加载spring核心配置文件位置context上下文config配置location位置》
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring.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>