SpringMVC——Spring中的DispatcherServlet怎么工作?

上一篇博客大致讲了apache Tomcat如何将请求封装经过filter请求到servlet

链接:tomcat如何将请求分发到servlet

这里说说到了Servlet如何处理。

先上一张类图。

这是Servlet到DispatcherServlet的继承关系,servlet里面有一个init方法,一般在第一次请求来得时候调用(有特殊情况,load-on-startup的值大于0的时候在实例化servlet调用)。

在init方法里使用了Spring最爱用的模板模式,子类去实现父类留好的模板方法,实现自己的特殊操作,对应到DispatcherServlet就是一些初始化,比如关键的如何让url对应到Controller的方法上的initHandlerMapping()方法等。


接下来看另一个相似的图


一样的结构,不同的时这里我们讲的是service方法的实现。

service方法就是本文最开始提到的tomcat里执行完filter然后执行Servlet的service方法。

同样的模板方法,在httpServlet类里封装了对GET POST请求不同的处理,普通的Servlet实现直接继承即可。

在后面的继承关系中,最后又将其封装非processRequest方法,直到子类最后关键的实现doDispatch()这一关键的实现。

关于doDispatch()方法,后续继续更新。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值