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....)
轉自http://www.cnblogs.com/Joanna-Yan/p/6985816.html
文章列表