欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringMVC的執(zhí)行流程及組件詳解

 更新時(shí)間:2019年11月16日 09:01:40   作者:熊貓兩年后長大  
這篇文章主要介紹了SpringMVC的執(zhí)行流程及組件詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了SpringMVC的執(zhí)行流程及組件詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、核心模塊

數(shù)據(jù)庫訪問技術(shù)與集成:JDBC、XML等

Web與遠(yuǎn)程調(diào)用技術(shù):SpringMVC、WebServlet、WebSocket等

面向切面編程:AOP

基礎(chǔ)設(shè)施:Tomcat

Spring核心容器:Beans、Core、Context、Expression、ContestSupport

測試:Test

二、執(zhí)行流程

1.用戶通過頁面發(fā)送Ajax之類的請求,DispatcherServlet捕獲并解析用戶發(fā)來的請求URL,得到請求資源標(biāo)識符URI

2.DispatcherServlet根據(jù)URI調(diào)用HandlerMapping,HandlerMapping根據(jù)請求URL查找Handler,并將請求映射為HandlerExecutionChain處理器執(zhí)行鏈(包含處理器攔截器和處理器對象)

3.HandlerMapping返回HandlerExecutionChain給DispatcherServlet

4.DispatcherServlet根據(jù)獲得的Handler選擇HandlerAdapter,通過處理器適配器調(diào)用具體的處理器,HandlerAdapter把處理器包裝為適配器,并開始執(zhí)行攔截器的preHandler()方法,并根據(jù)適配器的結(jié)果調(diào)用真正的處理器的功能處理方法

5.調(diào)用具體的處理器Handler,在填充Handler的入?yún)⑦^程中spring將會進(jìn)行:執(zhí)行HttpMessageConveter、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)格式化、數(shù)據(jù)驗(yàn)證,調(diào)用具體的Controller完成處理功能,并返回一個ModelAndView對象

6.Controller返回ModelAndView對象到HandlerAdapter

7.HandlerAdapter再將ModelAndView對象的視圖邏輯名或模型返回給DispatcherServlet

8.DispatcherServlet調(diào)用視圖解析器ViewResolver來解析HandlerAdapter傳遞過來的邏輯視圖名

9.ViewResolver將解析的邏輯視圖名傳遞給DispatcherServlet

10.DispatcherServlet根據(jù)解析出的視圖結(jié)果,調(diào)用具體的視圖,根據(jù)傳來的Model模型數(shù)據(jù)進(jìn)行渲染

11.最后View返還控制權(quán)給DispatcherServlet,由DispatcherServlet返回最終視圖給用戶

三、核心組件

1.DispatcherServlet:前端控制器,控制中心

2.HandlerMapping:解析請求URL,解析出控制器,從而映射控制器,相關(guān)類有16個

3.HandlerAdapter:調(diào)度Controller來處理業(yè)務(wù)邏輯

4.ViewResolver:解析DispatcherServlet傳遞的邏輯視圖名,并將結(jié)果傳遞給DispatcherServlet

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java Map如何根據(jù)key取value以及不指定key取出所有的value

    Java Map如何根據(jù)key取value以及不指定key取出所有的value

    這篇文章主要介紹了Java Map如何根據(jù)key取value以及不指定key取出所有的value,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java入門交換數(shù)組中兩個元素的位置

    Java入門交換數(shù)組中兩個元素的位置

    在Java中,交換數(shù)組中的兩個元素是基本的數(shù)組操作,下面我們將詳細(xì)介紹如何實(shí)現(xiàn)這一操作,以及在實(shí)際應(yīng)用中這種技術(shù)的重要性,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Java數(shù)組(Array)最全匯總(中篇)

    Java數(shù)組(Array)最全匯總(中篇)

    這篇文章主要介紹了Java數(shù)組(Array)最全匯總(中篇),本文章內(nèi)容詳細(xì),通過案例可以更好的理解數(shù)組的相關(guān)知識,本模塊分為了三部分,本次為中篇,需要的朋友可以參考下
    2023-01-01
  • java去除字符串中的空格、回車、換行符、制表符的小例子

    java去除字符串中的空格、回車、換行符、制表符的小例子

    java去除字符串中的空格、回車、換行符、制表符的小例子,需要的朋友可以參考一下
    2013-06-06
  • Java并發(fā)編程之線程創(chuàng)建介紹

    Java并發(fā)編程之線程創(chuàng)建介紹

    這篇文章主要介紹了Java并發(fā)編程之線程創(chuàng)建,進(jìn)程是代碼在數(shù)據(jù)集合上的一次運(yùn)行活動,是系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位,線程則是一個實(shí)體,一個進(jìn)程中至少有一個線程,下文更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-04-04
  • Spring實(shí)戰(zhàn)之使用Resource作為屬性操作示例

    Spring實(shí)戰(zhàn)之使用Resource作為屬性操作示例

    這篇文章主要介紹了Spring實(shí)戰(zhàn)之使用Resource作為屬性,結(jié)合實(shí)例形式分析了spring載人Resource作為屬性相關(guān)配置與使用技巧,需要的朋友可以參考下
    2020-01-01
  • spring boot如何基于JWT實(shí)現(xiàn)單點(diǎn)登錄詳解

    spring boot如何基于JWT實(shí)現(xiàn)單點(diǎn)登錄詳解

    這篇文章主要介紹了spring boot如何基于JWT實(shí)現(xiàn)單點(diǎn)登錄詳解,用戶只需登錄一次就能夠在這兩個系統(tǒng)中進(jìn)行操作。很明顯這就是單點(diǎn)登錄(Single Sign-On)達(dá)到的效果,需要的朋友可以參考下
    2019-06-06
  • RocketMq深入分析講解兩種削峰方式

    RocketMq深入分析講解兩種削峰方式

    當(dāng)上游調(diào)用下游服務(wù)速率高于下游服務(wù)接口QPS時(shí),那么如果不對調(diào)用速率進(jìn)行控制,那么會發(fā)生很多失敗請求,通過消息隊(duì)列的削峰方法有兩種,這篇文章主要介紹了RocketMq深入分析講解兩種削峰方式
    2023-01-01
  • Java虛擬機(jī)啟動過程探索

    Java虛擬機(jī)啟動過程探索

    當(dāng)我們在編寫Java應(yīng)用的時(shí)候,很少會注意Java程序是如何被運(yùn)行的,如何被操作系統(tǒng)管理和調(diào)度的,帶著好奇心,探索一下Java虛擬機(jī)啟動過程
    2022-05-05
  • Springboot項(xiàng)目啟動到一半卡住了,不報(bào)錯問題及解決

    Springboot項(xiàng)目啟動到一半卡住了,不報(bào)錯問題及解決

    這篇文章主要介紹了Springboot項(xiàng)目啟動到一半卡住了,不報(bào)錯問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論