裴云 馬亮 邢益良 陳敏
摘要:門戶網(wǎng)站群是政府部門、高等院校、企業(yè)展示信息的一個非常重要的平臺,不少單位的網(wǎng)站數(shù)量從開始的一兩個發(fā)展到現(xiàn)在的幾十個。現(xiàn)今傳統(tǒng)的網(wǎng)站系統(tǒng)存在著重復建站、架構(gòu)混亂、信息冗余等種種弊端,結(jié)合SSH框架技術,分析、設計和實現(xiàn)一個網(wǎng)站群管理系統(tǒng),可實現(xiàn)統(tǒng)一規(guī)劃、統(tǒng)一管理、統(tǒng)一風格和信息共享。
關鍵詞:SSH;MVC;網(wǎng)站群;內(nèi)容管理;設計模式
中圖分類號:TP315 文獻標識碼:A 文章編號:1009-3044(2015)11-0247-03
Design and Implementation of SSH-based Website Group Management Platform
PEI Yun, MA Liang, XING Yi-liang, CHEN Min
(Hainan College of Software Technology Software, Qionghai 571400m, China)
Abstract: Portal website group is a very important platform on which government sectors, higher education institutions and enterprises display information. The number of many units websites has increased from one or two in the beginning to dozens today. Nowadays, the traditional website system has such shortcomings as construction repetition, architecture chaos and information redundancy. A website group management system is analyzed, designed and implemented based on SSH framework technologies. It can be used to achieve unified planning, unified management, unified style and information sharing.
Keywords: SSH;MVC;website-group;content managent; designmode
網(wǎng)站是信息發(fā)布、產(chǎn)品推廣、宣傳的重要平臺,隨著互聯(lián)網(wǎng)的深入應用,網(wǎng)站建設成為政府部門、企事業(yè)單位不可缺少的基礎性建設之一。以企業(yè)網(wǎng)站為例,不僅包括總公司的網(wǎng)站、還包括下述各個分公司、部門的網(wǎng)站,這些眾多的網(wǎng)站形成了網(wǎng)站群。目前的網(wǎng)站群存在混亂、難管理、數(shù)據(jù)冗余、不安全等問題。如果網(wǎng)站群沒有統(tǒng)一的規(guī)劃、會產(chǎn)生大量的冗余數(shù)據(jù),造成空間的浪費;沒有統(tǒng)一的管理和信息共享,會給網(wǎng)站的運營和維護帶來很大的困難和成本,安全保障難度大;沒有統(tǒng)一的風格,會給用戶在使用上造成麻煩。
基于SSH框架技術設計與實現(xiàn)一個有效組織和管理的網(wǎng)站群管理系統(tǒng),使單位中的各個網(wǎng)站形成一個整體,通過門戶網(wǎng)站統(tǒng)一的管理,解決了信息共享和安全性的問題;對站點進行統(tǒng)一規(guī)劃和管理,解決了管理難的問題;各站點的數(shù)據(jù)共享、交互、提高了信息的利益率,從而降低了維護和管理的成本。
1 SSH框架技術
SSH 為Struts+Spring+Hibernate的一個集成框架,是目前使用較為廣泛的一種Web應用程序開源框架。它由表示層、業(yè)務邏輯層、數(shù)據(jù)持久層和模型層構(gòu)成的四層體系結(jié)構(gòu)組成。表示層又分為客戶端表示層和服務器端表示層[1]。
Struts2是實現(xiàn)MVC(Model-View-Controller)設計模式的第二代Web應用程序框架。它建立在Model2設計模式之上[2]。Struts2應用于服務器端表示層上,負責MVC的分離,控制業(yè)務跳轉(zhuǎn),管理請求響應,表單驗證等。
Spring是一個輕量級框架,使得企業(yè)應用的開發(fā)技術更加易用,推進編碼最佳實現(xiàn),是當前主流Web MVC框架[3]。Spring的主要思想是基于依賴注入的核心機制和基于AOP的聲明式事務管理,負責管理Struts2和Hibernate,以實現(xiàn)多種持久層技術的整合。Spring工作于業(yè)務邏輯層,為服務器端表示層和數(shù)據(jù)持久層與業(yè)務邏輯層之間提供了極好的松散耦合解決方案,協(xié)調(diào)各種邏輯對象之間的關系,實現(xiàn)數(shù)據(jù)持久層的業(yè)務邏輯,實現(xiàn)企業(yè)級應用。
Hibernate是一個開放源代碼的對象關系映射框架,它的主要思想是關系對象映射ORM(object relation mapping),使得程序員可以使用對象編程思維來操縱數(shù)據(jù)庫[4]。 Hibernate工作于數(shù)據(jù)持久層,在Java的客戶端程序或Servlet/JSP的Web應用中使用,主要負責數(shù)據(jù)的據(jù)持久化、對數(shù)據(jù)的查詢、持久化對象PO的獲取,對PO的增、刪、改的操作。
2 網(wǎng)站群平臺需求分析
2.1 功能需求
網(wǎng)站群是一個網(wǎng)站集合,一般由門戶主站、下屬子站構(gòu)成,圖1為網(wǎng)站群架構(gòu)模型:
圖1 網(wǎng)站群平臺功能結(jié)構(gòu)圖
隨著互聯(lián)網(wǎng)的發(fā)展,傳統(tǒng)的網(wǎng)站設計和建設方式已經(jīng)不能滿足需求,網(wǎng)站群管理系統(tǒng)要要解決站點內(nèi)容管理:
2.1.1網(wǎng)站群管理
站點管理:可以添加、修改和刪除站點;
站點屬性管理:設置站點屬性,是否允許評論、檢索詞、郵件等信息;
域名管理:集中管理站群的域名,使域名有統(tǒng)一性和規(guī)范性;
統(tǒng)計分析管理:站群數(shù)據(jù)統(tǒng)計分析數(shù)據(jù)管理。
用戶管理:管理網(wǎng)站群內(nèi)用戶。
2.1.2站點管理
文章管理:添加、刪除、修改、查找、審核、統(tǒng)計、分析文章等;
文章類別管理:文章類別添加、修改、刪除、權限分配等;
內(nèi)容管理:添加自定義的內(nèi)容模型;
內(nèi)容模型管理:添加、刪除、修改內(nèi)容模型信息;
布局管理:對站點整體布局進行管理;
用戶管理:添加、刪除、修改、統(tǒng)計用戶,管理子站內(nèi)用戶信息及用戶權限信息;
權限管理:用戶權限分配、角色分配等;
留言管理:管理用戶的留言;
評論管理:對用戶的評論進行管理;
站點菜單管理:管理站點菜單,設置菜單顯示內(nèi)容,對菜單內(nèi)容進行添加、修改、刪除操作;
平臺日志管理:對管理員用戶日志信息進行管理;
2.2 網(wǎng)站群平臺用例
經(jīng)過分析,用戶群分為:
1)網(wǎng)站群管理員,負責對整個網(wǎng)站群系統(tǒng)進行管理,其權限最高。
2)站點管理員,負責管理自己權限站點內(nèi)容,包括管理站點的內(nèi)容、欄目、用戶、模板等內(nèi)容,其權限在其負責的站點范圍內(nèi)。
3)內(nèi)容管理員,負責各站點下的某欄目的內(nèi)容管理,可管理權限內(nèi)的欄目內(nèi)容。
4)用戶可瀏覽、檢索、下載網(wǎng)站內(nèi)容,可以留言、發(fā)表自己的觀點等。
網(wǎng)站群平臺的用例如圖2所示:
圖2 網(wǎng)站群平臺用例圖
3 詳細設計與實現(xiàn)
3.1設計目標
1)應用統(tǒng)一的技術規(guī)劃和建設網(wǎng)站群,平臺設計采用的技術與設備符合國際標準和業(yè)界標準,平臺結(jié)構(gòu)、配置采用成熟、實用的技術、為平臺的擴展、互聯(lián)提供良好的基礎條件。
2)網(wǎng)站群管理統(tǒng)一,管理員可根據(jù)自己的權限,對網(wǎng)站群及站點進行管理、管理后臺統(tǒng)一,操作方便。
3)網(wǎng)站群界面風格設計統(tǒng)一、美觀、規(guī)范,用戶體驗好、操作方便,符合管理人員的操作習慣。
4)安全、可靠、實用。平臺能提供網(wǎng)絡層的安全措施防止網(wǎng)絡上非法入侵及操作人的非法操作,保護平臺的安全性。平臺應能大幅度降低故障率,出現(xiàn)故障,具備快速修復的能力。在設計時,應充分考慮到需求規(guī)模,能很好的進行擴展。
3.2 關鍵模塊設計與實現(xiàn)
3.2.1數(shù)據(jù)持久化層類的設計
站點內(nèi)容類(Content.java),表示站點內(nèi)容信息,包含的屬性有站點內(nèi)容編號(id)、站點內(nèi)容標題(title)、站點內(nèi)容內(nèi)容(content)、發(fā)布時間(releaseDate)、用戶ID(userID)站點內(nèi)容類別ID(ContentTypeID)。類圖如圖3所示。
3.2.2配置數(shù)據(jù)源
在applicationContext.xml中配置數(shù)據(jù)源信息如下所示:
class="org.apache.commons.dbcp.BasicDataSource"> <!--配置MySQL數(shù)據(jù)庫驅(qū)動--> <!--配置數(shù)據(jù)庫URL--> <!--配置用戶名--> <!--配置密碼-->
3.2.3配置事物管理
聲明式事務管理可以避免在大量的方法中重復編寫大量事務處理的代碼,事務的AOP配置如下:
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
3.2.4使用Spring中IOC管理DAO組件
Spring通過setter方法注入依賴關系,這樣可以實現(xiàn)各組件之間的引用和指定各組件之間的依賴關系,ContentDAO的配置信息如下所示:
3.2.5 Service層類的設計
ContentService類(ContentService.java),主要實現(xiàn)站點內(nèi)容的增、刪、改、查,類圖如圖4所示。
3.2.6 Dao層類的設計
ContentDao類(ContentDao.java),主要實現(xiàn)站點內(nèi)容的增、刪、改、查,類圖如圖5所示。
圖3 Content類圖 圖4 ContentService類圖
3.2.7 Action控制層類設計
ContentAction類(ContentAction.java),主要實現(xiàn)對站點內(nèi)容的管理,包含的屬性有站點內(nèi)容編號(ContentID)、站點內(nèi)容標題(ttitle)、站點內(nèi)容(content)、發(fā)布時間(releaseDate)、發(fā)布用戶ID(userID)、站點內(nèi)容類別ID(ContentTypeID)、頁面大?。╬ageSize)、當前頁(pageNow)、總記錄(totalCount),類圖如圖6所示。
圖5 ContentDao類圖 圖6 ContentAction類圖
4 結(jié)束語
基于SSH框架設計開發(fā)的網(wǎng)站群管理平臺采用統(tǒng)一管理、統(tǒng)一維護信息管理系統(tǒng)建設網(wǎng)站群的模式,具有較好的推廣價值,有效解決了網(wǎng)站群混亂、難管理、數(shù)據(jù)冗余、不安全等問題,統(tǒng)一數(shù)據(jù)庫的方式可以為政府、企事業(yè)單位提供方便、可靠和安全的平臺建設、管理模式。
參考文獻:
[1] 葛世海. 基于 J2EE 的站群管理平臺的設計與實現(xiàn)[D]. 成都: 電子科技大學, 2010.
[2] 岳昆, 王曉玲, 周傲英. Web 服務核心支撐技術:研究綜述[J]. 軟件學報, 2004, 15(3): 428-442.
[3] 裴云. 基于JavaEE的項目教學平臺的設計與實現(xiàn)[D]. 成都: 電子科技大學, 2012.
[4] 程杰. 大話設計模式[M]. 北京: 清華大學出版社, 2007.
[5] 裴云, 陳敏. 基于WebServices項目教學交互平臺的設計與研究[J]. 電腦知識與技術, 2011(33): 8214-8220.