SpringMVC-簡介
阿新 • • 發佈:2021-08-16
SpringMVC是什麼
SpringMVC是SpringFramework的一部分,基於Java實現MVC的輕量級Web框架(【官方文件】)
為什麼要學SpringMVC
- 輕量級,簡單易學
- 高效,基於請求響應的MVC框架
- 與Spring相容性好,無縫結合
- 約定大於配置
- 功能強大:RESTful風格,資料驗證,格式化,本地化,主題等等
- 簡潔靈活
- 用的人&公司多
中心控制器DispatcherServlet
SpringMVC圍繞DispatcherServlet[排程servlet]設計,DispatcherServlet的作用是將請求分發到不同的處理器(自Spring2.5+JDK1.5開始,可用基於註解的controller宣告)
SpringMVC執行原理&流程
- 【DispatcherServlet】:前置控制器,是整個SpringMVC的控制中心,使用者發出請求,DispatcherServlet收到請求並攔截請求。
-
- 假設請求url為:http://localhost8080/springmvc/hello
-
- SpringMVC配置在伺服器web站點
-
- hello則表示控制器
-
- 如上url則表示為:請求位於localhost:8080上的springmvc站點的hello控制器
- 【HandlerMapping】:處理器對映,DIspatcherServlet呼叫HandlerMapping,HandlerMapping根據請求url查詢Handler
- 【HandlerExecution】:具體的Handler,主要作用是根據url查詢控制器(如上url中的控制器hello)。
- HandlerExecution將解析後的資訊傳遞給DispatcherServlet(如解析控制器對映等等)
- 【HandlerAdapter】:處理器介面卡,按照特定規則執行Handler。
- Handler讓具體的Controller執行。
- 【Controller】將具體的執行資訊返回給HandlerAdapter(如ModelAndVIew)。
- HandlerAdapter將檢視邏輯名或模型傳遞給DispatcherServlet。
- DispatcherServlet呼叫檢視解析器(ViewResolver)解析HandlerAdapter傳遞的邏輯檢視名。
- 檢視解析器將解析的邏輯檢視傳給DispatcherServlet。
- DispatcherServlet根據檢視解析器解析的檢視結果,呼叫具體的檢視。
- 將檢視渲染呈現給使用者
【看到這,大概執行流程你應該已經瞭解了,現在可以對照流程碼一下。沒懂?多碼幾遍,自然就懂了(狗頭保命)】