Spring MVC 4.0之DispatcherServlet
Spring MVC 4.0之DispatcherServlet
chenhai_bj 发表于3年前
Spring MVC 4.0之DispatcherServlet
  • 发表于 3年前
  • 阅读 1551
  • 收藏 5
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: DispatcherServlet介绍、WebApplicationContext的层级关系以及配置
  1. Spring MVC Dispatcher介绍  

    Spring的DispatcherServlet继承自HttpServlet,因此本质上是一个ServletDispatcherServlet负责接收请求然后转发给对应的Controller进行处理

  2.  WebApplicationContext的层级关系

    在这里关键是要理解DispatcherServlet所在的context和全局context的关系。全局Context是由ContextLoaderListener初始化的,一般加载的是项目基础,通用的Bean。Spring MVC可以有多个DispatcherServlet实例,每一个都有自己独立的WebApplicationContext,这里面主要是Controller,HandlerMapping,ViewResolver。全局WebApplicationContext与DispatcherServlet的WebApplicationContext之间是父子关系,子可以获取到,覆写父中定义的Bean,反之不行。

  3. 配置

    一个完整的spring在web.xml中的配置如下

<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。



标签: spring mvc dispatcher
共有 人打赏支持
粉丝 7
博文 4
码字总数 1609
×
chenhai_bj
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: