springMVC的底層執行流程
1.當使用者發送請求到前端控制器,執行DispatcherServlet(如果是jsp就直接調用jsp頁面)
2.DispatcherServlet(前端控制器)請求HandlerMapping(處理器映射器)根據使用者的url請求查詢比對的url的Handler,可以根據xml配置,注解進行查找
3.處理器映射器HandlerMapping向前端控制器傳回Handler
4.前端控制器調用HandlerAdapter(處理器擴充卡)去執行Handler
5.Handler執行完成給擴充卡傳回ModelAndView
6.處理器擴充卡向前端控制器傳回ModelAndView(是springmvc的一個底層對象,包括Model和View)
7.前端控制器請求視圖解析器去進行視圖解析
8.視圖解析器向前端控制器傳回view
9.前端控制器進行視圖渲染(視圖渲染将模型資料在ModelAndView對象中填充到request域)
10.前端控制器向使用者響應結果
SpringMVC的核心元件
1. 四大元件
-
DispatcherServlet—前端控制器
作用:接收請求,響應結果,相當于轉發器,中央處理器,可以減少其他元件之間的耦合度
-
HandlerMapping----處理器映射器
作用:根據請求的url查找Handler
使用實作類DefaultAnnotationHandlerMapping實際工作
-
HandlerAdapter—處理器擴充卡
作用:按照特定規則去執行handler
使用實作類AnnotationMethodHandlerAdapter
-
ViewResovler----視圖解析器
作用:進行視圖解析,根據邏輯視圖名解析成真正的視圖
自定義時InternalResourceViewResolver
InterceptorStack
springmvc的原理