SpringMVC(一) —— 初識SpringMVC

SpringMVC是Spring的一部分,提供了前臺展示相關內容,SpringMVC的底層需要用到Servlet;

MVC是一種設計模式:

  • M(model):數據,bean、dao;
  • V(View):頁面,JSP;
  • C(Controller):根據請求不同,獲取不同的model,返回不同的view;

用戶請求數據到返回的大體流程:
在這裏插入圖片描述

SpringMVC運行的原理:
在這裏插入圖片描述
SpringMVC的具體執行流程:

  1. 用戶發起請求,由前端控制器(DispatcherServlet)接收;
  2. 前端控制器請求處理器映射器(HandlerMapping)查詢Handler(通過註解或者配置實現);
  3. 處理器映射器向前端控制器返回處理器執行鏈對象(HandlerExecutionChain);
  4. 由前端控制器請求適配器執行Handler;
  5. 由處理器執行Handler;
  6. 處理器向處理器適配器返回ModelAndView對象,ModelAndView是SpringMVC底層提供的一個對象,返回包括一個Model數據和View視圖邏輯名;
  7. 處理器適配器向前端控制器返回ModelAndView對象;
  8. 由前端控制器請求視圖解析器ViewResolver解析視圖;
  9. 由視圖解析器向前端控制器返回View對象;
  10. 由前端控制器執行渲染視圖;
  11. 前端控制器向用戶返回結果;

組件說明:

一、前端控制器 DispatcherServlet

作爲SpringMVC的入口函數,接收用戶的請求,響應結果,相當於轉發器、中央處理器,是整個流程控制的核心,由它調用其他組件完成用戶請求,它的存在降低了組件之間的耦合度;

二、處理器映射器 HandlerMapping

根據用戶請求的URL,查找Handler,即處理器(Controller),Spring提供了不同的處理器映射器實現不同映射方式;

三、處理器適配器 HandlerAdapter

按照特定的規則取執行Handler;

四、處理器 Handler

按照處理器適配器的規則實現,其才能找到處理器,才能真正執行Handler;這個涉及到具體的業務請求,需要開發人員手動實現;

五、視圖解析器 ViewResolver

進行視圖解析,根據視圖邏輯名解析成物理視圖名即具體頁面地址,再生成view的對象,最後對View對象進行渲染處理;

六、視圖 View

View是一個接口,實現類支持不同的View類型(JSP、PDF),SpringMVC提供了很多View視圖類型,包括jstView(JSP相關)、FreemakerView、PDFView等,這個需要開發人員自己實現;

注意:處理器 Handler、視圖 View這兩個需要開發人員手動實現;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章