基于 MVC 模式的校園 BBS 系統(tǒng)的設(shè)計與實現(xiàn)
《基于 MVC 模式的校園 BBS 系統(tǒng)的設(shè)計與實現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《基于 MVC 模式的校園 BBS 系統(tǒng)的設(shè)計與實現(xiàn)(8頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、精品論文 基于 MVC 模式的校園 BBS 系統(tǒng)的設(shè)計與實現(xiàn) 湯磊 河海大學(xué)商學(xué)院,江蘇南京(210098) E-mail:angletang559@ 摘 要::近些年來,隨著校園網(wǎng)建設(shè)的發(fā)展,大學(xué)校園網(wǎng) BBS 也越來越旺.本文對校園 BBS 系統(tǒng)需求、功能模塊與數(shù)據(jù)庫設(shè)計、界面設(shè)計等方面進行了詳盡的分析,構(gòu)建了一個完整的 BBS 系統(tǒng)結(jié)構(gòu),并對實現(xiàn)系統(tǒng)的關(guān)鍵技術(shù)進行了介紹,并在 MVC 設(shè)計模式下實現(xiàn)了整個系 統(tǒng)。本系統(tǒng)成功地與校園網(wǎng)連接,對師生交流起到了良好的推動作用。 關(guān)鍵字:BBS;MVC;系統(tǒng)分析;系統(tǒng)設(shè)計 中圖分類號:TP393.18 1. 引言
2、 BBS 是 Bulletin Board System 的簡稱,意即電子公告牌。BBS 是 Internet 上最知名的服 務(wù)之一,提供了 Internet 上信息交流的強有力手段,是具有強大實時交互功能的信息交流平 臺。通過 BBS,用戶可以在 BBS 某個討論區(qū)上提出問題,發(fā)表自己的見解,也可回復(fù)他人 的問題,還可以針對某個話題和他人展開討論等等。校園 BBS 作為學(xué)校師生相互交流的信 息平臺,近年來原來越火,在 BBS 上,各位站友能及時了解校內(nèi)外的信息發(fā)布,進行教學(xué) 和科學(xué)研究問題的探索、討論,藝術(shù)文化體育的欣賞、進行網(wǎng)友間的交流等等。將 BBS 融 入教學(xué)活動中,將有利于培養(yǎng)學(xué)習(xí)者
3、的創(chuàng)新能力與團體合作精神,促進信息化教育發(fā)展。 2. BBS 系統(tǒng)的功能需求分析 一個典型的網(wǎng)上論壇 BBS 系統(tǒng)一般都應(yīng)提供諸如會員管理、論壇分類主題管理、論壇 文章管理、論壇公告管理等功能[1],同時也應(yīng)該為論壇管理的人員,例如:版主、網(wǎng)頁維護 人員提供對應(yīng)后臺管理的功能,包括刪除一些文章、發(fā)布論壇公告等。本 BBS 系統(tǒng)從功能 上分為以下八個主要模塊: (1)師生管理系統(tǒng):該 BBS 系統(tǒng)是實名制,所以需要有師生的真實信息才能注冊成功。 河海大學(xué)每年都有新生入學(xué),老生畢業(yè),老師調(diào)職等人事變動,開發(fā)該管理系統(tǒng)是為了方便 地管理會員的信息,為實名注冊服務(wù)。 (2)會員管理系統(tǒng)
4、:本 BBS 只有本學(xué)校的師生,才能注冊,注冊采取實名制。本 BBS 系統(tǒng)管理員對注冊用戶有刪除,屏蔽的功能。 (3)新聞管理系統(tǒng):本 BBS 從本質(zhì)上講都是新聞管理系統(tǒng),用戶注冊后發(fā)布帖子,回 復(fù)帖子都為新聞。本站管理員可以對會員發(fā)布的新聞進行刪除操作,屏蔽等操作。 (4)計數(shù)系統(tǒng):統(tǒng)計網(wǎng)站的流量,包括在線人數(shù),日訪問量,月訪問量,總訪問量。 (5)日志系統(tǒng):為了確保系統(tǒng)的安全,以及事后可以查明問題發(fā)生在什么地方,凡是 對數(shù)據(jù)庫做操作的地方,都要記錄到日志表中。 (6)權(quán)限管理:對注冊用戶的權(quán)限進行管理,根據(jù)用戶發(fā)布的帖子數(shù)量,確定其能夠 對本 BBS 享有的特殊權(quán)力。 (7)論
5、壇設(shè)置管理:對論壇的風(fēng)格,論壇數(shù)據(jù)備份和還原,臟話過濾進行管理。 (8)網(wǎng)站的安全處理:對用戶的信息保密,以及對網(wǎng)站的信息安全進行特殊的處理。 - 8 - 3. BBS 系統(tǒng)的設(shè)計 3.1 總體設(shè)計 此 BBS 系統(tǒng)由三部分組成,按照瀏覽用戶的權(quán)限劃分,可分為四部分。 (1)匿名用戶訪問的頁面:供未注冊的用戶瀏覽,這類用戶沒有發(fā)帖和回復(fù)帖子的權(quán) 限,只有瀏覽的權(quán)限。 (2)注冊用戶訪問的頁面:這類用戶訪問的頁面和匿名用戶訪問的頁面是相同的,只 是他們多了發(fā)帖和回復(fù)帖子的權(quán)限。 (3)各版主訪問的頁面:這類用戶可以對普通用戶發(fā)布的帖子進行管理,他們登陸后 的頁面與
6、以上兩類用戶訪問的頁面略有不同,顯示的信息是各版塊發(fā)布的帖子以及相關(guān)信 息,并具有刪除操作。 (4)BBS 超級管理員訪問的頁面:該類用戶訪問的頁面,包含了所有注冊用戶的信息, 以及他們發(fā)布的帖子,該用戶可以封鎖某些不法用戶,甚至刪除某些用戶的信息。對用戶發(fā) 布的帖子也可以進行管理。 根據(jù)用戶訪問的權(quán)限不同,建立不同用戶的活動關(guān)系圖,如前臺用戶的活動關(guān)系圖如 下圖 1 所示:
7、 圖 1 BBS 前臺用戶活動關(guān)系圖 3.2.主要模塊詳細(xì)設(shè)計 3.2.1. 師生管理系統(tǒng) 該系統(tǒng)為實名制服務(wù),顯示了全校師生的基本信息,以及 BBS 的使用情況。該子系 統(tǒng)的使用者是 BBS 的超級管理員。管理系統(tǒng)的首頁列出所有的信息,顯示全校師生的姓名, 性別,年齡,工號/學(xué)號,身份證號等常見信息。另外顯示,改注冊用戶發(fā)帖數(shù)量,已經(jīng)注冊 帳號的次數(shù)。所有師生信息分頁顯示,頂上有查詢功能,按照名字,學(xué)號,工號等信息查詢。 對于每年人員的變動,由于人數(shù)較多,采取直接讀取源數(shù)據(jù)文件智能添加的功能。如,從人 事處拿到數(shù)據(jù)文件,編程讀取改文件,自動存入數(shù)據(jù)庫。方便實現(xiàn)管理功能。
8、 處理的流程如下圖 2 所示: 圖 2 添加師生的流程圖 點擊相應(yīng)的鏈接進入師生管理系統(tǒng),列出所有成員的列表,點擊新增人員,彈出窗口 選擇數(shù)據(jù)文件所在,讀取文件,讀取成功后直接顯示在頁面中。如讀取失敗,提示失敗。 3.2.2.新聞管理系統(tǒng) 新聞管理主要由帖子管理系統(tǒng),本站公告管理,友情鏈接管理,版塊管理。 (1)帖子管理系統(tǒng):點擊某個鏈接進入某一個版塊,列出該版塊下的所有主題。點擊 主題顯示關(guān)于該主題的相關(guān)信息。點擊發(fā)布帖子可以發(fā)布新的帖子。在詳細(xì)頁面,有回復(fù)鏈 接,同樣有
9、發(fā)布新貼的鏈接,而且回復(fù)可以針對某個用戶回復(fù)。由于本站是高校 BBS,出 于安全性和文明性的考慮,發(fā)布帖子時,不提供文件或是圖片的無限上傳功能,但是可以引 用圖片或文件的地址,以達到同樣的效果。但是為了方便資源共享,還是提供上傳的功能, 但是只能上傳一個文件。而且大小和擴展名都有限制。帖子發(fā)布以后,用戶就不能再修改, 版主對不法帖子具有刪除功能。用戶可以對自己感興趣的帖子加入到收藏列表中,以方便自 己查詢,進入控制面板后顯示有新回復(fù)的帖子。收藏主題,看到的帖子可以收藏進來,省去 再次查找的時間。處理流程如下圖 3 所示:
10、 圖 3 帖子訪問流程圖 圖 4 權(quán)限處理流程圖 (2)本站公告:由系統(tǒng)超級管理員發(fā)布一些 BBS 的一些公告信息。它將顯示系統(tǒng)的主 界面供用戶查看。 (3)友情鏈接管理:添加一些鏈接到其他網(wǎng)站的超鏈接以供用戶快速訪問。 (4)版塊管理:管理可以對某個大版塊或者小版塊進行相關(guān)的維護操作。 3.2.3.權(quán)限管理 對網(wǎng)站所有注冊用戶的訪問和操作權(quán)限進行管理,此處的訪問權(quán)限是由管理員設(shè)置的, 并不是登陸后自動判斷的。這個地方的權(quán)限管理主要是處理用戶想當(dāng)版主的申請,一般用戶 如果想當(dāng)版主,需要提出申請,自動判斷依據(jù),如果提出者的等級
11、還沒到本科生,提出的請 求,將被系統(tǒng)自動駁回,如果到了本科生的級別,才能進入提交申請的詳細(xì)頁面,填寫相關(guān) 的申請信息,用戶提交申請后,通過管理員的審核,就升級為版主,享有一定的管理權(quán),處 理流程如上圖 4 所示。 3.2.4.論壇設(shè)置管理 論壇設(shè)置管理主要是網(wǎng)站的風(fēng)格,論壇數(shù)據(jù)備份和還原,批量刪除,臟話過濾等進行管 理。 (1)網(wǎng)站風(fēng)格:包括論壇的歡迎頁面,橫幅圖片,樣式。實現(xiàn)原理,針對 CSS 樣式進 行管理。更換風(fēng)格的目的是為了迎合現(xiàn)實世界中的節(jié)日,以及一些突發(fā)性的特殊事件,風(fēng)格 迎合這些事情發(fā)生而改變能體現(xiàn)出一個網(wǎng)站的活力。由于網(wǎng)站的同時只能應(yīng)用一個樣式,所 以這里不需要存儲數(shù)
12、據(jù)。 (2)論壇數(shù)據(jù)備份和還原,批量刪除:為了防止數(shù)據(jù)丟失,要定期地對數(shù)據(jù)庫進行備 份,當(dāng)數(shù)據(jù)遭遇黑客的攻擊而丟失的時候,就可以利用備份的數(shù)據(jù),還原。我們并不排除需 要一次性刪除某一個版面甚至全部數(shù)據(jù)的可能性。批量刪除為的就是實現(xiàn)這樣的功能。 (3)臟話過濾:除了一般的臟話,還要防止一些敏感的政治話題,如宣傳等。 用戶提交信息的同時,檢查提交的信息中是否包含這些敏感內(nèi)容,如果有則,提交不成功, 并提示用戶原因。臟話存庫,管理員可以增加或修改臟話。 3.3.數(shù)據(jù)庫設(shè)計 實現(xiàn)一個專業(yè)的系統(tǒng),必然會涉及到后臺數(shù)據(jù)庫對系統(tǒng)數(shù)據(jù)信息的保存和維護,考慮到 本 BBS 系統(tǒng)對用戶并行處理數(shù)據(jù)
13、庫中數(shù)據(jù)的需求,系統(tǒng)采用了 MySQL 作為后臺數(shù)據(jù)庫, 涉及的主要數(shù)據(jù)庫表有: ①論壇會員基本信息表:存放論壇會員所有的基本信息,如表 1 所示。由于篇幅限制, 后面表將不列出具體字段。 表 1 論壇會員基本信息表 編號 字段名 類型 標(biāo)識 外鍵 默認(rèn)值 非空 備注 1 TUserID Intege(r 自增長) √ √ 帳號標(biāo)識 2 TPersonID Varchar(50) √ √ 身份證號 碼 3 TUserName Varchar(50) √ 帳號名 4 TUserPwd varcha
14、r(500) √ 帳號密碼 5 TPassKey integer √ 密碼密鑰 6 TUserSex Varchar(10) 性別 7 TUserPic varchar(500) √ 用戶頭像 8 TUserLevel Integer 1 √ 用戶等級 編號 9 TUserBirth datetime 用戶出生 日期 10 TUserBirthDis varchar(3) 1 是否顯示 生日 11 TUserFrom Varc
15、har(50) 來源地 12 TUserMail Varchar(50) 郵箱 13 TUserQuestio n Varchar(50) √ 用戶安全 提問,用于 找回密碼 14 TUserAnswer Varchar(50) √ 安全提問 答案 15 TUserIntroduc e Varchar(500) 自我介紹 16 TUserSign Varchar(500) 個性簽名 17 TUserRegTim e datetime
16、 注冊時間 18 TUserStatus Integer 1 用戶狀態(tài) 19 TOnLine Integer 1 在線狀態(tài) 20 TSystemPowe rID Integer 1 所處系統(tǒng) 組 ID 21 TCredit Integer 0 積分 ②論壇版塊基本信息表:存放論壇不同版塊的分類信息。 ③論壇主題文章基本信息表:存放論壇會員所發(fā)表文章的基本信息。 ④論壇回復(fù)文章信息表:存放論壇會員回復(fù)文章的基本信息。 表與表之間的關(guān)系是主表與子表之間確立的約束,用于實現(xiàn)表與表之間的數(shù)據(jù)參照完
17、整 性,這些關(guān)系的建立可以避免由于誤操作導(dǎo)致數(shù)據(jù)庫的崩潰,保證各表之間數(shù)據(jù)的統(tǒng)一性。 例如:文章所屬的討論區(qū)類別一定是與論壇討論區(qū)分類表相關(guān)的,如果討論區(qū)分類表中有關(guān) 分類的信息改變時,文章所屬類別的信息也應(yīng)該進行相應(yīng)的更新修改。以用戶為中心各表之 間的對應(yīng)關(guān)系如下圖 5 所示: 圖 5 以用戶為中心各表之間的對應(yīng)關(guān)系圖 3.4 界面設(shè)計 整個 BBS 系統(tǒng)的界面風(fēng)格以淺綠色為基調(diào),用戶輸入用戶名,密碼及驗證碼以后,可 以進入到主界面,如下圖 6 所示:頁面的左側(cè)顯示導(dǎo)航樹,可以進入不同的版塊進行討論, 中間部分顯示最新發(fā)布的帖子和學(xué)校的最新講座信息,右面部分顯示了
18、用戶最新回復(fù)的內(nèi)容 和熱門版塊的排行榜。 圖 6 BBS 系統(tǒng)主界面 4. BBS 系統(tǒng)的實現(xiàn) 4.1. MVC 設(shè)計模式 圖 7 MVC 設(shè)
19、計模式 圖 8 Ajax 技術(shù)的 Web 應(yīng)用模型 本 BBS 系統(tǒng)的實現(xiàn)使用了 J2EE 架構(gòu)的核心 MVC 思想,MVC 是 Model-View-Controller 的簡稱,即把一個應(yīng)用的輸入、處理、輸出流程按照 Modal、View、Controller 的方式進行 分離、這樣一個應(yīng)用被分成模型、試圖和控制器三部分。模型層表示數(shù)據(jù)和業(yè)務(wù)邏輯,視圖 層提供數(shù)據(jù)顯示和用戶輸入,控制層負(fù)責(zé)派遣用戶請求和控制流程。圖 7 顯示了這幾個模塊 各自功能以及他們之間的相互關(guān)系[2]:業(yè)務(wù)邏輯和表示蹭分離,同一模型可以被不同的試圖 重用,大大提高了代碼的可重用性。此外,控制器提高了應(yīng)用程
20、序的靈活性和可配置性。在 此系統(tǒng)中,前臺用戶訪問的 web 頁面(視圖層)通過 JSP 實現(xiàn),同時在 JSP 嵌入了 JavaScript, 并引入了 XMLHttpRequest 對象以實現(xiàn)用戶與服務(wù)器的動態(tài)交互;在控制層通過 Servlet 實現(xiàn) 頁面的重定向,不同的用戶請求跳轉(zhuǎn)到不同地方,在模型層,實現(xiàn)了對數(shù)據(jù)庫表的封裝,數(shù) 據(jù)庫中每一張表都對應(yīng)一個 JavaBean 和一個與該 JavaBean 相關(guān)的 java 類以實現(xiàn)相關(guān)的業(yè)務(wù) 邏輯[3],通過以上三個方面,很好的實現(xiàn)了 MVC 的思想。使得代碼顯得很有條理、易于維 護。 4.2.系統(tǒng)實現(xiàn)的關(guān)鍵技術(shù) 4.2.1.系統(tǒng)整
21、體界面實現(xiàn) ExtJS 風(fēng)格 ExtJS 是一個 Ajax 框架,是一個用 javascript 寫的,用于在客戶端創(chuàng)建豐富多彩的 web 應(yīng)用程序界面。ExtJS 可以用來開發(fā) RIA 也即富客戶端的 AJAX 應(yīng)用,也可以把 ExtJS 用 在.Net、Java、Php 等各種開發(fā)語言開發(fā)的應(yīng)用中。在此的 BBS 系統(tǒng)中,大量的運用了 ExtJS 風(fēng)格,比如,用戶的發(fā)帖,回復(fù)貼,帖子的搜索等等都采用了 ExtJS 的動態(tài)效果,大家增加 了用戶的感官體驗,這在目前的 BBS 系統(tǒng)中還是很少見的,是本系統(tǒng)的一個亮點所在。 4.2.2.使用 Ajax 實現(xiàn)動態(tài)交互 Ajax 是
22、異步 JavaScript 和 XML(Asynchronous JavaScript and XML)的英文縮寫。確切地 說,Ajax 不是一種技術(shù),而是將一系列相關(guān)技術(shù)組合應(yīng)用的技巧,這些技術(shù)包括: (1)使用 XMLHttpRequest 進行異步數(shù)據(jù)接收。在系統(tǒng)中,登陸用戶需要和服務(wù)器不斷的 交互,通過使用 XMLHttpRequest 進行異步數(shù)據(jù)接收使得再不刷新整個 web 頁面的基礎(chǔ)上就 可以實現(xiàn)交互,服務(wù)器只需要將用戶需要的數(shù)據(jù)顯示給用戶,這樣大大提到了用戶訪問的速 度。 (2)使用 JavaScript 將它們綁定在一起。引入 Ajax 技術(shù)的 Web 應(yīng)用模型
23、如圖 8 所示[4]。 Ajax 通過 JavaScript 和 XMLHttpRequest 對象在 Web 表單與服務(wù)器之間建立了一個中間層, 用戶的請求就可以通過中間層以異步的方式被發(fā)送到服務(wù)器端,這樣可以使用戶的操作不被 中斷的情況下提交請求,A-jax 技術(shù)的引入可以帶給 Web 應(yīng)用更好的交互性能,而且運用恰當(dāng) 可以提高程序的效率,節(jié)約網(wǎng)絡(luò)資源。 4.2.3.系統(tǒng)的安全性 論壇的安全隱患主要來自以下兩個方面:(1)所有用戶要提交數(shù)據(jù)到服務(wù)器的地方。(2) 用戶和管理員的密碼泄漏。第一種情況主要是防止 SQL 注入,解決辦法,編寫相應(yīng)的函數(shù) 過濾之。用戶和管理員的密碼都用
24、MD5 加密算法得到字符后,再處理存庫。 5. 小結(jié) 本文從 BBS 的系統(tǒng)功能特性出發(fā),對校園 BBS 系統(tǒng)進行了詳細(xì)的需求分析、設(shè)計。使 用 J2EE 的 MVC 思想及 j2EE 的相關(guān)技術(shù)實現(xiàn)了該系統(tǒng),并對系統(tǒng)實現(xiàn)的一些關(guān)鍵技術(shù)進行 了分析。此 BBS 系統(tǒng)已經(jīng)在我校正式運行。 參考文獻 [1] 何海燕.基于知識管理的校園 BBS 系統(tǒng)研究與實現(xiàn)[D].吉林大學(xué).2005 [2] 劉斌.精通 Java Web 整合開發(fā)[M].電子工業(yè)出版社.2007. [3] 田雪松.J2EE 網(wǎng)絡(luò)編程標(biāo)準(zhǔn)教程[M].上??茖W(xué)普及出版社.2003. [4] 邊小凡,郭
25、恒.Ajax 引入 WEB 開發(fā)對 J2EE-MVC 架構(gòu)的調(diào)整[J].2008,1(1):45-47. Designing and Implementation of Campus BBS System Based On MVC Tang Lei Business School of Hohai University, Nanjing (210098) Abstract With the development of campus network construction, college BBS is becoming more and more popu
26、lar,This paper makes a detail analysis on the system requirement, functional module,database design and the face design about college BBS .Make a full construction of college BBS. Describe the key technologies of realization and realize the system under the MVC modal.The BBS has been joined in our school intenet and it is useful to the development of the communication between teachers and students. Key words:BBS,MVC; system analysis; system design 作者簡介: 湯磊(1984-),男,漢族,河海大學(xué)管理科學(xué)與工程專業(yè)碩士研究生,從事信息管理、電子 商務(wù)、web 應(yīng)用開發(fā)等研究.
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案