久久午夜无码,日日射天天射五月丁香婷婷我来了 ,欧美黑人又长又粗在线视频,午夜天网站

當(dāng)前位置:首頁 > 數(shù)據(jù)庫 > 正文

代碼解釋springmvc流程(Spring MVC)

代碼解釋springmvc流程(Spring MVC)

大家好,感謝邀請(qǐng),今天來為大家分享一下代碼解釋springmvc流程的問題,以及和Spring MVC的一些困惑,大家要是還不太明白的話,也沒有關(guān)系,因?yàn)榻酉聛韺榇蠹?..

大家好,感謝邀請(qǐng),今天來為大家分享一下代碼解釋springmvc流程的問題,以及和Spring MVC的一些困惑,大家要是還不太明白的話,也沒有關(guān)系,因?yàn)榻酉聛韺榇蠹曳窒?,希望可以幫助到大家,解決大家的問題,下面就開始吧!

天天用Spring MVC,有了解過它的底層源碼嗎

不了解的只能做代碼搬運(yùn)工!

什么是springmvc

SpringMVC(Model-View-Controller)是一個(gè)基于MVC設(shè)計(jì)模式的Web框架,用于創(chuàng)建Web應(yīng)用程序。SpringMVC框架使用經(jīng)典的模型-視圖-控制器模式,其中模型表示應(yīng)用程序中用于處理數(shù)據(jù)的對(duì)象,視圖表示呈現(xiàn)GUI的用戶界面,控制器使用模型和視圖組合來實(shí)現(xiàn)業(yè)務(wù)邏輯。

SpringMVC框架是Spring框架的一部分,通過將其與Spring框架相結(jié)合,可以實(shí)現(xiàn)基于MVC的Web應(yīng)用程序的完整堆棧開發(fā)。SpringMVC框架提供了一個(gè)靈活的請(qǐng)求處理流程,使開發(fā)人員能夠?qū)崿F(xiàn)自定義路由邏輯和響應(yīng)數(shù)據(jù)格式。

此外,SpringMVC提供了許多內(nèi)置的HTTP請(qǐng)求處理器,它們負(fù)責(zé)與服務(wù)器通信以及處理來自客戶端的請(qǐng)求和響應(yīng)??傊?,SpringMVC框架是一個(gè)功能強(qiáng)大且靈活的Web框架,廣泛應(yīng)用于企業(yè)級(jí)Web應(yīng)用程序開發(fā)中。

springmvc 多步流程

工作流程(12步)

1.DispatcherServlet(前端控制器)接收用戶的請(qǐng)求;

2.DispatcherServlet調(diào)用HandlerMapping(處理器映射器),找到合適的Handler;

3.HandlerMapping(處理器映射器)返回HandlerExecutionChain(合適的Handler的位置)給DispatcherServlet;

4.發(fā)送請(qǐng)求到HandlerAdapter(處理器適配器)(打一個(gè)比方:家用電的電壓為220V,我們的電腦或手機(jī)所需要的電壓各不相同,所以就需要有電源適配器來起到橋梁作用,這里的處理器適配器也是同樣的作用);

5.HandlerAdapter(處理器適配器)將請(qǐng)求交給Handler(處理器)去執(zhí)行;

6.Handler(處理器)執(zhí)行請(qǐng)求,并將處理后的結(jié)果封裝成為一個(gè)ModelAndView對(duì)象,返回給HandlerAdapter(處理器適配器);

7.HandlerAdapter(處理器適配器)將ModelAndView對(duì)象返回給DispatcherServlet;

8.DispatcherServlet調(diào)用InternalResourceViewResolver(視圖解析器)請(qǐng)求視圖解析;

9.InternalResourceViewResolver(視圖解析器)解析視圖后返回給DispatcherServlet;

10.DispatcherServlet請(qǐng)求渲染視圖;

11.View(視圖)將渲染好的視圖返回給DispatcherServlet;

12.DispatcherServlet響應(yīng)用戶的請(qǐng)求。

mvc操作流程

SpringMVC工作流程描述:

1.用戶向服務(wù)器發(fā)送請(qǐng)求,請(qǐng)求被Spring前端控制ServeltDispatcherServlet捕獲;

2.DispatcherServlet對(duì)請(qǐng)求URL進(jìn)行解析,得到請(qǐng)求資源標(biāo)識(shí)符(URI)。然后根據(jù)該URI,調(diào)用HandlerMapping獲得該Handler配置的所有相關(guān)的對(duì)象(包括Handler對(duì)象以及Handler對(duì)象對(duì)應(yīng)的攔截器),最后以HandlerExecutionChain對(duì)象的形式返回;

3.DispatcherServlet根據(jù)獲得的Handler,選擇一個(gè)合適的HandlerAdapter;

4.提取Request中的模型數(shù)據(jù),填充Handler入?yún)?,開始執(zhí)行Handler(Controller)。

在填充Handler的入?yún)⑦^程中,根據(jù)你的配置,Spring將幫你做一些額外的工作:

HttpMessageConveter:將請(qǐng)求消息(如Json、xml等數(shù)據(jù))轉(zhuǎn)換成一個(gè)對(duì)象,將對(duì)象轉(zhuǎn)換為指定的響應(yīng)信息。

數(shù)據(jù)轉(zhuǎn)換:對(duì)請(qǐng)求消息進(jìn)行數(shù)據(jù)轉(zhuǎn)換。如String轉(zhuǎn)換成Integer、Double等。

數(shù)據(jù)根式化:對(duì)請(qǐng)求消息進(jìn)行數(shù)據(jù)格式化。如將字符串轉(zhuǎn)換成格式化數(shù)字或格式化日期等。

數(shù)據(jù)驗(yàn)證:驗(yàn)證數(shù)據(jù)的有效性(長度、格式等),驗(yàn)證結(jié)果存儲(chǔ)到BindingResult或Error中。

5.Handler執(zhí)行完成后,向DispatcherServlet返回一個(gè)ModelAndView對(duì)象;

6.根據(jù)返回的ModelAndView,選擇一個(gè)適合的ViewResolver(必須是已經(jīng)注冊(cè)到Spring容器中的ViewResolver)返回給DispatcherServlet;

7.ViewResolver結(jié)合Model和View,來渲染視圖;

8.將渲染結(jié)果返回給客戶端。

springmvc原理及流程

第一步:用戶發(fā)起請(qǐng)求到前端控制器(DispatcherServlet)

第二步:前端控制器請(qǐng)求處理器映射器(HandlerMappering)去查找處理器(Handle):通過xml配置或者注解進(jìn)行查找

第三步:找到以后處理器映射器(HandlerMappering)像前端控制器返回執(zhí)行鏈(HandlerExecutionChain)

第四步:前端控制器(DispatcherServlet)調(diào)用處理器適配器(HandlerAdapter)去執(zhí)行處理器(Handler)

第五步:處理器適配器去執(zhí)行Handler

第六步:Handler執(zhí)行完給處理器適配器返回ModelAndView

第七步:處理器適配器向前端控制器返回ModelAndView

第八步:前端控制器請(qǐng)求視圖解析器(ViewResolver)去進(jìn)行視圖解析

第九步:視圖解析器像前端控制器返回View

第十步:前端控制器對(duì)視圖進(jìn)行渲染

第十一步:前端控制器向用戶響應(yīng)結(jié)果

代碼解釋springmvc流程和Spring MVC的問題分享結(jié)束啦,以上的文章解決了您的問題嗎?歡迎您下次再來哦!

无码不卡视频图片| 日本人成网站8禁止久久影院| j激情六月丁香| 久久久久免费一级毛片| 五月天国产成人免费视频| 一区精品二区三欧美区| 久久丁香五月综合图片专区| 牡丹江市| 热久久免费国产| 又粗又硬又爽中文在线| 久久人妻少妇嫩草无码专区| 人妻无码激情| 免费又大粗又爽又黄少妇毛片| 色鬼久久| 国产真实迷玩精品在线| 日韩中文AV电影| 中国国产一级毛片视频| 欧美亚洲日韩hh| 欧美精品国产日韩诱惑| 国产91在线播放| 欧美精品巨大一区二区久久| 日本黄欧美黄| 久久精品人妻唯美一区二区| 大尺度国产网站| 极品少妇7| 免费自拍日本视频| 茄子视频免费电影一区二区| 无码中文字幕波多野不卡| 无码中文精品视视| 老司机在线,精品,一区二区| 亚洲欧美日韩综合| 在线精品国产亚洲AV无码| 国产精品国产三级国产AV小说 | 久久综合99热国产女同超碰| 高清囯产女厕| 色欲αV人妻精品一区二区直播| 少妇日韩在线| 久久国产高潮| аⅴ资源新版在线天堂| 军事| 国产精品怕怕怕免费视频大全|