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

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


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