欧美麻豆久久久久久中文_成年免费观看_男人天堂亚洲成人_中国一级片_动漫黄网站免费永久在线观看_国产精品自产av一区二区三区

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

?MVC的工作原理

2021-07-01 11:52:04 | 來源:中培企業IT培訓網
MVC是一種構架,那么這種構架的工作原理是什么呢?想必很多人都不知道。其實它的工作原理有點復雜。一些專業術語的介紹也不太讓人清楚它到底是一個什么樣的工作原理。但從名字的三個字母的組成來看,就會變得簡單。M代表Model,主要是負責整個解決方案的業務邏輯實現,底層的數據庫也由Model訪問和操作;V代表View,負責系統向用戶的展示,主要由HTML及JSP等完成;而C又主要是為了實現用戶與任務的通信;另一方面處理來自其它的結果,最后由ControllerA進行處理。
1.當用戶在瀏覽器中點擊一個鏈接或者提交一個表單時,那么就會產生一個請求(request)。當請求離開瀏覽器時,它會攜帶用戶請求的信息。
2.請求的第一站到達的是Spring的DispatcherServlet,它是一個前端控制器,工作是將用戶的請求委托給其他的組件(這里是交給Spring MVC的控制器)去處理。
這里DispatcherServlet要決定將請求傳給哪一個控制器(Controller)去處理,那么這時就需要處理器映射(Handler Mapping)了。
處理器映射會看請求的URL信息,然后決定將請求交給哪一個控制器去處理。比如說有兩個控制器ControllerA和ControllerB,分別處理后綴名為.html和.jsp送來的請求,那么當請求者的后綴名為.html時,那么DispatcherServlet就將請求交給ControllerA進行處理。
C代表Controller,負責用戶界面和業務邏輯層的通信控制,一方面解釋來自用戶界面的輸入,識別用戶動作(如點擊按鈕等),調用相應Model中的方法,另一方面處理來自Model的事件和返回的執行結果,調用適當的View顯示給用戶,Controller主要由Servlet完成。
M代表Model,負責整個解決方案的業務邏輯實現,底層的數據庫也由Model訪問和操作;
V代表View,負責系統向用戶的展示,主要由HTML及JSP等完成;
MVC組件說明:
以下組件通常使用框架提供實現:
DispatcherServlet:作為前端控制器,整個流程控制的中心,控制其它組件執行,統一調度,降低組件之間的耦合性,提高每個組件的擴展性。
HandlerMapping:通過擴展處理器映射器實現不同的映射方式,例如:配置文件方式,實現接口方式,注解方式等。
HandlAdapter:通過擴展處理器適配器,支持更多類型的處理器。
ViewResolver:通過擴展視圖解析器,支持更多類型的視圖解析,例如:jsp、freemarker、pdf、excel等。
組件:
1、前端控制器DispatcherServlet(不需要工程師開發),由框架提供
作用:接收請求,響應結果,相當于轉發器,中央處理器。有了dispatcherServlet減少了其它組件之間的耦合度。
用戶請求到達前端控制器,它就相當于mvc模式中的c,dispatcherServlet是整個流程控制的中心,由它調用其它組件處理用戶的請求,dispatcherServlet的存在降低了組件之間的耦合性。
2、處理器映射器HandlerMapping(不需要工程師開發),由框架提供
作用:根據請求的url查找Handler
HandlerMapping負責根據用戶請求找到Handler即處理器,springmvc提供了不同的映射器實現不同的映射方式,例如:配置文件方式,實現接口方式,注解方式等。
3、處理器適配器HandlerAdapter
作用:按照特定規則(HandlerAdapter要求的規則)去執行Handler
通過HandlerAdapter對處理器進行執行,這是適配器模式的應用,通過擴展適配器可以對更多類型的處理器進行執行。
4、處理器Handler(需要工程師開發)
注意:編寫Handler時按照HandlerAdapter的要求去做,這樣適配器才可以去正確執行Handler
Handler 是繼DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler對具體的用戶請求進行處理。
由于Handler涉及到具體的用戶業務請求,所以一般情況需要工程師根據業務需求開發Handler。
5、視圖解析器View resolver(不需要工程師開發),由框架提供
作用:進行視圖解析,根據邏輯視圖名解析成真正的視圖(view)
View Resolver負責將處理結果生成View視圖,View Resolver首先根據邏輯視圖名解析成物理視圖名即具體的頁面地址,再生成View視圖對象,最后對View進行渲染將處理結果通過頁面展示給用戶。
springmvc框架提供了很多的View視圖類型,包括:jstlView、freemarkerView、pdfView等。
一般情況下需要通過頁面標簽或頁面模版技術將模型數據通過頁面展示給用戶,需要由工程師根據業務需求開發具體的頁面。
6、視圖View(需要工程師開發jsp...)
View是一個接口,實現類支持不同的View類型(jsp、freemarker、pdf...)
MVC的工作原理運用了許多東西。前端控制器減少組件之間的耦合度;處理器映射器根據請求的url查找Handler;處理器適配器按照特定規則(HandlerAdapter要求的規則)去執行Handler;視圖解析器進行視圖解析,根據邏輯視圖名解析成真正的視圖(view);視圖View實現類支持不同的View類型(jsp、freemarker、pdf...)。這里面涉及的太多專業性的東西,如果你對這些東西感興趣的話,可以自己再找其他信息來源進行了解。想要了解更多關于MVC的信息,請繼續關注中培偉業。
主站蜘蛛池模板: 正在播放麻豆 | 夜夜欢性恔免费视频 | 亚洲熟少妇在线播放999 | 国产精品69人妻我爱绿帽子 | 呻吟国产av久久一区二区 | 日本大骚B视频在线 | 在线观看片免费视频无码 | 久章草在线精品视频免费观看 | 国产成人无码A区在线观看导航 | 人妻av中文字幕无码专区 | 美国a级毛片免费视频 | 国产精品色拉拉 | 国产精品成人AV在线观看春天 | 337p日本欧洲亚洲大胆艺术96 | 国产精品久久久久影院亚瑟妓 | 亚洲精品尤物av在线观看任我爽 | 香蕉久久精品日日躁夜夜躁夏 | 大地视频在线观看免费高清 | dy888午夜国产精品 | a级国产视频 | 午夜亚洲av日韩av无码大全 | 最新看片 | 久久精品亚洲精品无码金尊 | 久久久久久无码精品人妻A片软件 | 久久夜色精品国产噜噜亚洲SV | 97资源站在线视频 | 污黄啪啪网18以下勿进 | 日本真人做人爱一区二区三区 | 性欧美大战久久久久久久 | 99热亚洲色精品国产88 | 三年片大全在线观看免费观看第二集 | 久久成人久久爱 | 精品uu| 在线观看亚洲精品福利片 | 午夜精品久久久久久久99 | 第四色播日韩AV第一页 | 亚洲一级 片内射无码 | 国产又爽又猛又粗的视频A片 | 亚洲中文字幕成人无码 | 国产九精品国产动漫人物 | 老熟妇HD小伙子另类 |