引子
spring mvc是以請求驅動的方式來處理http請求,DispatcherServlet是處理整個請求的控制中心,是一個前端控制器,來自外部的請求首先到達DispatcherServlet,
由DispatcherServlet進行分發處理,最終返回給用戶。
關鍵點
主要有以下幾個關鍵點來處理DispatcherServlet接收到的請求
DispatcherServlet:前端控制器,可以理解爲spring mvc的整個控制中心,用戶的所有請求首先到達DispatcherServlet,由DispatcherServlet進行分發
HandlerMapping:處理用戶請求,根據url解析,找到相應的handler處理器和攔截器
HandlerAdapter:執行handler,返回modelandview
ViewResolver:視圖解析器,用來解析視圖模板,根據邏輯視圖名解析成物理視圖名,找到頁面
View:視圖頁面,展示給用戶
執行流程
1.首先用戶發送http請求到前端控制器DispatcherServlet,DispatcherServlet負責分發請求.
2.DispatcherServlet收到請求後調用handlermapping, handlermapping找到相應的handler和攔截器,以HandlerExecutionChain形式返回給DispatcherServlet
3.DispatcherServlet調用HandlerAdapter執行相應的業務邏輯,調用controller返回modelandview
4.ViewResolver視圖解析器負責根據返回來的view找到對應的物理視圖
5.view渲染視圖,顯示給用戶