Spring MVC 4.0之DispatcherServlet

  1. Spring MVC Dispatcher介紹  

    Spring的DispatcherServlet繼承自HttpServlet,所以本質上是一個ServletDispatcherServlet負責接收請求而後轉發給對應的Controller進行處理
    web

  2.  WebApplicationContext的層級關係

    在這裏關鍵是要理解DispatcherServlet所在的context和全局context的關係。全局Context是由ContextLoaderListener初始化的,通常加載的是項目基礎,通用的Bean。Spring MVC能夠有多個DispatcherServlet實例,每個都有本身獨立的WebApplicationContext,這裏面主要是Controller,HandlerMapping,ViewResolver。全局WebApplicationContext與DispatcherServlet的WebApplicationContext之間是父子關係,子能夠獲取到,覆寫父中定義的Bean,反之不行。spring

  3. 配置

    一個完整的spring在web.xml中的配置以下
app

<web-app>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value></param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
</web-app>

注:DispatcherServlet的配置文件默認爲WEB-INF下的xxx-servlet.xml,xxx爲web.xml中配置的servet name,本例中是dispatcher。url

相關文章
相關標籤/搜索