方志斌
(東華理工大學 信息工程學院,江西 撫州 344000)
博客管理系統是為了方便博主BLOG信息的瀏覽以及用戶對博主的BLOG信息進行評論而開發。因此,需要滿足兩方面的需求,這兩方面分別為管理員和訪問者。對于訪問者而言,此軟件主要用于用戶能夠及時查詢到博主的最新博客,對博客的內容進行評論,跟博主留言;對于管理員而言,可以發表一些個人的文章或者生活照片等也可以上傳視頻,音樂等與他人共享,通過BLOG和好友進行交流。主要包括:記錄所見新聞,一時心情和日常信息,記錄在學習過程中遇到的問題和解決方案,分享自己的生活經歷,上傳自己喜歡的圖片,視頻,音樂等。
在以往項目開發中一般采用JSP+Servlet+JavaBean的方式。在這種傳統開發方式中,雖然相對于Model1已經有了很大的改進,但是開發人員需要手動實現MVC模式,在考慮業務邏輯的同時還必須考慮如何進行系統架構。這樣既影響了開發效率,也不利于系統的維護。為了提高開發的效率,并且進一步改進系統框架的安全性、穩定性以及健壯性,本系統采用基于MVC 模式的Spring、Struts2、Hibernate框架的分層架構設計。
Spring是一個非常活躍的開源框架,它是一個基于IOC和AOP來構架多層J2EE系統的框架。在本人的這個設計中基本上只體現了其中的一部分也就是IOC依賴注入,所謂的依賴注入就是Spring通過一種稱作控制反轉(IOC)的技術促進了松耦合。當應用了IOC,一個對象依賴的其它對象會通過被動的方式傳遞進來,而不是這個對象自己創建或者查找依賴對象。
Struts框架作為經典的MVC設計模式的一種具體實現,即模型——視圖——控制器模式的一種實現,提供了對開發MVC系統的底層支持。全新的Struts2的體系結構與Struts1的體系結構的差別巨大。Struts2以WebWork為核心,采用攔截器的機制來處理用戶的請求,這樣的設計也使得業務邏輯控制器能夠與ServletAPI完全脫離開,所以Struts2可以理解為WebWork的更新產品。
Hibernate定義為一個對象/關系數據庫映射工具(ORM),它作為開源的持久層框架已經為眾多的軟件開發項目所采用,對JDBC進行了輕量級的對象封裝,使程序員可以使用對象編程思想來操作數據庫。在本系統中,Hibernate通過配置文件(hibernate.cfg.xml)和映射文件(***.hbm.xml)把持久化對象(POJO)映射到數據庫中的數據表,然后通過操作POJO對數據表中的數據進行增刪改查等操作。
本系統旨在開發一個界面友好,使用簡單,能提供對文章信息、照片信息以及留言板情況的瀏覽、編輯、查詢等全面的數據管理功能,同時使用戶能方便的對博主信的信息進行評論的綜合性博客管理系統。此外系統還具有一定的安全性和可維護性。因此,本博客系統實現的功能主要有以下:注冊功能、登陸功能、發表文章、評論、相冊、留言板等系統的功能模塊如圖1 所示。
在本系統中,可以把功能模塊分為4個功能集合來描述:
(1)登陸模塊。系統在啟動時會調用登陸界面,它用于何時用戶的合法性。用戶類型分為管理員和普通用戶兩種,管理員可以進行用戶信息管理和權限的控制,而普通用戶只能對博文進行評論以及給博主留言。
(2)注冊模塊。注冊模塊使得用戶能夠在網站上注冊自己的信息,以便在以后的訪問中可以直接登錄,網站也可以通過注冊模塊保存用戶信息,讓用戶能夠在網站上隨時查閱自己的信息和聚合內容。因此,注冊模塊在網站開發中是一個必不可少的模塊。
(3)文章管理模塊。該模塊是整個系統的最重要的模塊,是用戶登陸博客后主要寫作的地方。針對不同的用戶文章管理模塊授予用戶的權限不同。對應管理員來說,可以對文件進行增刪改查操作;對于普通的用戶來說,只可以進行查看文章。在實現該模塊的添加文章的子功能時,采用CKEditor,對于用戶在文章添加表情、圖片等提供了方便。
(4)評論模塊。在該模塊中針對發表的文章,登陸用戶可以對文章進行評論。

圖1 基于S2SH的博客管理系統功能模塊示意圖
(1)Struts2的校驗框架。為了保證系統中注冊用戶信息的完整性及安全性,該博客的注冊模塊采用了Struts2的校驗框架進行驗證,要求用戶必須輸入密碼保護問題和密碼保護答案。struts2校驗代碼如下:


本文介紹了使用SSH框架來設計和實現博客管理系統。系統技術上主要具有以下特點:①采用J2ee技術開發,具備了良好的可擴展性和可維護性;②架構靈活:采用了Struts框架,實現了MVC的三層結構,整體系統結構清晰,擴展性良好;③采用Spring框架管理業務邏輯組件,使得代碼更易于測試;④采用DAO等設計模式,模塊之間為松散耦合,可靈活增加
[1]陳家瑞,葉少珍.基于Struts架構的電子商場系統設計與實現[J].福州大學學報(自然科學版),2005,(6).
[2]孫衛琴.精通Hibernate:Java對象持久化技術詳解[M].北京:北京電子工業出版社,2005.
[3]艾曉燕,藺跟榮,徐東升.基于Struts框架的科技管理系統的設計與實現[J].電子設計工程,2009,17(10).
[4]Buiti Kumiawan.深入淺出Struts[M].北京:人民郵電出版社,2007
[5]劉中兵.Java高手真經應用框架卷[M].北京:電子工業出版社,2008.
[6]羅時飛.精通Spring——深入Java EE開發核心技術[M].北京:電子工業出版社,2008.