免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Spring MVC執(zhí)行流程

  在學(xué)習(xí)框架之前,首先來了解一下 Spring MVC 框架的整體請求流程和使用到的 API 類。

  Spring MVC 框架是高度可配置的,包含多種視圖技術(shù),例如 JSP、FreeMarker、Tiles、iText 和 POI。Spring MVC 框架并不關(guān)心使用的視圖技術(shù),也不會強(qiáng)迫開發(fā)者只使用 JSP。

  Spring MVC 執(zhí)行流程

  Spring MVC 執(zhí)行流程如圖 1 所示。

  SpringMVC 的執(zhí)行流程如下。

  1、用戶點(diǎn)擊某個請求路徑,發(fā)起一個 HTTP request 請求,該請求會被提交到 DispatcherServlet(前端控制器);

  2、由 DispatcherServlet 請求一個或多個 HandlerMapping(處理器映射器),并返回一個執(zhí)行鏈(HandlerExecutionChain)。

  3、DispatcherServlet 將執(zhí)行鏈返回的 Handler 信息發(fā)送給 HandlerAdapter(處理器適配器);

  4、HandlerAdapter 根據(jù) Handler 信息找到并執(zhí)行相應(yīng)的 Handler(常稱為 Controller);

  5、Handler 執(zhí)行完畢后會返回給 HandlerAdapter 一個 ModelAndView 對象(Spring MVC的底層對象,包括 Model 數(shù)據(jù)模型和 View 視圖信息);

  6、HandlerAdapter 接收到 ModelAndView 對象后,將其返回給 DispatcherServlet ;

  7、DispatcherServlet 接收到 ModelAndView 對象后,會請求 ViewResolver(視圖解析器)對視圖進(jìn)行解析;

  8、ViewResolver 根據(jù) View 信息匹配到相應(yīng)的視圖結(jié)果,并返回給 DispatcherServlet;

  9、DispatcherServlet 接收到具體的 View 視圖后,進(jìn)行視圖渲染,將 Model 中的模型數(shù)據(jù)填充到 View 視圖中的 request 域,生成最終的 View(視圖);

  10、視圖負(fù)責(zé)將結(jié)果顯示到瀏覽器(客戶端)。

  Spring MVC接口

  Spring MVC 涉及到的組件有 DispatcherServlet(前端控制器)、HandlerMapping(處理器映射器)、HandlerAdapter(處理器適配器)、Handler(處理器)、ViewResolver(視圖解析器)和 View(視圖)。下面對各個組件的功能說明如下。

  1)DispatcherServlet

  DispatcherServlet 是前端控制器,從圖 1 可以看出,Spring MVC 的所有請求都要經(jīng)過 DispatcherServlet 來統(tǒng)一分發(fā)。DispatcherServlet 相當(dāng)于一個轉(zhuǎn)發(fā)器或中央處理器,控制整個流程的執(zhí)行,對各個組件進(jìn)行統(tǒng)一調(diào)度,以降低組件之間的耦合性,有利于組件之間的拓展。

  2)HandlerMapping

  HandlerMapping 是處理器映射器,其作用是根據(jù)請求的 URL 路徑,通過注解或者 XML 配置,尋找匹配的處理器(Handler)信息。

  3)HandlerAdapter

  HandlerAdapter 是處理器適配器,其作用是根據(jù)映射器找到的處理器(Handler)信息,按照特定規(guī)則執(zhí)行相關(guān)的處理器(Handler)。

  4)Handler

  Handler 是處理器,和 Java Servlet 扮演的角色一致。其作用是執(zhí)行相關(guān)的請求處理邏輯,并返回相應(yīng)的數(shù)據(jù)和視圖信息,將其封裝至 ModelAndView 對象中。

  5)View Resolver

  View Resolver 是視圖解析器,其作用是進(jìn)行解析操作,通過 ModelAndView 對象中的 View 信息將邏輯視圖名解析成真正的視圖 View(如通過一個 JSP 路徑返回一個真正的 JSP 頁面)。

  6)View

  View 是視圖,其本身是一個接口,實(shí)現(xiàn)類支持不同的 View 類型(JSP、FreeMarker、Excel 等)。

  以上組件中,需要開發(fā)人員進(jìn)行開發(fā)的是處理器(Handler,常稱Controller)和視圖(View)。通俗的說,要開發(fā)處理該請求的具體代碼邏輯,以及最終展示給用戶的界面。

  注意:由于 Spring MVC 結(jié)構(gòu)比較復(fù)雜,所以學(xué)習(xí)的時(shí)候也要掌握學(xué)習(xí)方法。首先要明確 Spring MVC 是一個工具,既然是工具,那么我們就需要先掌握工具的使用方法,不要陷入細(xì)節(jié)中,深入淺出,慢慢通過實(shí)際運(yùn)用來加深對其的理解。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
深入理解springMVC
學(xué)習(xí)SpringMVC系列教程(一)Spring MVC入門
通俗易懂說SpringMVC
深入剖析Spring Web源碼(三)
1 什么是Spirng MVC
2021最新 SpringMVC面試題精選(附刷題小程序)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服