1. 程式人生 > >Spring+SpringMVC+MyBatis深入學習及搭建(十一)——SpringMVC架構

Spring+SpringMVC+MyBatis深入學習及搭建(十一)——SpringMVC架構

框架 ppi spring框架 edit 不同的 com get request html

轉載請註明出處:http://www.cnblogs.com/Joanna-Yan/p/6985816.html

前面講到:Spring+SpringMVC+MyBatis深入學習及搭建(十)——MyBatis逆向工程

1.什麽SpringMVC

Spring web mvc和Struts2都屬於表現層的框架,它是Spring框架的一個模塊。SpringMVC和Spring無需通過中間整合層進行整合。

SpringMVC是一個基於mvc的web框架。

技術分享

2.mvc在b/s系統下的應用

技術分享

(1)用戶發起request請求至控制器(Controller)

   控制接收用戶請求的數據,委托給模型進行處理。

(2)控制器通過模型(Model)處理數據並得到處理結果

   模型通常是指業務邏輯

(3)模型處理結果返回給控制器

(4)控制器將模型數據在視圖(View)中展示

  web中模型無法將數據直接在視圖上顯示,需要通過控制器完成。如果在C/S應用中模型是可以將數據在視圖中展示的。

(5)控制器將視圖response響應給用戶

   通過視圖展示給用戶要的數據或處理結果。

3.SpringMVC框架

技術分享

3.1架構流程

(1)用戶發請求至前端控制器(DispatcherServlet)

(2)DispatcherServlet接收到請求調用HandlerMapping處理器映射器

(3)處理器映射器根據請求url找到具體的處理器(Handler,可以根據xml配置、註解進行查找),生成處理器對象及處理器攔截器(如果有則生成)一並返回給DispatcherServlet。

(4)DispatcherServlet通過HandlerAdapter處理器適配器調用處理器

(5)執行處理器(Controller,也叫後端控制器)

(6)Controller執行完後返回ModelAndView

(7)HandlerAdapter將Controller執行結果ModelAndView返回給DispatcherServlet

(8)DispatcherServlet將ModelAndView傳給ViewResolver視圖解析器

(9)ViewResolver解析後返回具體View

(10)DispatcherServlet對View進行渲染視圖(即將模型數據填充至視圖中)

(11)DispatcherServlet響應用戶

3.2組件說明

(1)前端控制器DispatcherServlet(不需要程序員開發)

   作用:接收請求、響應結果,相當於轉發器,中央處理器。

   有了DispatcherServlet可以減少其它組件之間的耦合度。

(2)處理器映射器HandlerMapping(不需要程序員開發)

   作用:根據請求的url查找Handler

(3)處理器適配器HandlerAdapter

   作用:按照特定規則(HandlerAdapter要求的規則)去執行Handler

(4)處理器Handler(需要程序員開發)

   註意:編寫Handler時按照HandlerAdapter的要求去做,註意適配器才可以去正確執行Handler。

(5)視圖解析器Viewresolver(不需要程序員開發)

    作用:進行誰解析,根據邏輯視圖名解析成真正的視圖(View)

(6)視圖View(需要程序員開發jsp)

   View是一個接口,實現類支持不同的View類型(jsp、freemarker、pdf....)

如果此文對您有幫助,微信打賞我一下吧~

技術分享

Spring+SpringMVC+MyBatis深入學習及搭建(十一)——SpringMVC架構