1. 程式人生 > >03 - springMVC架構分析-流程圖解

03 - springMVC架構分析-流程圖解

springMVC架構分析

前言

上篇基礎入門篇, 只是一個最簡單的例子, 還有很多地方需要改進和學習,在下一步學習之前還是感覺應該大體的瞭解一下整體的架構框架設計流程等,也方便對springMVC的進一步理解打好基礎

概述

說明: springMVC 主題的框架可分為: " 一箇中心 , 三個基本點" .

  • 一箇中心 : “前埠控制器(dispatcherServlet)” , 相當於人大腦,起到中心排程其他功能任務.
  • 三個基本點: 在springmvc的各個元件中, 處理器對映器(handlerMapping)、處理器介面卡(handlerAdapter)、檢視解析器(viewResolver), 這三個稱為springMVC的三大元件。 別稱三個基本點。

1.總體-圖解

為方便理解花點時間做了個大概流程圖:
在這裡插入圖片描述

2. 流程概述

①、使用者傳送請求至前端控制器(DispatcherServlet)。
②、前段控制器收到請求呼叫HandlerMapping處理器對映器 。
③、處理器對映器根據請求的url找到具裡的處理器, 生成處理器物件以及處理器攔截器後,返回給前端控制器。
④、前段控制器拿到上步的返回結果後,通過呼叫處理器介面卡(HandlerAdapter)找到指定的處理器(這裡處理器就是通常我們要編寫contrller類了,通常也叫做後端處理器

)。
⑤、處理器介面卡將controler(後端控制器)處理的結果ModelAndView返回給前端控制器。
⑥、前端控制器拿到上步返回的ModelAndView,接著呼叫檢視解析器(ViewResolver)解析該檢視。
⑦、檢視解析器解析以後返回具體的View給前端控制器。(這裡的view包括jstlView、freemarkerView、pdfView、jsp)當然最常使用的檢視就是jsp了。
⑧、前端控制器收到view(我這裡指的是jsp)進行,jsp的渲染(即轉成servlet, 將標籤、模型資料等填充到檢視中)。
⑨、最後一步響應使用者。

3.各元件概要

  • DispatcherServlet
    : 前端控制器
    使用者請求到大前端控制器,是整個流程控制的中心。類似於汽車的中控系統。 由它呼叫其它元件處理使用者的請求。(深入理解一點,這樣的設計也很好的降低了各元件之間的聯絡官話叫做(耦合性),符合java面對物件的思想)
  • HandlerMapping: 處理器對映器
    負責根據客戶端的請求url , 找到Handler(處理器)。 springMVC有幾種不通的對映器實現方式, 如: 配置檔案方式 、時間介面方式、註解方式等。
  • HandlerAdapter: 處理器介面卡
    通過處理器 呼叫不同的處理器 Handler , 來具體處理客戶端的請求。 也是一種介面卡的思想-方便靈活擴充套件與控制(個人理解)
  • Handler: 處理器
    即後端控制器,在前端控制器的排程中負責對具體的請求進行處理。(一些一般就是自己編寫的controller的東西了)
  • View: 檢視
    springmvc框架提供了很多的View檢視型別的支援,包括:jstlView、freemarkerView、pdfView等。我們最常用的檢視就是jsp。一般情況下需要通過頁面標籤或頁面模版技術將模型資料通過頁面展示到客戶端。

總結: 使用springMVC框架,需要我們自己寫的也就是 Handler 和 view, 再具體點就是controller(註解方式) 和 jsp