目錄
創新互聯公司專業為企業提供澄江網站建設、澄江做網站、澄江網站設計、澄江網站制作等企業網站建設、網頁設計與制作、澄江企業網站模板建站服務,十年澄江做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。一、SpingMVC的常用組件
二、SpringMVC的工作流程
1)DispatcherServlet
是一種前端控制器,由框架提供。
作用:統一處理請求和響應。除此之外還是整個流程控制的中心,由 DispatcherServlet 來調用其他組件,處理用戶的請求
2)HandlerMapping
處理器映射器,由框架提供。
作用:根據請求的 url、method 等信息來查找具體的 Handler(一般來講是Controller)
3)Handler(一般來講是Controller)
處理器,注意,這個需由工程師自己開發。
作用:在 DispatcherServlet 的控制下,Handler對具體的用戶請求進行處理
4)HandlerAdapter
處理器適配器 ,由框架提供。
作用:根據映射器找到的處理器?Handler?信息,按照特定的規則去執行相關的處理器 Handler。
小結:
Handler 是用來干活的工具;
HandlerMapping 用于根據需要干的活找到相應的工具;
HandlerAdapter 是使用工具干活的人。詳細講解可以看這篇博客(115條消息) SpringMVC 處理器適配器詳解_aFa攻防實驗室的博客-博客_處理器適配器
5)ViewResolver
視圖解析器,由框架提供。
作用: ViewResolver 負責將處理結果生成 View 視圖。 ViewResolver 首先根據邏輯視圖名解析成物理圖名,即具體的頁面地址,再生成 View 視圖對象,最后對 View 進行渲染將處理結果通過頁面展示給用戶。
6)View
二、SpringMVC的工作流程視圖,工程師自己開發
作用:View接口的職責就是接收model對象、Request對象、Response對象,并渲染輸出結果給Response對象。
咱們先看圖,從左上角的瀏覽器進行順時針觀看(話說有沒有畫圖大佬可以指教一下俺 9.9 ,在線求教~)
具體的流程:
1. 用戶通過瀏覽器發起 HttpRequest 請求到前端控制器 (DispatcherServlet)。
2. DispatcherServlet 將用戶請求發送給處理器映射器 (HandlerMapping)。
3. 處理器映射器 (HandlerMapping)會根據請求,找到負責處理該請求的處理器,并將其封裝為處理器執行鏈 返回?(HandlerExecutionChain)?給 DispatcherServlet
4. DispatcherServlet 會根據 處理器執行鏈 中的處理器,找到能夠執行該處理器的處理器適配器(HandlerAdaptor)? ? --注,處理器適配器有多個
5. 處理器適配器 (HandlerAdaptoer) 會調用對應的具體的 Controller
6. Controller 將處理結果及要跳轉的視圖封裝到一個對象?ModelAndView 中并將其返回給處理器適配器?(HandlerAdaptor)
7. HandlerAdaptor 直接將 ModelAndView 交給 DispatcherServlet ,至此,業務處理完畢
8. 業務處理完畢后,我們需要將處理結果展示給用戶。于是DisptcherServlet 調用?ViewResolver,將 ModelAndView 中的視圖名稱封裝為視圖對象
9. ViewResolver 將封裝好的視圖 (View) 對象返回給 DIspatcherServlet
10. DispatcherServlet 調用視圖對象,讓其自己 (View) 進行渲染(將模型數據填充至視圖中),形成響應對象 (HttpResponse)
11. 前端控制器 (DispatcherServlet) 響應 (HttpResponse) 給瀏覽器,展示在頁面上。
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
本文題目:SpringMVC工作流程(詳-小白版)-創新互聯
標題URL:http://vcdvsql.cn/article20/dshsco.html
成都網站建設公司_創新互聯,為您提供域名注冊、Google、云服務器、企業建站、微信公眾號、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯