SpringMVC之DispatcherServlet處理請求詳解
阿新 • • 發佈:2019-02-15
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處理。