我要作的是一個B/S資源共享系統,我選擇SSH框架。
在這個系統中,面向接口編程,因此表現層是一切操做的接口,不會涉及到業務邏輯的實現,這樣下降了耦合度,有利於系統的修改和維護,可視化接口操做方便了用戶的使用。而中間層包括了全部的業務規則、數據訪問及合法性校驗等工做,客戶端不直接與數據庫交互,而是經過組件與中間層創建鏈接,再由中間層與數據庫交互。業務邏輯層就是根據流程將數據進行處理並傳輸到其應該的地方。
在個人系統中,主要分爲如下幾個流程:
註冊;登錄--》瀏覽--》下載--》評價;登錄--》上傳;打開瀏覽器--》輸入網址--》瀏覽資源--》查詢資源--》查看內容。
而SSH有許多的優勢:
(1)開發的效率高,SSH框架的體現了MVC的思想,可使複雜系統的開發變得比較簡單,節約開發的時間,下降了開發的成本。
(2)SSH具備很是好的擴展性,對於後期的修改、測試具備很是好的適應性。有組件的模塊化,靈活性和重用性的優勢。
(3)struts代替了servlet,將servlet繼承在一個struts中,很是簡單靈活,經過配置文件就能夠管理數據的傳遞和頁面的跳轉。
(4)spring能夠的Ioc思想能夠將對數據庫的操做封裝,能有效地組織中間層對象,提升了代碼的可重用性,後期代碼維護方便。
(5)Hibernate具備面向對象的優勢,提供了緩存機制,而且兼容jdbc,是數據庫的操做變得很是簡易。
SSH框架做爲典型的J2EE三層結構,分爲表現層、中間層(業務邏輯層)和數據服務層。三層體系將業務規則、數據訪問及合法性校驗等工做放在中間層處理。表現層是傳統的JSP技術,自1999年問世以來,通過多年的發展,其普遍的應用和穩定的表現,爲其做爲表現層技術打下了堅實的基礎。中間層採用的是流行的Spring+Hibernate,爲了將控制層與業務邏輯層分離,又細分爲如下幾種。Web層,就是MVC模式裏面的「C」(controller),負責控制業務邏輯層與表現層的交互,調用業務邏輯層,並將業務數據返回給表現層做組織表現,該系統的MVC框架採用Struts。Service層(就是業務邏輯層),負責實現業務邏輯。業務邏輯層以DAO層爲基礎,經過對DAO組件的正面模式包裝,完成系統所要求的業務邏輯。