簡析springmvc 工作原理
- 啓動服務器,根據web.xml的配置加載前端控制器(也稱總控制器) DispatcherServlet 。在加載時會完成一系列的初始化動作。2
- 根據servlet的映射請求(上面的HelloWorld實例中針對.do 請求),並參照“控制器配置文件”(即springMVC-servlet.xml 這樣的配置文件),把具體的請求分發給特定的後端控制器進行處理(比如上例會分發給HelloWorld 控制器進行處理)
4.前端控制器根據後端控制器返回的ModelAndView 對象,前端控器器根據視圖對象返回具體頁面給客戶端。
SpringMVC框架的核心是DispatcherServlet,它的作用是將請求分發給不同的後端處理器。Spring的Controller層使用了後端控制器來映射處理器和視圖解析器來共同完成Controller層的主要工作。並且spring的Controller層還真正地把業務層處理的數據結果和相應的視圖封裝成一個對象,即我們後面會經常用到的ModelAndView
對象。
2.spring:http://blog.csdn.net/jiuqiyuliang/article/category/4442021
-----C容器是怎麼完成初始化的以及對象創建的。Spring只需要四步:
IoC的核心-BeanFactory
1、定位
我們知道對象和對象關係可以用xml,properties文件等語義化配置文件表示,我們要怎樣定位這些文件呢?Spring爲我們設置了資源加載器和資源定位的方法,可能是classpath(類路徑),filesystem(文件系統),或者URL網絡資源,或者web容器(servletContext)等。
2、載入
我們定位到資源文件之後 ,需要將這些資源文件載入,在創建IoC容器前,如果已經有容器存在,則需要把已有的容器銷燬和關閉,以保證使用的是新建立起來的IoC容器。
3、解析
有了配置文件,還需要對配置文件進行解析。不同的配置文件對對象的描述不一樣,自定義聲明式的,都必須轉化成統一的描述定義。
4、註冊
向IoC容器註冊解析後的BeanDefinition,此時我們IoC容器初始化完成。
OOD/OOP面向名詞領域,AOP面向動詞領域。
AOP配置
Spring AOP配置有兩種風格:
XML風格 = 採用聲明形式實現Spring AOP
AspectJ風格 = 採用註解形式實現Spring AOP
3. struts2:http://blog.csdn.net/jiuqiyuliang/article/details/38761727
ActionServlet,前端控制器
1、根據相應的規則截取Http請求的URL
2、將Http請求分發到相應的Action處理
ActionForm,相當於實體
1、收集表單數據,將表單數據轉換成相應的數據類型
Action,業務層控制器
1、 取得表單數據
2、調用業務邏輯
3、返回轉向信息
Struts流程:
2)根據web.xml配置,該請求被ActionServlet接收。
3)根據struts-config.xml配置,ActionServlet先將請求中的參數填充到ActionForm中,然後ActionServlet再將請求發送到Action 進行處理。
4)是否驗證,需要驗證則調用ActionForm的validate方法,驗證失敗則跳轉到input,成功則繼續。
5)Action從ActionForm獲得數據,調用javabean(Model)中的業務方法處理數據。
6)Action返回ActionForward對象,跳轉到相應JSP頁面或Action。
7)返回http響應到客戶端。