1.1 什么是struts2?
MVC思想給網站設計帶來了巨大的好處,但是MVC畢竟只是一種思想,不同的程序員寫出來的基於MVC思想的應用,風格可能不一樣。影響程序的標准化,Struts是為了規范MVC開發而發布的一個框架,類似的框架還有WebWork、SpringMVC等。
Struts 2是Struts的下一代產品,是在 struts 1和WebWork的技術基礎上進行了合並的全新的Struts 2框架。其全新的Struts 2的體系結構與Struts 1的體系結構差別巨大。Struts 2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與Servlet API完全脫離開,所以Struts 2可以理解為WebWork的更新產品。雖然從Struts 1到Struts 2有着太大的變化,但是相對於WebWork,Struts 2的變化很小。

一個請求在Struts2框架中的處理大概分為以下幾個步驟
1 客戶端初始化一個指向Servlet容器(例如Tomcat)的請求
2 這個請求經過一系列的過濾器(Filter)(這些過濾器中有一個叫做ActionContextCleanUp的可選過濾器,這個過濾器對於Struts2和其他框架的集成很有幫助,例如:SiteMesh Plugin)
3 接着FilterDispatcher被調用,FilterDispatcher詢問ActionMapper來決定這個請是否需要調用某個Action
4 如果ActionMapper決定需要調用某個Action,FilterDispatcher把請求的處理交給ActionProxy
5 ActionProxy通過Configuration Manager詢問框架的配置文件,找到需要調用的Action類
6 ActionProxy創建一個ActionInvocation的實例。
7 ActionInvocation實例使用命名模式來調用,在調用Action的過程前后,涉及到相關攔截器(Intercepter)的調用。
8 一 旦Action執行完畢,ActionInvocation負責根據struts.xml中的配置找到對應的返回結果。返回結果通常是(但不總是,也 可 能是另外的一個Action鏈)一個需要被表示的JSP或者FreeMarker的模版。在表示的過程中可以使用Struts2 框架中繼承的標簽。 在這個過程中需要涉及到ActionMapper 在上述過程中所有的對象(Action,Results,Interceptors,等)都是通過ObjectFactory來創建的。
1.2 struts2介紹
1.3 參考文檔:
2.1 什么是spring?
(1)Spring 是一個開源框架,框架的主要優勢之一就是其分層架構,Spring 框架是一個分層架構,由 7 個定義良好的模塊組成。
(2)Spring 中目前最引人注目的,也就是名為控制反轉(IOC =Inverse Of Control)或者依賴注入 (DI =Dependence Injection)的設計思想,將對象生成的控制權由修改不方便的源代碼轉變成修改相對方便的配置文件與幾乎不進行修 改的框架進行。
(3)Spring是一種協調對象間互相調用的解決方案,可以讓對象之間的調用解除緊耦合,大大方便了編程,提高程序的可伸縮性。

2.2 介紹:
Spring 系列: Spring 框架簡介(IBM Develop Works)
2.3 參考文檔:
3.1 什么是 iBatis?
(1)iBatis 是支持普通SQL 查詢,存儲過程和高級映射的優秀持久層框架。
(2)iBatis 消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。
(3)iBatis 使用簡單的 XML 或注解用於配置和原始映射,iBATIS 通過 SQL Map 將 Java 對象映射成數據庫中的記錄 和 將結果集再轉化成 Java 對象,
3.2 介紹:
深入分析 iBATIS 框架之系統架構與映射原理 (IBM Develop Works 許令波)
3.3 參考文檔:
