Spring MVC 流程概述

 簡略複習Spring MVC 流程



  1. 客戶端通過指定頁面的 Web URL 來請求頁面。例如https://newbietosoftwareengineer.blogspot.com/
  2. 客戶端請求被Dispatcher Servlet也稱為Front Controller攔截。Dispatcher Servlet 是在Web.XML文件(基於 XML 的配置)或 Web 配置類(基於 java class 的配置 eg: ServletContainerInitializer)中指定的 servlet。
  3. Dispatcher Servlet 使用URL Mapping Handler來找出對應的的controller,並傳遞request給該controller處理。例如,如果您定義了一個controller “/”,則所有在 URL 中指定“/”的request都將由該控制器處理。
  4. 當 Dispatcher Servlet 確定了對應的controller,它就會將客戶端request傳遞給controller
  5. 當request被 Dispatcher Servlet  分派,controller就是控制業務邏輯流的主要class。這個class將實現不同類型的http請求(例如GET,POST)的方法,所有調用service層方法的邏輯都寫在這個controller內。

     6.在執行完所有業務邏輯並從 DAO 層返回數據後controller還將負責將ModelAndView物件返回給Dispatcher ServletModelAndView物件controller返回給controller指定的view and model物件。

    7.控制器類由@Controller 或是 @RestController註解。

    8.在從controller接收到 ModelAndView 物件後,Dispatcher Servlet 現在將model物件發送到view resolver(視圖解析器)以獲取需要渲染的view(視圖)的名稱。

    9.一旦確定了要呈現的視圖,Dispatcher Servlet 就會將模型對像傳遞給視圖。模型對象包含需要在視圖中顯示的數據。視圖將使用模型數據呈現。可以使用任何前端技術設計視圖。這個視圖返回給client,client可以在他的瀏覽器上看到視圖和相關數據。



0 Comments:

張貼留言