springmvc-源码调试-2-简单概述

DispatcherServlet

我们都知道,springmvc 第一个动作就是 用户发送请求至前端控制器DispatcherServlet,我们来看看DispatcherServlet都有什么东西,首先你要对 servlet 有一个基本的认识

简单说Servlet

  1. 用户第一次访问 会调用 Servlet 的 init() 仅会调用一次
  2. 每一次调用都会 Servlet 的 service()方法
  3. 销毁则则会调用Servlet 的destory()

继承关系

DispatcherServlet
    FrameworkServlet
        HttpServletBean
            HttpServlet
                GenericServlet

Init调用关系图

用户第一次访问 GenericServlet ,而 HttpServletBean 覆盖了 父类的 init() 实现则会调用子类的 HttpServletBean.init()

image-20201018103244715

service调用关系图

我们知道在 早期 spring的时候需要 配置一个 DispatcherServlet 也就是所谓的中央出处理器,我们还知道 web 请求都是通过 service 方法来判断 get 和 post…的方法调用

image-20201016104828353

  1. 调用 HttpServlet. service
  2. 调用 FrameworkServlet.service
  3. 调用 HttpServlet. service
  4. 根据具体的 请求方式 进行 不同的方法处理,这里我那 get 为例子

调用流程

  1. 根据请求类型调用到 doGet
  2. 处理请求调用到processRequest
  3. 调用DispatcherServlet.doService:该方法就是将一些上下文放入request的属性中,方便后面有需要的人进行使用
  4. 调用DispatcherServlet.doDispatch:该方法就是核心方法

后言

后面的文章就是根据这上面的流程一个一个的撸过去,加油奥利给

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值