Spring學習總結(2.1)― Spring MVC
來源:程序員人生 發布時間:2015-05-27 07:58:45 閱讀次數:2734次
簡介
Spring MVC是MVC模式在UI中的使用,固然Spring MVC只是其中的1種。這個模式的特點是:分離了模型、視圖、控制器3種角色。將業務處理從UI設計中獨立出來,分裝到模型和控制器設計中去,使得他們相互之間解耦。這樣的話,它們就能夠獨立擴大。
流程
- 客戶端要求提交到DispatcherServlet
- 由DispatcherServlet控制器查詢1個或多個HandlerMapping,找到處理要求的Controller
- DispatcherServlet將要求提交到Controller
- Controller調用業務邏輯處理后,返回ModelAndView
- DispatcherServlet查詢1個或多個ViewResoler視圖解析器,找到ModelAndView指定的視圖
- 視圖負責將結果顯示到客戶端
WEB與Spring MVC的關系
Spring MVC也是Spring框架的1部份,所以Spring MVC也要基于IOC容器來使用。而Spring IOC容器是1個獨立的模塊,它其實不能直接的在web容器里使用。所以需要設計1個啟動和初始化IOC容器的進程。看以下配置文件:
<span style="font-family:FangSong_GB2312;font-size:18px;">
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-mvc.xml,classpath:config/applicationContext-common.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet></span>
這兩個配置項listener配置了1個監聽器,作用是監聽WEB容器的啟動,然后觸發Spring IOC加載到WEB 容器中來。Servlet配置項配置的是Spring MVC的主分發器。其中參數指定了配置的bean的xml文件路徑。這里的listener和DispatcherServlet為WEB Context訪問Spring MVC提供了入口。
上下文在WEB容器中的啟動
其實,在WEB中啟動Spring MVC就是創建上下文關系。首先DispatcherServlet攔截的Http要求時需要Spring MVC為其提供相應的處理類。所有的配置好的需要Spring MVC管理的類就構成了1個系統的上下文關系。也就是說,所謂的上下文可以簡單的理解為Bean的集合吧。
上圖為上下午關系的創建進程,根上下文是由WEB Context創建的,余下的子上下文關系都是由ContextLoader來創建的。這樣Spring MVC在WEB Context中就搭建起來了。
總結:這篇博客講了Spring MVC的基本流程和它與WEB 之間的關系。這些知識內容有助于對使用Spring MVC的理解。同時也是為了更好的使用吧。下篇再見!
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈