更新時間:2020-07-15 15:48:45 來源:動力節(jié)點 瀏覽2185次
Javamvc項目框架視頻之SpringMVC框架,JavaEE體系結(jié)構(gòu)包括四層,從上到下分別是應用層、Web層、業(yè)務層、持久層。Struts和SpringMVC是Web層的框架,Spring是業(yè)務層的框架,Hibernate和MyBatis是持久層的框架。
為什么要使用SpringMVC?
很多應用程序的問題在于處理業(yè)務數(shù)據(jù)的對象和顯示業(yè)務數(shù)據(jù)的視圖之間存在緊密耦合,通常,更新業(yè)務對象的命令都是從視圖本身發(fā)起的,使視圖對任何業(yè)務對象更改都有高度敏感性。而且,當多個視圖依賴于同一個業(yè)務對象時是沒有靈活性的。
SpringMVC是一種基于Java,實現(xiàn)了Web MVC設計模式,請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進行職責解耦。基于請求驅(qū)動指的就是使用請求-響應模型,框架的目的就是幫助我們簡化開發(fā),SpringMVC也是要簡化我們?nèi)粘eb開發(fā)。
MVC設計模式
MVC設計模式的任務是將包含業(yè)務數(shù)據(jù)的模塊與顯示模塊的視圖解耦。這是怎樣發(fā)生的?在模型和視圖之間引入重定向?qū)涌梢越鉀Q問題。此重定向?qū)邮强刂破鳎刂破鲗⒔邮照埱螅瑘?zhí)行更新模型的操作,然后通知視圖關(guān)于模型更改的消息。
SpringMVC是Spring的一部分,如圖:
SpringMVC的核心架構(gòu):
具體流程:
(1)首先用戶發(fā)送請求——DispatcherServlet,前端控制器收到請求后自己不進行處理,而是委托給其他的解析器進行處理,作為統(tǒng)一訪問點,進行全局的流程控制;
(2)DispatcherServlet——HandlerMapping,映射處理器將會把請求映射為HandlerExecutionChain對象(包含一個Handler處理器(頁面控制器)對象、多個HandlerInterceptor攔截器)對象;
(3)DispatcherServlet——HandlerAdapter,處理器適配器將會把處理器包裝為適配器,從而支持多種類型的處理器,即適配器設計模式的應用,從而很容易支持很多類型的處理器;
(4)HandlerAdapter——調(diào)用處理器相應功能處理方法,并返回一個ModelAndView對象(包含模型數(shù)據(jù)、邏輯視圖名);
(5)ModelAndView對象(Model部分是業(yè)務對象返回的模型數(shù)據(jù),View部分為邏輯視圖名)——>ViewResolver,視圖解析器將把邏輯視圖名解析為具體的View;
(6)View——渲染,View會根據(jù)傳進來的Model模型數(shù)據(jù)進行渲染,此處的Model實際是一個Map數(shù)據(jù)結(jié)構(gòu);
(7)返回控制權(quán)給DispatcherServlet,由DispatcherServlet返回響應給用戶,到此一個流程結(jié)束。
以上就是動力節(jié)點java培訓機構(gòu)的小編針對“Javamvc項目框架視頻之SpringMVC框架”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。