在前面幾節中,咱們瞭解到在SpringMVC 框架中,DispatcherServlet是負責分發請求的。今天小博老師帶領你們一塊兒詳細的學習下DispatcherServlet的使用方法。首先咱們要了解如何在web.xml中配置dispatcherServlet:web
<servlet>spring <servlet-name>Bsoweifeng</servlet-name>app <servlet-class>框架 org.springframework.web.servlet.DispatcherServlet學習 </servlet-class>url <load-on-startup>1</load-on-startup>spa </servlet>code <servlet-mapping>server <servlet-name>chapter2</servlet-name>xml <url-pattern>/</url-pattern> </servlet-mapping> |
load-on-startup:意味着啓動容器時就執行該Servlet初始化;
url-pattern:表示哪些請求交給SpringMVC處理, 「/」 表示攔截全部請求。
在以上的DispatcherServlet配置中默認使用WebApplicationContext做爲上下文,Spring默認配置文件爲「/WEB-INF/[servlet名字]-servlet.xml」。
DispatcherServlet支持配置自定義初始化參數,覆蓋默認配置:
參數 |
描述 |
contextClass |
實現WebApplicationContext接口的類,當前的servlet用它來建立上下文。若是這個參數沒有指定, 默認使用XmlWebApplicationContext。 |
contextConfigLocation |
傳給上下文實例(由contextClass指定)的字符串,用來指定上下文的位置。這個字符串能夠被分紅多個字符串(使用逗號做爲分隔符) 來支持多個上下文(在多上下文的狀況下,若是同一個bean被定義兩次,後面一個優先)。 |
namespace |
WebApplicationContext命名空間。默認值是[server-name]-servlet。 |
對上面的配置案例進行修改:
<servlet> <servlet-name>Bsoweifeng</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> classpath:spring-servlet-config.xml </param-value> </init-param> </servlet> |
若是使用如上配置,SpringMVC將加載「classpath:spring-servlet-config.xml」初始化上下文,而再也不使用默認的「/WEB-INF/[servlet名字]-servlet.xml」。