//以上個隨筆(springMVC項目配置文件)為基礎,詳述springMVC請求的整個過程流向
web.xml dispatcher-Servlet.xml
用戶請求 --> 經DispatcherServlet攔截並分發到對應的控制器 ---> 由配置,/hello會進入HelloController控制器類
/hello HelloController I
V
跳轉到指定頁面index.jsp並傳遞數據message --> 在index.jsp中展示數據
2 處理器映射
^
I
請求 --> 1 DispatcherServlet -- -- -- -- -- ---------- -- -- > 3 控制器
I I <------ 4 模型及邏輯視圖名 --
I I
I V
I 5 視圖解析器
I
V
< ---7 響應 ----- 6 視圖
以上的步驟詳解:
1、DispatcherServlet攔截請求,發送給springMVC控制器
2、處理器映射器會根據請求所攜帶的url信息來進行決策,到底該將對應地址交給哪個控制器來處理
3、控制器接受請求並處理
4、控制器處理完請求后產生用戶需要的數據(模型model)並用視圖view展示
控制器將模型數據打包並表示出用於渲染輸出的視圖名(邏輯視圖名),並發送回DispatcherServlet
5、控制器不與特定的視圖耦合,傳給DispatcherServlet的視圖名並不直接表示某個jsp
DispatcherServlet用視圖解析器viewResolver來將邏輯視圖名對應一個特定的視圖實現(如index.jsp)
6、視圖用模型數據渲染出結果,通過響應對象傳遞給客戶端。