簡略複習Spring MVC 流程
- 客戶端通過指定頁面的 Web URL 來請求頁面。例如https://newbietosoftwareengineer.blogspot.com/
- 客戶端請求被Dispatcher Servlet也稱為Front Controller攔截。Dispatcher Servlet 是在Web.XML文件(基於 XML 的配置)或 Web 配置類(基於 java class 的配置 eg: ServletContainerInitializer)中指定的 servlet。
- Dispatcher Servlet 使用URL Mapping Handler來找出對應的的controller,並傳遞request給該controller處理。例如,如果您定義了一個controller “/”,則所有在 URL 中指定“/”的request都將由該控制器處理。
- 當 Dispatcher Servlet 確定了對應的controller,它就會將客戶端request傳遞給controller。
- 當request被 Dispatcher Servlet 分派,controller就是控制業務邏輯流的主要class。這個class將實現不同類型的http請求(例如GET,POST)的方法,所有調用service層方法的邏輯都寫在這個controller內。
6.在執行完所有業務邏輯並從 DAO 層返回數據後,controller還將負責將ModelAndView物件返回給Dispatcher Servlet。ModelAndView物件由controller返回給controller指定的view and model物件。
7.控制器類由@Controller 或是 @RestController註解。
8.在從controller接收到 ModelAndView 物件後,Dispatcher Servlet 現在將model物件發送到view resolver(視圖解析器)以獲取需要渲染的view(視圖)的名稱。
9.一旦確定了要呈現的視圖,Dispatcher Servlet 就會將模型對像傳遞給視圖。模型對象包含需要在視圖中顯示的數據。視圖將使用模型數據呈現。可以使用任何前端技術設計視圖。這個視圖返回給client,client可以在他的瀏覽器上看到視圖和相關數據。
0 Comments:
張貼留言