最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringMVC的Dispatcher解讀

 更新時間:2023年11月03日 09:36:45   作者:全不能小傻瓜  
這篇文章主要介紹了SpringMVC的Dispatcher用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

SpringMVC的Dispatcher

Spring的web框架圍繞DispatcherServlet設計

以請求為驅(qū)動 , 圍繞一個中心Servlet分派請求及提供其他功能

DispatcherServlet是一個實際的Servlet (它繼承自HttpServlet 基類)

借用B站狂神的流程圖(其中實現(xiàn)全部是框架給我們做的,我們只需要補充虛線的流程就好。)

SpringMVC是Spring中的模塊,它實現(xiàn)了mvc設計模式的web框架,首先用戶發(fā)出請求,請求到達SpringMVC的前端控制器(DispatcherServlet),前端控制器根據(jù)用戶的url請求處理器映射器查找匹配該url的handler,并返回一個執(zhí)行鏈,前端控制器再請求處理器適配器調(diào)用相應的handler進行處理并返回給前端控制器一個modelAndView,前端控制器再請求視圖解析器對返回的邏輯視圖進行解析,最后前端控制器將返回的視圖進行渲染并把數(shù)據(jù)裝入到request域,返回給用戶。

DispatcherServlet作為springMVC的前端控制器,負責接收用戶的請求并根據(jù)用戶的請求返回相應的視圖給用戶

  • 用戶發(fā)出請求,該請求到達SpringMVC的前端控制器。
  • 前端控制器會根據(jù)用戶請求的URL請求處理器映射器查找匹配的handler。
  • 并返回一個執(zhí)行鏈(HanlderExecution)。
  • 前端控制器再請求處理器適配器(HandlerAdapter)去執(zhí)行對應的Handler,Handler會讓Controller去執(zhí)行!
  • Controller將具體的執(zhí)行信息(我們該寫的代碼)返回給HandlerAdapter,如ModelAndView。 如:攜帶數(shù)據(jù) + 要跳轉(zhuǎn)的視圖 HelloServlet類 。
  • HandlerAdapter將視圖邏輯名或模型傳遞給DispatcherServlet。
  • DispatcherServlet調(diào)用視圖解析器(ViewResolver)來解析HandlerAdapter傳遞的邏輯視圖名。

所謂視圖解析器就是拼接字符串

mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
<!--視圖解析器:DispatcherServlet給他的ModelAndView
    1.獲取了ModelAndView的數(shù)據(jù)
    2.解析ModelAndView的視圖名字 Hello
    3.根據(jù)前綴和后綴去拼接視圖名稱/WEB-INF/jsp/hello.jsp
    4.將數(shù)據(jù)渲染到這個視圖上。
    -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
    <!--前綴-->
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <!--后綴-->
    <property name="suffix" value=".jsp"/>
</bean> 

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • idea無法識別注解,或pom文件異常的問題及解決

    idea無法識別注解,或pom文件異常的問題及解決

    文章介紹了三種解決IDEA無法識別注解或POM文件異常的方法:1.檢查省電模式設置;2.為未識別的POM文件添加Maven工程;3.移除并重新添加有問題的模塊
    2026-01-01
  • RocketMQ消息中間件超詳細解讀

    RocketMQ消息中間件超詳細解讀

    這篇文章主要介紹了RocketMQ消息中間件超詳細解讀,RocketMQ作為一款純java、分布式、隊列模型的開源消息中間件,支持事務消息、順序消息、批量消息、定時消息、消息回溯等,本文就來詳細解讀一下,需要的朋友可以參考下
    2023-05-05
  • mybatis一級緩存和二級緩存的區(qū)別及說明

    mybatis一級緩存和二級緩存的區(qū)別及說明

    這篇文章主要介紹了mybatis一級緩存和二級緩存的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Java實現(xiàn)RSA算法的方法詳解

    Java實現(xiàn)RSA算法的方法詳解

    這篇文章主要介紹了Java實現(xiàn)RSA算法的方法,結(jié)合實例形式分析了RSA算法的原理、實現(xiàn)與使用方法,需要的朋友可以參考下
    2018-03-03
  • 解決springboot啟動失敗的問題('hibernate.dialect'?not?set)

    解決springboot啟動失敗的問題('hibernate.dialect'?not?set)

    這篇文章主要介紹了解決springboot啟動失敗的問題('hibernate.dialect'?not?set),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 關于@ComponentScan?TypeFilter自定義指定掃描bean的規(guī)則

    關于@ComponentScan?TypeFilter自定義指定掃描bean的規(guī)則

    這篇文章主要介紹了關于@ComponentScan?TypeFilter自定義指定掃描bean的規(guī)則,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • VSCode配置java中的lombok解決步驟

    VSCode配置java中的lombok解決步驟

    Lombok是一個java庫,可自動插入您的編輯器和構(gòu)建工具,為您的java增添趣味,這篇文章主要介紹了VSCode配置java中l(wèi)ombok的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-03-03
  • Java中的命名與目錄接口JNDI基本操作方法概覽

    Java中的命名與目錄接口JNDI基本操作方法概覽

    這篇文章主要介紹了Java中的命名與目錄接口JNDI基本操作方法概覽,JNDI提供統(tǒng)一的客戶端API使得Java應用程序可以和這些命名服務和目錄服務之間進行交互,需要的朋友可以參考下
    2016-03-03
  • Java之理解Redis回收算法LRU案例講解

    Java之理解Redis回收算法LRU案例講解

    這篇文章主要介紹了Java之理解Redis回收算法LRU案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • springboot?filter配置多個時,執(zhí)行順序問題

    springboot?filter配置多個時,執(zhí)行順序問題

    這篇文章主要介紹了springboot?filter配置多個時,執(zhí)行順序問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論

容城县| 繁昌县| 休宁县| 隆林| 青河县| 威远县| 丹江口市| 景东| 定西市| 沈丘县| 城市| 淄博市| 科尔| 大余县| 昌都县| 阿尔山市| 海门市| 龙泉市| 大悟县| 上栗县| 武清区| 民乐县| 平江县| 鲁甸县| 夹江县| 合肥市| 新竹县| 津市市| 武功县| 潮州市| 固阳县| 乌兰察布市| 习水县| 沅江市| 永安市| 基隆市| 枣强县| 马山县| 安吉县| 峨边| 宜阳县|