SpringMVC--DispatcherServlet

DispatcherServlet是SpringMVC的核心控制器,也就是前端控制器。

作用DispatcherServlet作为SpringMVC的前端控制器,负责接收用户的请求,并根据用户的请求返回相应的视图给用户。

1.DispatcherServlet是配置在web.xml中的

    <servlet>
        <servlet-name>SpringServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/spring-mvc.xml</param-value>
          </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>SpringServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

load-on-startup表示启动容器时初始化该Servlet。

如上配置spring web mvc将加载spring-mvc.xml 的配置来初始化上下文。DispatcherServlet初始化的上下文加载的bean只是对Spring Web MVC有效的bean,并不是所有的都有效。(如:Controller ,HandlerMapping,与web相关的组织)

2.上下文关系

Spring集成Web环境的通用配置,在web.xml中置

     <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:/spring/applicationContext.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

ContextLoaderListener初始化的上下文,加载的Bean是对于整个应用程序共享的。一般用于加载除web层的bean,以便与其他任何web框架集成。

3. contextLoaderListener初始化的上下文和dispatcherServlet初始化的上下文关系:

 

从图中可知:

1.contextLoaderListener初始化的上下文加载的bean是对于整个应用程序共享的,不管是使用什么表现层技术。常用的如DAO层,Service层;

2.dispatcherServlet初始化的上下文加载的bean是只对spring Web MVC有效的bean,如Controller、handlerMapping、HandlerAdapter等等,该初始化上下文应该只加载web相关组件。

4.因此在配置扫描组件是一定要放在contextLoaderListener 初始化的上下文中,这样才能避免非WEB的bean不能扫描的问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值