DispatcherServlet
我们都知道,springmvc 第一个动作就是 用户发送请求至前端控制器DispatcherServlet,我们来看看DispatcherServlet
都有什么东西,首先你要对 servlet 有一个基本的认识
简单说Servlet
- 用户第一次访问 会调用 Servlet 的
init()
仅会调用一次 - 每一次调用都会 Servlet 的
service()
方法 - 销毁则则会调用Servlet 的
destory()
继承关系
DispatcherServlet
FrameworkServlet
HttpServletBean
HttpServlet
GenericServlet
Init调用关系图
用户第一次访问 GenericServlet ,而 HttpServletBean 覆盖了 父类的 init() 实现则会调用子类的 HttpServletBean.init()
service调用关系图
我们知道在 早期 spring的时候需要 配置一个 DispatcherServlet
也就是所谓的中央出处理器
,我们还知道 web 请求都是通过 service 方法来判断 get 和 post…的方法调用
- 调用 HttpServlet. service
- 调用 FrameworkServlet.service
- 调用 HttpServlet. service
- 根据具体的 请求方式 进行 不同的方法处理,这里我那 get 为例子
调用流程
- 根据请求类型调用到
doGet
- 处理请求调用到
processRequest
- 调用
DispatcherServlet.doService
:该方法就是将一些上下文放入request的属性中,方便后面有需要的人进行使用 - 调用
DispatcherServlet.doDispatch
:该方法就是核心方法
后言
后面的文章就是根据这上面的流程一个一个的撸过去,加油奥利给