struts2學習筆記系列(一)

snake_hand發表於2013-03-30

很久沒有寫東西了,最近開始轉Java,學習ssh2框架從今天開始將自己學習ssh2框架的東西記錄下來。

什麼是SSH2框架。好處在哪裡?

SSH2框架:
SSH2的主要內容包括:Struts2、Hibernate、Spring

典型的J2EE三層結構,分為表現層、中間層(業務邏輯層)和資料服務層。三層體系將業務規則、資料訪問及合法性校驗等工作放在中間層處理。客戶端不直接與資料庫互動,而是通過元件與中間層建立連線,再由中間層與資料庫互動。

表現層是傳統的JSP技術,自1999年問世以來,經過多年的發展,其廣泛的應用和穩定的表現,為其作為表現層技術打下了堅實的基礎。

中間層採用的是流行的Spring+Hibernate,為了將控制層與業務邏輯層分離,又細分為以下幾種。

Web層,就是MVC模式裡面的“C”(controller),負責控制業務邏輯層與表現層的互動,呼叫業務邏輯層,並將業務資料返回給表現層作組織表現,該系統的MVC框架採用Struts。

Service層(就是業務邏輯層),負責實現業務邏輯。業務邏輯層以DAO層為基礎,通過對DAO元件的正面模式包裝,完成系統所要求的業務邏輯。

DAO層,負責與持久化物件互動。該層封裝了資料的增、刪、查、改的操作。

PO,持久化物件。通過實體關係對映工具將關係型資料庫的資料對映成物件,很方便地實現以物件導向方式運算元據庫,該系統採用Hibernate作為ORM框架。

Spring的作用貫穿了整個中間層,將Web層、Service層、DAO層及PO無縫整合,其資料服務層用來存放資料。

採用Hibernate作為持久層技術的最大的好處在於:可以完全以物件導向的方式進行系統分析、系統設計。

DAO模式需要為每個DAO元件編寫DAO介面,同時至少提供一個實現類,根據不同需要,可能有多個實現類。用Spring容器代替DAO工廠

通常情況下,引入介面就不可避免需要引入工廠來負責DAO元件的生成。Spring實現了兩種基本模式:單態模式和工廠模式。而使用Spring可以完全避免使用工廠模式,因為Spring就是個功能非常強大的工廠。因此,完全可以讓Spring充當DAO工廠。

由Spring充當DAO工廠時,無須程式設計師自己實現工廠模式,只需要將DAO元件配置在Spring容器中,由ApplicationContext負責管理DAO元件的建立即可。藉助於Spring提供的依賴注入,其他元件甚至不用訪問工廠,一樣可以直接使用DAO例項。


優點:
Struts跟Tomcat、Turbine等諸多Apache專案一樣,是開源軟體,這是它的一大優點。使開發者能更深入的瞭解其內部實現機制。
除此之外,Struts的優點主要集中體現在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發效率。另外,就目前國內的JSP開發者而言,除了使用JSP自帶的常用標記外,很少開發自己的標記,或許Struts是一個很好的起點。
關於頁面導航,我認為那將是今後的一個發展方向,事實上,這樣做,使系統的脈絡更加清晰。通過一個配置檔案,即可把握整個系統各部分之間的聯絡,這對於後期的維護有著莫大的好處。尤其是當另一批開發者接手這個專案時,這種優勢體現得更加明顯。

      以上的這些內容是通過閱讀書籍以及在網上查詢資料的一些東西,但是具體的內容並不是特別理解,一些框架性質的東西還是從.NET的角度去理解的。從下篇部落格開始記錄例子,請各位大俠指正(例子都是比較粗淺的,旨在說明問題)。。。。

相關文章