DispatcherServlet:核心分發器app
步驟1 —— HandlerMapping 對Http請求進行初步處理,查找與之對應的Controller處理類(方法)
步驟2 —— HandlerAdapter 調用相應的Controller處理類(方法)完成業務邏輯
步驟3 —— HandlerExceptionResolver 對Controller處理類(方法)調用時可能發生的異常進行處理
步驟4 —— ViewResolver 根據Controller處理類(方法)的調用結果,進行Http響應處理框架
步驟1-步驟4在DispatcherServlet中完成spa
SpringMVC就是經過DispatcherServlet將一堆組件串聯起來的Web框架。blog
繼承關係:
HttpServlet
HttpServletBean
FrameworkServlet
DispatchServlet繼承
init:初始化 applicationContext,組件,外部資源.
service:doService-doDispatch 步驟1-步驟4.圖片
初始化過程過程
資源
SpringMVC的整個運行體系,是由DispatcherServlet、組件和容器這三者共同構成的:
DispatcherServlet - 容器 -> DispatcherServlet對容器進行初始化
容器 - 組件 -> 容器對組件進行全局管理
DispatcherServlet - 組件 -> DispatcherServlet對組件進行邏輯調用get
WebApplicationContext初始化的兩個邏輯層次:
DispatcherServlet負責對容器(WebApplicationContext)進行初始化。
容器(WebApplicationContext)將讀取SpringMVC的核心配置文件進行組件的實例化。it
DispatcherServlet中對於組件的初始化過程其實是應用程序在WebApplicationContext中選擇和查找組件實現類的過程,
也是指定組件在SpringMVC中的默認行爲方式的過程。io