1. 程式人生 > >Spring MVC——DispatcherServlet簡單介紹

Spring MVC——DispatcherServlet簡單介紹

一般的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讀入。