Spring MVC設計模式(1)

Spring MVC設計模式

基於 Servlet 的 MVC 模式的具體實現如下。

  • 模型:一個或多個 JavaBean 對象,用於存儲數據(實體模型,由 JavaBean 類創建)和處理業務邏輯(業務模型,由一般的 Java 類創建)。
  • 視圖:一個或多個 JSP 頁面,向控制器提交數據和爲模型提供數據顯示,JSP 頁面主要使用 HTML 標記和 JavaBean 標記來顯示數據。
  • 控制器:一個或多個 Servlet 對象,根據視圖提交的請求進行控制,即將請求轉發給處理業務邏輯的
    JavaBean,並將處理結果存放到實體模型 JavaBean 中
    在這裏插入圖片描述

Spring MVC 工作流程

Spring MVC 框架主要由 DispatcherServlet(分發器)、處理器映射、控制器、視圖解析器、視圖組成
在這裏插入圖片描述

  • 客戶端請求提交到 DispatcherServlet。
  • 由 DispatcherServlet 控制器尋找一個或多個 HandlerMapping,找到處理請求的 Controller。
  • DispatcherServlet 將請求提交到Controller。
  • Controller 調用業務邏輯處理後返回 ModelAndView。
  • DispatcherServlet尋找一個或多個 ViewResolver 視圖解析器,找到 ModelAndView 指定的視圖。
  • 視圖負責將結果顯示到客戶端。

Spring MVC接口

Spring MVC 四個接口,即 DispatcherServlet、HandlerMapping、Controller 和 ViewResolver

  • Spring MVC 所有的請求都經過 DispatcherServlet 來統一分發,在 DispatcherServlet
    將請求分發給 Controller 之前需要藉助 Spring MVC 提供的 HandlerMapping 定位到具體的
    Controller。

  • HandlerMapping 接口負責完成客戶請求到 Controller 映射。

  • Controller 接口將處理用戶請求,這和 Java Servlet 扮演的角色是一致的。一旦 Controller 處理完用戶請求,將返回 ModelAndView 對象給 DispatcherServlet 前端控制器,ModelAndView 中包含了模型(Model)和視圖(View)。

  • 從宏觀角度考慮,DispatcherServlet 是整個 Web 應用的控制器;從微觀考慮,Controller 是單個 Http 請求處理過程中的控制器,而 ModelAndView 是 Http 請求過程中返回的模型(Model)和視圖(View)。

  • ViewResolver 接口(視圖解析器)在 Web 應用中負責查找 View 對象,從而將相應結果渲染給客戶。

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