更新時(shí)間:2022-06-29 10:01:25 來源:動力節(jié)點(diǎn) 瀏覽1795次
Spring MVC 是 Spring Framework 的一部分,是一個(gè)基于 Java 實(shí)現(xiàn) MVC 的輕量級 Web 框架。
Spring MVC 的特點(diǎn):
輕巧易學(xué)
高效、基于請求響應(yīng)的 MVC 框架
與Spring兼容,無縫結(jié)合
約定優(yōu)于配置
強(qiáng)大功能:RESTful、數(shù)據(jù)校驗(yàn)、格式化、本地化、主題等
簡潔靈活
Spring的web框架是圍繞dispatcher Servlet設(shè)計(jì)的
當(dāng)客戶發(fā)起請求時(shí),請求被前端控制器攔截,控制器處理請求
控制器處理請求,創(chuàng)建數(shù)據(jù)模型,訪問數(shù)據(jù)庫,并將模型響應(yīng)返回給中央控制器
控制器將響應(yīng)返回給視圖,并將視圖一起返回給客戶
Dispatcher servlet代表前端控制器,是整個(gè)spring MVC的控制中心。當(dāng)用戶發(fā)送請求時(shí),Dispatcher servlet 接收請求并攔截請求。
假設(shè)請求的url為:http://localhost:8080/SpringMVC/hello
如上,url分為三部分:
http://localhost:8080 服務(wù)器域名
Spring MVC 是一個(gè)部署在服務(wù)器上的網(wǎng)站
hello 表示控制器
通過分析,上面的url表示為:請求位于服務(wù)器localhost:8080的spring MVC站點(diǎn)的hello控制器。
HandlerMapping 是處理器映射。DispatcherServlet調(diào)用HandlerMapping,根據(jù)請求url查找Handler
HandlerExecution 指的是特定的Handler。它的主要功能是根據(jù)url找到控制器。通過上面的url找到的控制器是:hello。
HandlerExecution 將解析后的信息傳遞給 DispatcherServlet,例如解析控制器映射。
HandlerAdapter 代表一個(gè)處理器適配器,它根據(jù)特定的規(guī)則執(zhí)行 Handler。
處理程序讓特定的控制器執(zhí)行。
Controller將具體的執(zhí)行信息返回給HandlerAdapter,如ModelAndView。
HandlerAdapter 將視圖的邏輯名稱或模型傳遞給調(diào)度程序 servlet。
DispatcherServlet 調(diào)用視圖解析器來解析 HandlerAdapter 傳遞的邏輯視圖名稱。
視圖解析器將解析后的邏輯視圖名稱傳遞給調(diào)度程序 servlet。
DispatcherServlet 根據(jù)視圖解析器解析的視圖結(jié)果調(diào)用特定的視圖。
最終視圖呈現(xiàn)給用戶。
通過上述介紹,相信大家對SpringMVC工作原理已經(jīng)有所了解,如果大家對此比較感興趣,想了解更相關(guān)知識,不妨來關(guān)注一下動力節(jié)點(diǎn)的SpringMVC教程,里面的課程內(nèi)容細(xì)致全面,很適合沒有基礎(chǔ)的小伙伴學(xué)習(xí),希望對大家能夠有所幫助哦。
初級 202925
初級 203221
初級 202629
初級 203743