DispatcherServlet是SpringMVC的核心,用于接收Http请求并且协调SpringMVC各个组件完成请求处理的工作,DispatcherServlet本质也是一个Servlet,需要在web.xml中配置。
如下片段
<servlet>
<description>spring mvc servlet</description>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<description>spring mvc 配置文件</description>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:conf/spring-mvc.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
其中,重要的是声明DispatherServlet的url-pattern匹配模式。
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<!--方式一,扩展匹配-->
<url-pattern>*.do</url-pattern>
<url-pattern>*.html</url-pattern>
<!--方式二,路径匹配(精确路径匹配、最长路径匹配)-->
<url-pattern>/abc</url-pattern>
<url-pattern>/*</url-pattern>
<url-pattern>/abc*</url-pattern>
<!--方式三,default servlet映射-->
<url-pattern>/</url-pattern>
</servlet-mapping>
在DisPatcherServlet中拦截到请求后会交给对于对应的@RequestMapping方法进行处理,如果找不到对应的方法,就会forward至defalut Servlet处理。