javascript
SpringMVC架构---SpringMVC学习笔记(一)
什么是SpringMVC?
springmvc是spring框架的一個(gè)模塊,springmvc和spring無需通過中間整合層進(jìn)行整合。(struts2與Spring整合的時(shí)候需要借助單獨(dú)的jar包)
springmvc是一個(gè)基于mvc的web框架。
MVC在B/S系統(tǒng)下的應(yīng)用
控制接收用戶請(qǐng)求的數(shù)據(jù),委托給模型進(jìn)行處理
模型通常是指業(yè)務(wù)邏輯
web中模型無法將數(shù)據(jù)直接在視圖上顯示,需要通過控制器完成。如果在C/S應(yīng)用中模型是可以將數(shù)據(jù)在視圖中展示的。
通過視圖展示給用戶要的數(shù)據(jù)或處理結(jié)果。
SpringMVC架構(gòu)
架構(gòu)圖1:
架構(gòu)圖2:
架構(gòu)主要流程解釋:
Spring MVC中前端的控制器就是DispatcherServlet這個(gè)Servlet來掌管著用戶的請(qǐng)求及最后的系統(tǒng)回應(yīng)。這個(gè)DispatcherServlet同具體的業(yè)務(wù)邏輯一點(diǎn)都不著邊,而是把所有的事情委派給控制器去做(Controller),當(dāng)然DispatcherServlet是知道該把當(dāng)前的事情交個(gè)那個(gè)控制器去做;然后當(dāng)控制器把事情都做完了后,這個(gè)時(shí)候輪到視圖(View)上場了,簡單的理解好比我們做PPT,那么這里的視圖好比PPT里面的模板,它可以把數(shù)據(jù)以不同的展現(xiàn)形式交給客戶,可以是jsp、xml、json等等。
架構(gòu)具體運(yùn)作流程:
第一步:發(fā)起請(qǐng)求到前端控制器(DispatcherServlet)
第二步:前端控制器請(qǐng)求HandlerMapping查找 Handler
可以根據(jù)xml配置、注解進(jìn)行查找
第三步:處理器映射器HandlerMapping向前端控制器返回Handler
第四步:前端控制器調(diào)用處理器適配器去執(zhí)行Handler
第五步:處理器適配器去執(zhí)行Handler
第六步:Handler執(zhí)行完成給適配器返回ModelAndView
第七步:處理器適配器向前端控制器返回ModelAndView
ModelAndView是springmvc框架的一個(gè)底層對(duì)象,包括 Model和view
第八步:前端控制器請(qǐng)求視圖解析器去進(jìn)行視圖解析
根據(jù)邏輯視圖名解析成真正的視圖(jsp)
第九步:視圖解析器向前端控制器返回View
第十步:前端控制器進(jìn)行視圖渲染
視圖渲染將模型數(shù)據(jù)(在ModelAndView對(duì)象中)填充到request域
第十一步:前端控制器向用戶響應(yīng)結(jié)果
組件說明:
作用接收請(qǐng)求,響應(yīng)結(jié)果,相當(dāng)于轉(zhuǎn)發(fā)器,中央處理器。
有了DispatcherServlet減少了其它組件之間的耦合度。
作用:根據(jù)請(qǐng)求的url查找Handler
作用:按照特定規(guī)則(HandlerAdapter要求的規(guī)則)去執(zhí)行Handler
注意:編寫Handler時(shí)按照HandlerAdapter的要求去做,這樣適配器才可以去正確執(zhí)行Handler
作用:進(jìn)行視圖解析,根據(jù)邏輯視圖名解析成真正的視圖(view)
View是一個(gè)接口,實(shí)現(xiàn)類支持不同的View類型(jsp、freemarker、pdf…)
總結(jié)
以上是生活随笔為你收集整理的SpringMVC架构---SpringMVC学习笔记(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring与mybatis整合---M
- 下一篇: 入门Demo---SpringMVC学习