伊人99re_av日韩成人_91高潮精品免费porn_色狠狠色婷婷丁香五月_免费看的av_91亚色网站

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 精選文章 > ?MVC的工作原理

?MVC的工作原理

2021-07-01 11:52:04 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)
MVC是一種構(gòu)架,那么這種構(gòu)架的工作原理是什么呢?想必很多人都不知道。其實它的工作原理有點復(fù)雜。一些專業(yè)術(shù)語的介紹也不太讓人清楚它到底是一個什么樣的工作原理。但從名字的三個字母的組成來看,就會變得簡單。M代表Model,主要是負(fù)責(zé)整個解決方案的業(yè)務(wù)邏輯實現(xiàn),底層的數(shù)據(jù)庫也由Model訪問和操作;V代表View,負(fù)責(zé)系統(tǒng)向用戶的展示,主要由HTML及JSP等完成;而C又主要是為了實現(xiàn)用戶與任務(wù)的通信;另一方面處理來自其它的結(jié)果,最后由ControllerA進(jìn)行處理。
1.當(dāng)用戶在瀏覽器中點擊一個鏈接或者提交一個表單時,那么就會產(chǎn)生一個請求(request)。當(dāng)請求離開瀏覽器時,它會攜帶用戶請求的信息。
2.請求的第一站到達(dá)的是Spring的DispatcherServlet,它是一個前端控制器,工作是將用戶的請求委托給其他的組件(這里是交給Spring MVC的控制器)去處理。
這里DispatcherServlet要決定將請求傳給哪一個控制器(Controller)去處理,那么這時就需要處理器映射(Handler Mapping)了。
處理器映射會看請求的URL信息,然后決定將請求交給哪一個控制器去處理。比如說有兩個控制器ControllerA和ControllerB,分別處理后綴名為.html和.jsp送來的請求,那么當(dāng)請求者的后綴名為.html時,那么DispatcherServlet就將請求交給ControllerA進(jìn)行處理。
C代表Controller,負(fù)責(zé)用戶界面和業(yè)務(wù)邏輯層的通信控制,一方面解釋來自用戶界面的輸入,識別用戶動作(如點擊按鈕等),調(diào)用相應(yīng)Model中的方法,另一方面處理來自Model的事件和返回的執(zhí)行結(jié)果,調(diào)用適當(dāng)?shù)腣iew顯示給用戶,Controller主要由Servlet完成。
M代表Model,負(fù)責(zé)整個解決方案的業(yè)務(wù)邏輯實現(xiàn),底層的數(shù)據(jù)庫也由Model訪問和操作;
V代表View,負(fù)責(zé)系統(tǒng)向用戶的展示,主要由HTML及JSP等完成;
MVC組件說明:
以下組件通常使用框架提供實現(xiàn):
DispatcherServlet:作為前端控制器,整個流程控制的中心,控制其它組件執(zhí)行,統(tǒng)一調(diào)度,降低組件之間的耦合性,提高每個組件的擴展性。
HandlerMapping:通過擴展處理器映射器實現(xiàn)不同的映射方式,例如:配置文件方式,實現(xiàn)接口方式,注解方式等。
HandlAdapter:通過擴展處理器適配器,支持更多類型的處理器。
ViewResolver:通過擴展視圖解析器,支持更多類型的視圖解析,例如:jsp、freemarker、pdf、excel等。
組件:
1、前端控制器DispatcherServlet(不需要工程師開發(fā)),由框架提供
作用:接收請求,響應(yīng)結(jié)果,相當(dāng)于轉(zhuǎn)發(fā)器,中央處理器。有了dispatcherServlet減少了其它組件之間的耦合度。
用戶請求到達(dá)前端控制器,它就相當(dāng)于mvc模式中的c,dispatcherServlet是整個流程控制的中心,由它調(diào)用其它組件處理用戶的請求,dispatcherServlet的存在降低了組件之間的耦合性。
2、處理器映射器HandlerMapping(不需要工程師開發(fā)),由框架提供
作用:根據(jù)請求的url查找Handler
HandlerMapping負(fù)責(zé)根據(jù)用戶請求找到Handler即處理器,springmvc提供了不同的映射器實現(xiàn)不同的映射方式,例如:配置文件方式,實現(xiàn)接口方式,注解方式等。
3、處理器適配器HandlerAdapter
作用:按照特定規(guī)則(HandlerAdapter要求的規(guī)則)去執(zhí)行Handler
通過HandlerAdapter對處理器進(jìn)行執(zhí)行,這是適配器模式的應(yīng)用,通過擴展適配器可以對更多類型的處理器進(jìn)行執(zhí)行。
4、處理器Handler(需要工程師開發(fā))
注意:編寫Handler時按照HandlerAdapter的要求去做,這樣適配器才可以去正確執(zhí)行Handler
Handler 是繼DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler對具體的用戶請求進(jìn)行處理。
由于Handler涉及到具體的用戶業(yè)務(wù)請求,所以一般情況需要工程師根據(jù)業(yè)務(wù)需求開發(fā)Handler。
5、視圖解析器View resolver(不需要工程師開發(fā)),由框架提供
作用:進(jìn)行視圖解析,根據(jù)邏輯視圖名解析成真正的視圖(view)
View Resolver負(fù)責(zé)將處理結(jié)果生成View視圖,View Resolver首先根據(jù)邏輯視圖名解析成物理視圖名即具體的頁面地址,再生成View視圖對象,最后對View進(jìn)行渲染將處理結(jié)果通過頁面展示給用戶。
springmvc框架提供了很多的View視圖類型,包括:jstlView、freemarkerView、pdfView等。
一般情況下需要通過頁面標(biāo)簽或頁面模版技術(shù)將模型數(shù)據(jù)通過頁面展示給用戶,需要由工程師根據(jù)業(yè)務(wù)需求開發(fā)具體的頁面。
6、視圖View(需要工程師開發(fā)jsp...)
View是一個接口,實現(xiàn)類支持不同的View類型(jsp、freemarker、pdf...)
MVC的工作原理運用了許多東西。前端控制器減少組件之間的耦合度;處理器映射器根據(jù)請求的url查找Handler;處理器適配器按照特定規(guī)則(HandlerAdapter要求的規(guī)則)去執(zhí)行Handler;視圖解析器進(jìn)行視圖解析,根據(jù)邏輯視圖名解析成真正的視圖(view);視圖View實現(xiàn)類支持不同的View類型(jsp、freemarker、pdf...)。這里面涉及的太多專業(yè)性的東西,如果你對這些東西感興趣的話,可以自己再找其他信息來源進(jìn)行了解。想要了解更多關(guān)于MVC的信息,請繼續(xù)關(guān)注中培偉業(yè)。
標(biāo)簽: MVC ?MVC的工作原理
主站蜘蛛池模板: 亚洲一级特黄 | gogo西西午夜啪啪大尺度 | 欧美一级大片在线观看 | 午夜看片 | 日韩三级在线观看 | 大象视频成人看免费网站 | 高清视频在线观看 | 欧美在线观看网址 | 日本xx高清 | 青娱乐极品视觉盛宴av | 国内精品国产三级国产在线专 | 虎白女粉嫩尤物福利视频 | 亚洲国产精品美女久久久久 | 免费观看麻豆视频 | 国产一级片免费 | 日本高清在线一区二区三区 | 免费av网站观看 | 午夜精品免费视频 | 欧美熟妇色ⅩXXX欧美妇 | 国产精品夜夜春夜夜爽久久老牛 | 韩国成人一区 | 国产亚洲欧洲Aⅴ综合一区 精品一卡2卡三卡4卡免费网站 | 男女XX00上下抽搐动态图 | 一级a一级a爰片免费免免 | 国产精品青青在线观看爽香蕉 | 亚洲呦女专区 | 91网站免费看 | 国产黑色丝袜在线看片 | 亚洲国产av无码精品无广告 | 久久泄欲网久久精品性色 | 欧美影院一区 | 美女脱18以下禁止看尿口 | 日本特级a一片免费观看 | 人人搞人人爽 | 一本大道久久a久久精二佰 成人一区在线视频 | 亚洲视频欧洲视频 | 91成人免费在线 | 亚洲欧洲日韩国内高清 | 在线播放国产精品三级 | 在线观看所有av | 伊人伊成久久人综合网996 |