springmvc中的三个上下文

本文介绍了在Web项目中Spring MVC中的三个关键上下文:Servlet上下文、Spring上下文和Spring-MVC上下文。Servlet上下文由Web容器提供,作为Spring IoC容器的宿主环境。Spring上下文由ContextLoaderListener初始化,形成IoC容器,用于管理Bean。Spring-MVC上下文则主要处理请求分发,由DispatcherServlet负责,是Spring上下文的子容器,各自负责不同的组件创建。
摘要由CSDN通过智能技术生成

概要

在我们的web项目中存在至少三个上下文,分别是【servlet上下文】,【spring上下文】以及【springmvc上下文】,具体如下:

三个上下文之间的关系

servlet上下文

  • 对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是我们的ServletContext,其为后面的spring IoC容器提供一个宿主环境。

spring上下文

  • 在web.xml的配置中,我们需要提供一个监听器【ContextLoaderListener】。在web容器启动时,会触发【容器初始化】事件,此时contextLoaderListener会监听到这个事件,其contextInitialized方法会被调用。
    在这个方法中,spring会初始化一个【上下文】,这个上下文被称为【根上下文】,即【WebApplicationContext】,这是一个接口类,其实际的实现类是XmlWebApplicationContext。这个就是spring的IoC容器,其对应的Bean定义的配置由web.xml中的【context-param】配置指定,默认配置文件为【/WEB-INF/applicationContext.xml】。
    在这个IoC容器初始化完毕后,spring以【WebApplicationContext.ROOTWEBAPPLICATIONCONTEXTATTRIBUTE】为属性Key,将其存储到ServletContext中,便于将来获取;
<!--配置一个ContextLoaderListener,他会在servlet容器启动时帮我们初始化spring容器-->
    <listener>
        <listener-class
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值