黃岡職業(yè)技術(shù)學(xué)院校園論壇系統(tǒng)畢業(yè)設(shè)計(論文)

上傳人:1666****666 文檔編號:37792618 上傳時間:2021-11-04 格式:DOC 頁數(shù):30 大小:1.23MB
收藏 版權(quán)申訴 舉報 下載
黃岡職業(yè)技術(shù)學(xué)院校園論壇系統(tǒng)畢業(yè)設(shè)計(論文)_第1頁
第1頁 / 共30頁
黃岡職業(yè)技術(shù)學(xué)院校園論壇系統(tǒng)畢業(yè)設(shè)計(論文)_第2頁
第2頁 / 共30頁
黃岡職業(yè)技術(shù)學(xué)院校園論壇系統(tǒng)畢業(yè)設(shè)計(論文)_第3頁
第3頁 / 共30頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《黃岡職業(yè)技術(shù)學(xué)院校園論壇系統(tǒng)畢業(yè)設(shè)計(論文)》由會員分享,可在線閱讀,更多相關(guān)《黃岡職業(yè)技術(shù)學(xué)院校園論壇系統(tǒng)畢業(yè)設(shè)計(論文)(30頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、黃職校園論壇系統(tǒng) 學(xué) 業(yè) 作 品 題 目: 黃職校園論壇系統(tǒng) 學(xué) 院 名 稱: 電子信息學(xué)院 專 業(yè): 軟件外包服務(wù) 學(xué) 生 姓 名: 班 級: 軟件201102班 學(xué) 號: 201102161217

2、 指 導(dǎo) 教 師: 評 閱 老 師: 黃岡職業(yè)技術(shù)學(xué)院學(xué)院教務(wù)處 二○一三年十一月制 摘 要 開發(fā)本論壇系統(tǒng)的目的是為了方便信息的交流,提供一個供用戶交流的平臺,為廣大用戶提供交流經(jīng)驗、探討問題的網(wǎng)上社區(qū)。本論壇主要基于JAVA技術(shù)實現(xiàn)的校園論壇系統(tǒng),系統(tǒng)包含六個模塊:論壇用戶登陸注冊模塊,論壇賬戶信息模塊,論壇文章發(fā)布模塊,論壇文章管理模塊,用戶管理模塊,版主管理模塊。論文詳細(xì)描述了這些模塊的結(jié)構(gòu)、功能以及具體設(shè)計過程。為了達(dá)到運行穩(wěn)定、高效的目的,

3、系統(tǒng)基于J2EE平臺開發(fā),采用MVC模式,使用目前流行Struts2、 Hibernate、Spring等框架,在結(jié)合 JSP頁面技術(shù)和MySQL數(shù)據(jù)庫技術(shù)之下開發(fā)了這個校園論壇系統(tǒng)。 該論壇為同學(xué)們提供了一個交流的平臺,在這里注冊用戶可以自由地發(fā)表自己的觀點和對論壇的主題帖子發(fā)表意見,還可以及時的解決網(wǎng)友提出的問題,獲取對自己有用的知識。該論壇還有一些特殊的功能,強(qiáng)大的模糊搜索功能等。 關(guān)鍵詞:MVC、Struts2、 Hibernate、AJAX 目 錄 第1章. 前 言 1 第2章. 系統(tǒng)技術(shù)及運行環(huán)境 2 1.1 JSP技術(shù)簡介 2 1.2 JAVABE

4、AN技術(shù)簡介 2 1.3 其它的一些技術(shù) 2 1.4 運行環(huán)境 2 第3章. 系統(tǒng)需求分析說明 3 1.5 系統(tǒng)介紹 3 1.6 功能需求 3 第4章. 總體設(shè)計 4 1.7 總體結(jié)構(gòu)和模塊設(shè)計 4 1.8 處理流程 4 第5章. 數(shù)據(jù)庫設(shè)計 6 1.9 數(shù)據(jù)庫結(jié)構(gòu)屬性圖 6 1.10 數(shù)據(jù)庫表格設(shè)計 7 第6章. 系統(tǒng)詳細(xì)設(shè)計 9 1.11 前臺頁面 10 1.12 后臺頁面 15 1.13 系統(tǒng)設(shè)計主要代碼及配置文件 16 第7章. 測試 23 1.14 測試方法 23 1.15 測試范圍 23 1.16 測試報告 23 第8章. 總結(jié)與展望 24

5、 第9章. 參考文獻(xiàn) 25 第10章 致 謝 26 第1章. 前 言 進(jìn)入21世紀(jì),計算機(jī)技術(shù)迅速向著網(wǎng)絡(luò)化的、集成化方向發(fā)展。傳統(tǒng)的單機(jī)版應(yīng)用軟件正在逐漸退出舞臺,取而代之的是支持網(wǎng)絡(luò)、支持多種數(shù)據(jù)信息(多媒體)的新一代網(wǎng)絡(luò)版應(yīng)用軟件,而目前網(wǎng)絡(luò)版軟件中似乎存在著兩種不同的趨勢,一種是稱為客戶端——服務(wù)器的C/S結(jié)構(gòu)應(yīng)用系統(tǒng),這類軟件具有結(jié)構(gòu)嚴(yán)謹(jǐn),運行效率高,服務(wù)器端壓力小,安全性好等優(yōu)點,被廣泛運用于局域網(wǎng)中。另一種,也是本畢業(yè)設(shè)計所采用的,是稱為瀏覽器——服務(wù)器的B/S結(jié)構(gòu)應(yīng)用系統(tǒng),它的特點是在客戶端直接采用了功能強(qiáng)大的瀏覽器軟件作為界面,其優(yōu)點在于軟件

6、開發(fā)效率高,客戶端不受操作平臺的限制、也不受地域的限制,網(wǎng)絡(luò)傳輸量少,即適用于局域網(wǎng),更適用于Internet,而且投資小、見效快,用戶可以不必進(jìn)行服務(wù)器方面的投資,而是去租用,甚至是免費使用ISP的服務(wù)器資源,因而受到越來越多中小型單位的青睞。 隨著中國網(wǎng)絡(luò)的普及和計算機(jī)及其外設(shè)的大幅度降價,Internet這個概念逐漸深入人心。中國網(wǎng)民的數(shù)量呈幾何級數(shù)量增長,BBS的普及程度也直追Email。每個網(wǎng)站幾乎都擁有自己的BBS或者BBS鏈接,BBS社區(qū)提供給用戶的服務(wù)是全面而且非常友好的,論壇系統(tǒng)服務(wù)已經(jīng)是互聯(lián)網(wǎng)站一種極為常見的互動交流服務(wù)。論壇可以向網(wǎng)友提供開放性的分類專題討論區(qū)服務(wù),可以

7、在此發(fā)表自己的某些觀感、交流某些技術(shù)、經(jīng)驗?zāi)酥寥松母形蚺c憂歡,亦可以做為網(wǎng)友們之間的交流渠道,網(wǎng)站亦可在此回答網(wǎng)友們提出的問題或發(fā)布某些消息。通過論壇的方式,增強(qiáng)個人與個人,團(tuán)體與團(tuán)體,個人與團(tuán)體之間的交流聯(lián)系,在Internet上實現(xiàn)信息的傳遞,提高辦事效率[5]。因此論壇建設(shè)在Internet應(yīng)用上的地位顯而易見,它已成為現(xiàn)代人溝通和獲取信息的重要組成部分,從而倍受人們的重視。 本文利用JSP和MySQL做一個在線論壇系統(tǒng)。該系統(tǒng)以Internet為平臺,前臺可使任何人注冊、登陸在論壇上進(jìn)行發(fā)貼及討論,版主可以進(jìn)行一部分管理。而管理員也可以在后臺進(jìn)行相關(guān)的管理。 25 第2

8、章. 系統(tǒng)技術(shù)及運行環(huán)境 1.1 JSP技術(shù)簡介 JSP是服務(wù)器端的腳本語言,是以SERVLET為基礎(chǔ)開發(fā)而成的動態(tài)網(wǎng)頁生成技術(shù),它的底層實現(xiàn)是JAVA SERVLET。JSP(JAVA SERVER PAGES)由HTML代碼和潛入其中的JAVA代碼所組成[6]。服務(wù)器在頁面被客戶端請求以后對這些代碼進(jìn)行處理,然后將生產(chǎn)的HTML頁面返回客戶端的瀏覽器JSP的特點是面向?qū)ο蟆?跨平臺、 和SERVLET一樣穩(wěn)定、 可以使用SERVLET提供的API,同時克服了SERVLET的缺點。在使用JSP時一般和JAVABEANS結(jié)合使用,從而將界面表現(xiàn)和業(yè)務(wù)邏輯分離[7]。 1.2 JAVABE

9、AN技術(shù)簡介 JAVABEAN是基于JAVA的組建模型,在JAVA平臺中,可以無限擴(kuò)充JAVA程序的功能,通過JAVABEAN的組合可以快速生產(chǎn)新的應(yīng)用程序。對于程序員來說,最好的一點就是JAVABEAN可以實現(xiàn)代碼的重復(fù)利用,另外對于程序的易維護(hù)性等等也有很重大的意義。JAVABEAN 通過JAVA虛擬機(jī)(JAVA VIRTUAL MACHINE)執(zhí)行,運行JAVABEAN最小的需求是JDK1.1或者以上的版本。JAVABEAN傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如AWT下的應(yīng)用。自從JSP誕生后,JAVABEAN更多的應(yīng)用在了非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出了越來越強(qiáng)的生命力[8]。 1

10、.3 其它的一些技術(shù) 本系統(tǒng)還使用了一些其它的技術(shù),如Struts2,Hibernate,Spring,AJAX等。這些都會在后面的代碼處作相應(yīng)的介紹。 1.4 運行環(huán)境 為了保證BBS論壇管理系統(tǒng)運行的高效性和可靠性,服務(wù)器應(yīng)具有較高的軟硬件配置,客戶端的要求不是很高。此應(yīng)用程序可廣泛運行于國際互聯(lián)網(wǎng)即Internet,也可適用于內(nèi)部的局域網(wǎng)。其運行要求如下: 軟件環(huán)境: 客戶端: Windows,Linux,Internet Explorer(IE6.0及其以上版本)等。 服務(wù)器端:Windows,resin 3.1.9,JDK 1.5及其以上版本 數(shù)據(jù)庫:采用MySQL,運

11、行于服務(wù)器端。 第3章. 系統(tǒng)需求分析說明 1.5 系統(tǒng)介紹 本系統(tǒng)是基于B/S結(jié)構(gòu)的一個小型論壇,主要基于Windows平臺,通過這個論壇,用戶之間可以實現(xiàn)互動交流。 1.6 功能需求 通過對網(wǎng)上的一些著名論壇的認(rèn)識,該論壇至少應(yīng)該實現(xiàn)以下功能: (1) 注冊管理:能夠?qū)τ脩裘艽a的簡單驗證,能夠防止利用頁面刷新重復(fù)注冊,已經(jīng)存在的用戶名稱不能重復(fù)注冊。 (2) 瀏覽帖子:可以根據(jù)作者或內(nèi)容等為關(guān)鍵字搜索帖子,分論壇版塊顯示帖子,顯示帖子詳情,瀏覽帖子時不要求用戶登錄,但回復(fù)帖子前用戶必須登錄。 (3) 發(fā)表及回復(fù)帖子:只有登錄用戶才可以發(fā)表和回復(fù)帖子,并且對帖子的字?jǐn)?shù)有

12、限制。 (4) 用戶個人信息管理:登陸用戶可以編輯注冊后的個人資料,如修改密碼等,但是不可以修改用戶名稱。也可以對自己發(fā)表的帖子進(jìn)行操作:如修改,刪除。 (5) 回復(fù)管理:各論壇版塊的版主可以對自己管理的版塊的帖子的回復(fù)的帖子進(jìn)行管理,可以屏蔽回復(fù)。 (6) 論壇版塊管理:只有管理員有該權(quán)限,管理員可以添加,刪除版塊,也可以修改版塊資料,如版塊名稱,上級版塊,版主。 (7) 用戶管理:只有管理員有該權(quán)限,管理員可以禁用,啟用用戶,進(jìn)行用戶密碼重置。 (8) 公告管理:只有管理員有該權(quán)限,管理員可以添加,刪除公告。 (9) 帖子管理:各論壇版塊的版主可以對自己管理的版塊的帖子進(jìn)行管理

13、,可以屏蔽和刪除帖子。 第4章. 總體設(shè)計 本系統(tǒng)采用B/S模式設(shè)計,方便系統(tǒng)的維護(hù)和使用。采取MVC設(shè)計模式與多層架構(gòu)的基于J2EE平臺的設(shè)計[13],使系統(tǒng)擁有良好的擴(kuò)展性,在滿足當(dāng)前使用需求同時還兼顧系統(tǒng)以后可能的功能擴(kuò)充。系統(tǒng)分成幾個相對獨立的模塊,但這些模塊都進(jìn)行集中式管理。 1.7 總體結(jié)構(gòu)和模塊設(shè)計 該系統(tǒng)可分為前臺和后臺兩個部分,前臺是提供給一般用戶和版主使用的,后臺是提供給管理員進(jìn)行一些系統(tǒng)維護(hù)的。 功能結(jié)構(gòu)圖如下: 校園論壇管理系統(tǒng) 前臺功能 后臺功能 瀏覽搜索帖子 用戶登陸注冊 發(fā)表回復(fù)帖子 個人資料管理 帖子管理 用戶

14、管理 論壇版塊管理 公告管理 圖3.1 系統(tǒng)功能結(jié)構(gòu)圖 1.8 處理流程 對于本系統(tǒng)的使用者來說,可以分為以下幾類:未注冊的用戶,已注冊的用戶。已注冊的用戶又可以分為一般用戶、版主、管理員三類。根據(jù)用戶角色的不同,用戶擁有的權(quán)限也會不同。根據(jù)這個來分析該系統(tǒng)的業(yè)務(wù)流程。 系統(tǒng)的業(yè)務(wù)流程如圖3.2所示: 圖3.2 業(yè)務(wù)流程圖 第5章. 數(shù)據(jù)庫設(shè)計 在建設(shè)網(wǎng)站系統(tǒng)之前,必須對系統(tǒng)所用到的數(shù)據(jù)進(jìn)行大致的分類和具體的結(jié)構(gòu)設(shè)計,既要做到清晰明了,又要能適應(yīng)系統(tǒng)各項功能的調(diào)用,而不至于產(chǎn)生結(jié)構(gòu)上的邏輯混亂,保證關(guān)鍵數(shù)據(jù)在意外情況下不會被破壞,可以說數(shù)據(jù)庫是系統(tǒng)的重中之

15、重。 數(shù)據(jù)庫設(shè)計要遵循一些規(guī)則,一個好的數(shù)據(jù)庫滿足一些嚴(yán)格的約束和要求。盡量分離各實體對應(yīng)的表,一個實體對應(yīng)一個表,分析該實體有哪些屬性,對應(yīng)有些什么字段,以及各實體之間的聯(lián)系。實體、屬性與聯(lián)系是進(jìn)行概念設(shè)計時要考慮的三個元素,也是一個好的數(shù)據(jù)庫設(shè)計的核心[14]。 從實際出發(fā),經(jīng)過仔細(xì)地設(shè)計,得到各表的設(shè)計如下所示。 1.9 數(shù)據(jù)庫結(jié)構(gòu)屬性圖 圖4.1 數(shù)據(jù)庫結(jié)構(gòu)屬性圖 1.10 數(shù)據(jù)庫表格設(shè)計 表4.1: UserInfo 用戶信息表 列名 說明 類型 備注 uid 主鍵 Int(4) 自增 username 用戶名稱 Varchar(

16、20) Not null password 密碼 Varchar(20) Not null head 頭像 Varchar(20) Not null sign 個人簽名 Varchar(200) Not null roleid 角色 Int(4) Not null active 狀態(tài) Int(4) Not null 表4.2: Topic 帖子表 列名 說明 類型 備注 tid 主鍵 Int(4) 自增 title 帖子主題 Varchar(50) Not null content 帖子內(nèi)容 Varchar(1000

17、) Not null authorid 作者 Int(4) Not null time 發(fā)表時間 datetime Not null sortid 所屬的論壇版塊 Int(4) Not null 表4.3: Reply 回復(fù)表 列名 說明 類型 備注 id 主鍵 Int(4) 自增 title 帖子主題 Varchar(50) Not null content 帖子內(nèi)容 Varchar(1000) Not null authorid 作者 Int(4) Not null time 發(fā)表時間 datetime Not

18、 null topicid 回復(fù)的帖子編號 Int(4) Not null 表4.4: Sort 論壇版塊分類表 列名 說明 類型 備注 sid 主鍵 Int(4) 自增 parentid 上級版塊 Int(4) Not null sortname 版塊名稱 Varchar(50) Not null master 版主名稱 Varchar(20) 允許為null 表4.5: Role 角色表 列名 說明 類型 備注 rid 主鍵 Int(4) 自增 description 角色描述 Varchar(10) No

19、t null 表4.6: Notice 公告表 列名 說明 類型 備注 nid 主鍵 Int(4) 自增 content 公告內(nèi)容 Varchar(100) Not null 第6章. 系統(tǒng)詳細(xì)設(shè)計 前臺和后臺頁面設(shè)計采用的技術(shù)是JSP。之所以選擇它是因為JSP技術(shù)具有下面的特點: 1)Write Once Run Anywhere JSP技術(shù)繼承了JAVA先天性的先進(jìn)概念“Write Once Run Anywhere”這種概念正越來越深遠(yuǎn)的影響著互連網(wǎng)行業(yè)的交互式、WEB設(shè)計的理念。JSP Pages 可以非常容易的開平臺跨WEB服務(wù)器軟件來是設(shè)計

20、和開放源代碼。 2)支持多種動態(tài)網(wǎng)頁格式 目前對使用JSP技術(shù)設(shè)計出來的網(wǎng)頁應(yīng)該采取什么樣的格式還沒有一個明確的標(biāo)準(zhǔn)。一般來說JSP技術(shù)即可以支持HTML/DHTML的傳統(tǒng)瀏覽器文件格式,又可以支持應(yīng)用與無線通訊設(shè)備例如移動電話、PDA等設(shè)備進(jìn)行網(wǎng)頁瀏覽器的VML文件格式,還可以支持其它一些B2B應(yīng)用的XML格式。與以往的其它WEB應(yīng)用技術(shù)相比較JSP技術(shù)有它很鮮明的特點。 3)JSP 標(biāo)簽可擴(kuò)充性 盡管JSP與ASP都使用標(biāo)簽與腳本技術(shù)來制造動態(tài)WEB網(wǎng)頁,但是JSP技術(shù)能夠使開發(fā)者擴(kuò)展JSP標(biāo)簽,使得應(yīng)用JSP的開發(fā)者能定制標(biāo)簽庫所以網(wǎng)頁制作者可以充分利用與XML兼容的標(biāo)簽技術(shù),大

21、大減少了對腳本語言的依賴。由于指定標(biāo)簽庫技術(shù)使得網(wǎng)頁制作者降低了制作網(wǎng)頁和想多個網(wǎng)頁擴(kuò)充關(guān)鍵功能的復(fù)雜程度[15]。 4)JSP跨平臺的可重用性 JSP的開發(fā)人員在開發(fā)過程中一直關(guān)注可重用性,JSP足見、企業(yè)JavaBean或制定的標(biāo)簽都是跨平臺可重用的。企業(yè)JavaBean可以訪問傳統(tǒng)的數(shù)據(jù)庫并能并能已分布式系統(tǒng)模式工作于UNIX和WINDOWS平臺,JSP標(biāo)簽可擴(kuò)充功能為開發(fā)人員提供簡便的與XML兼容的接口,即共享網(wǎng)頁的打包功能使其完全的工業(yè)標(biāo)準(zhǔn)化。這種基于組建的模式能夠有效的提高應(yīng)用程序的開發(fā)效率。因為這種模式能夠使開發(fā)人員利用快捷的子組建快速創(chuàng)建模板應(yīng)用程序。然后再整和一些附加功能

22、將其打包成一個JAVABEAN組建。 5)易于維護(hù)性 基于JSP技術(shù)的應(yīng)用程序比基于ASP的應(yīng)用程序更易于維護(hù)和管理。腳本語言都很好服務(wù)于小的應(yīng)用程序但不能適宜大型的復(fù)雜的應(yīng)用程序,因為JAVA是結(jié)構(gòu)化的,它比較比較容易創(chuàng)建和維護(hù)龐大的組建化的應(yīng)用程序。 1.11 前臺頁面 1.11.1 登錄進(jìn)入論壇首頁頁面 圖5.1 論壇登錄頁面 在此頁面中,用戶如果點擊“瀏覽進(jìn)入”這個超鏈接,即以相當(dāng)于游客的身份進(jìn)入論壇,進(jìn)入的是論壇的首頁(圖5.2所示),那么就只擁有瀏覽和搜索帖子的權(quán)限。如果用戶輸入了正確的用戶名稱和密碼,就會以用戶的身份進(jìn)入論壇的首頁。該用戶就可以擁有更多的權(quán)限

23、,可以瀏覽和搜索帖子,修改個人資料,刪除和修改自己發(fā)表的主題帖子,發(fā)表和回復(fù)帖子。如果用戶輸入了不正確的信息,則系統(tǒng)阻止進(jìn)入論壇的首頁,還是會跳轉(zhuǎn)到該登錄頁面。如果用戶點擊了“注冊”這個超鏈接,則會進(jìn)入注冊頁面(圖5.3所示)。 1.11.2 論壇首頁 圖5.2 論壇首頁 在該頁面中,顯示了很多信息。主要是各個版塊的詳細(xì)信息,包括版塊的名稱,版主,發(fā)表于該版塊下的主題帖子總數(shù),以及最新發(fā)表的帖子的信息。若有發(fā)表的帖子,則顯示該帖子的主題,作者,和發(fā)表時間,并且提供了帖子主題的超鏈接,點擊后會進(jìn)入顯示該帖子的詳細(xì)信息頁面。若無發(fā)表的帖子,則顯示暫無。該頁面上還顯示了公告的信息,即公告欄

24、顯示的內(nèi)容。頁面上還提供了搜索帖子的功能,可以根據(jù)作者名稱來精確查找和根據(jù)帖子內(nèi)容來模糊查找。如果用戶是經(jīng)過登錄驗證后進(jìn)入該頁面的,頁面會提供“個人中心”的超鏈接,點擊此鏈接會進(jìn)入個人信息中心頁面(如圖5.6所示)。如果用戶是通過瀏覽進(jìn)入該頁面的,則不會提供該超鏈接。 1.11.3 注冊頁面 圖5.3 注冊頁面 用戶可以在該頁面中輸入注冊資料,包括用戶名,密碼,個性簽名和頭像。 用戶名,密碼,個性簽名都是必填的,頭像是默認(rèn)選擇第一個,用戶也可以重新選擇。在用戶提交之前,對所填的信息都作了驗證,包括用戶名非空并且不可重復(fù),密碼非空,密碼長度必須大于或等于4,兩次輸入的密碼必須一致,個

25、性簽名非空,且長度小于50。在對用戶名稱的唯一性驗證時,使用了AJAX技術(shù),當(dāng)用戶輸入完用戶名,該文本框失去焦點時,會檢查數(shù)據(jù)庫中是否存在該用戶名, 如果不存在,則在文本框后用藍(lán)色字體顯示“Ok,你可以用這個名稱!”,如果存在,則在文本框后用紅色字體顯示“No,這個名稱已占用!”。提交成功后,跳轉(zhuǎn)到登錄頁面。 在這里簡單介紹一下AJAX技術(shù)。AJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。它使瀏覽器可以為用戶提供更為自然的瀏覽體驗。在Ajax之前,Web站點強(qiáng)制用戶進(jìn)入提交/等待

26、/重新顯示范例,用戶的動作總是與服務(wù)器的“思考時間”同步。Ajax提供與服務(wù)器異步通信的能力,從而使用戶從請求/響應(yīng)的循環(huán)中解脫出來。借助于Ajax,可以在用戶單擊按鈕時,使用JavaScript和DHTML立即更新UI,并向服務(wù)器發(fā)出異步請求,以執(zhí)行更新或查詢數(shù)據(jù)庫。當(dāng)請求返回時,就可以使用JavaScript和CSS來相應(yīng)地更新UI,而不是刷新整個頁面。最重要的是,用戶甚至不知道瀏覽器正在與服務(wù)器通信:Web站點看起來是即時響應(yīng)的。 1.11.4 發(fā)表帖子 圖5.4 發(fā)表頁面 用戶可以在該頁面中填寫帖子的資料,包括標(biāo)題和內(nèi)容。提交之前也作了驗證:標(biāo)題非空且長度小于50,帖

27、子內(nèi)容非空且長度小于2000。為提示用戶控制輸入,通過JavaScript實現(xiàn)了動態(tài)顯示用戶輸入的字符數(shù)目。為避免重復(fù)提交,提供了驗證碼,只有輸入了正確的驗證碼后才會提交。 1.11.5 顯示帖子及回復(fù) 圖5.5 顯示貼子與回復(fù)頁面 在該頁面中,顯示了帖子的詳細(xì)信息和回復(fù)的帖子的詳細(xì)信息。并且實現(xiàn)了分頁功能,每頁顯示5個回復(fù)帖子。只有對登錄用戶才顯示“回復(fù)帖子”和“發(fā)表話題”兩個按鈕,以及回復(fù)帖子的表格的顯示。對于沒有登錄的用戶,則不會顯示。如果登錄的用戶的身份是版主,而該帖子又是位于該用戶管理的論壇版塊下,則會在主題帖子后提供“屏蔽此帖”和“刪除”兩個超鏈接。分

28、別實現(xiàn)屏蔽帖子和刪除帖子的功能。另外在回復(fù)的帖子后提供“屏蔽此回復(fù)”超鏈接,實現(xiàn)對回復(fù)的帖子的屏蔽操作。 1.11.6 顯示個人中心頁面 圖5.6 個人中心頁面 在該頁面中,顯示了用戶的個人資料和發(fā)表的帖子的信息。當(dāng)用戶點擊“編輯個人資料”的超鏈接后,會進(jìn)入修該個人資料的頁面,實現(xiàn)對個人信息的修改。另外頁面上分頁顯示了用戶發(fā)表的主題帖子,用戶可以這些帖子進(jìn)行修改和刪除操作。 1.12 后臺頁面 用戶要進(jìn)入后臺管理頁面,必須先進(jìn)入后臺管理的登錄頁面,使用了Filter來實現(xiàn)過濾。只有登錄成功后,才能進(jìn)入管理頁面。 1.12.1 后臺登錄頁面 圖5.7 后臺頁面 登

29、錄成功后跳轉(zhuǎn)到后臺管理頁面,登錄失敗后還是跳轉(zhuǎn)到本頁面。這里使用攔截器組件對主頁面進(jìn)行保護(hù),攔截非法登陸用戶對頁面進(jìn)行操作。 1.12.2 后臺管理頁面 圖5.8 后臺管理頁面 進(jìn)入到后臺管理后,首先顯示的是如上圖5.8所示的頁面。 1.12.3 帖子管理頁面 圖5.9 用戶管理頁面 點擊后臺管理頁面的左邊導(dǎo)航欄的“版區(qū)管理”超鏈接即可進(jìn)入到該頁面。該頁面分頁顯示了帖子的部分資料,包括帖子標(biāo)題,類型,狀態(tài)。還對每個帖子提供了“啟用”,“禁用”,“置頂”等操作。管理員可以進(jìn)行與之相對應(yīng)的操作。這些操作是通過AJAX異步發(fā)送請求實現(xiàn)的。這樣就能實現(xiàn)對論壇的帖子進(jìn)行管理。

30、1.13 系統(tǒng)設(shè)計主要代碼及配置文件 1.13.1 分頁的JavaBean 系統(tǒng)中的大部分JSP頁面需要使用分頁技術(shù),因此使用一個JavaBean來專門完成分頁的功能。以下是此類的關(guān)鍵代碼: public class PageModel { //所有的記錄數(shù) private int totalRecords; //查詢的結(jié)果集 private List list; //第幾頁 private int pageNo; //每頁多少條數(shù)據(jù) private int pageSize; } //提供各成員屬性的get,set方法 public int getTotalP

31、ages() { if (totalRecords == 0) return 1; return (totalRecords + pageSize -1)/pageSize; } } 1.13.2 生成驗證碼的代碼 public final class ImageUtil { private static final String[] chars = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I"}; private st

32、atic final int SIZE = 4; private static final int LINES = 100; private static final int WIDTH = 100; private static final int HEIGHT = 50; private static final int FONT_SIZE = 30; public static Map createImage() { StringBuffer sb = new StringBuffer(); BufferedIm

33、age image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); g.setColor(Color.LIGHT_GRAY); g.fillRect(0, 0, WIDTH, HEIGHT); Random ran = new Random(); //畫隨機(jī)字符 for(int i=1;i<=SIZE;i++){ int r = ran.nextInt(chars.length); g.se

34、tColor(getRandomColor()); g.setFont(new Font(null,Font.BOLD+Font.ITALIC,FONT_SIZE)); g.drawString(chars[r],(i-1)*WIDTH/SIZE , HEIGHT-10); sb.append(chars[r]);//將字符保存,存入Session } //畫干擾線 for(int i=1;i<=LINES;i++){ g.setColor(getRandomColor()); int width = ran.nextInt(WIDTH

35、); int height = ran.nextInt(HEIGHT); g.drawLine(width,height,width,height); } Map map = new HashMap(); map.put(sb.toString(), image); return map; } public static InputStream getInputStream( BufferedImage image) throws Exception{

36、 ByteArrayOutputStream bos = new ByteArrayOutputStream(); JPEGImageEncoder encode = JPEGCodec.createJPEGEncoder(bos); encode.encode(image);//將圖片編碼成JPEG格式 byte[] bts = bos.toByteArray(); ByteArrayInputStream bis = new ByteArrayInputStream(bts); return bis; } publi

37、c static Color getRandomColor(){ Random ran = new Random(); Color color = new Color(ran.nextInt(256),ran.nextInt(256),ran.nextInt(256)); return color; } } 1.13.3 系統(tǒng)的配置文件 1) Web.xml 主要配置的是Tomcat啟動時要加載的配置文件。其中有Struts的配置文件Struts-config.xml,Spring的配置文件即與applicationContext.xml匹配的文件,另外還配置了S

38、pring中Filter設(shè)置了字符集。此外還配置了與AJAX技術(shù)相關(guān)的DWR的詳細(xì)配置信息。 2) Struts-config.xml 對于本系統(tǒng)為什么選擇使用Struts2技術(shù),下面列舉的這些理由是顯而易見的:首先,它是建立在MVC這種公認(rèn)的好的模式上的,Struts在M、V和C上都有涉及,但它主要是提供一個好的控制器和一套定制的標(biāo)簽庫上,也就是說它的著力點在C和V上,因此,它天生就有MVC所帶來的一系列優(yōu)點,如:結(jié)構(gòu)層次分明,高可重用性,增加了程序的健壯性和可伸縮性,便于開發(fā)與設(shè)計分工,提供集中統(tǒng)一的權(quán)限控制、校驗、國際化、日志等等;其次,經(jīng)受了實戰(zhàn)的檢驗,使其功能越來越強(qiáng)大,體系也很

39、完善;最后,是它對其他技術(shù)和框架顯示出很好的融合性。 該系統(tǒng)的Struts的配置文件中主要內(nèi)容是ActionForm,DispatchAction的詳細(xì)信息,以及各頁面的跳轉(zhuǎn)路徑的控制信息。 3) Hibernate.cfg.xml 本系統(tǒng)中對數(shù)據(jù)庫操作的DAO是通過Hibernate來實現(xiàn)的, Hibernate是一種Java語言下的對象關(guān)系映射解決方案。它用來把對象模型表示的對象映射到基于SQL 的關(guān)系模型結(jié)構(gòu)中去,為面向?qū)ο蟮念I(lǐng)域模型到傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的映射,提供了一個使用方便的框架。Hibernate 不僅管理Java 類到數(shù)據(jù)庫表的映射(包括從Java數(shù)據(jù)類型到SQL數(shù)據(jù)類型

40、的映射),還提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法,可以大幅度減少開發(fā)時人工使用SQL 和JDBC 處理數(shù)據(jù)的時間。Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。 這4個文件是數(shù)據(jù)庫建表配置文件,通過這4個配置文件可以將論壇的表自動關(guān)聯(lián)映射到j(luò)ava類,

41、然后自動創(chuàng)建數(shù)據(jù)庫表。 4) 與Spring有關(guān)的三個配置文件 在本系統(tǒng)中,利用Spring的依賴注入機(jī)制來實現(xiàn)了DAO對象的依賴注入,這樣一來不用自己來創(chuàng)建對象實例。 在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。 以下是與系統(tǒng)有關(guān)的三個Spring的配置文件 (1) applicationContext-common.xml 在該文件

42、中定義了哪些類的哪些方法參與事務(wù),配置了SessionFactory,事務(wù)管理器,事務(wù)的傳播特性。 (2) applicationContext-beans.xml 在該配置文件中配置了各個模塊的DAO層的詳細(xì)信息。 (3) applicationContext-actions.xml 在該配置文件中配置了各個DispatchAction中DAO對象的注入信息。

44、 1.13.4 注冊時的驗證代碼(用到了AJAX技術(shù)) 此處是通過DWR框架來實現(xiàn)的,頁面中的關(guān)鍵代碼如下: 第7章. 測試 1.14 測試方法 由于本系統(tǒng)的設(shè)計人員和測試人員都是本人,很了解系統(tǒng)的內(nèi)部結(jié)構(gòu)和處理過程,所以測試方式采用的是動態(tài)測試方法中的白盒測試。 1.15 測試范圍 用戶的登錄;帖子的添加、刪除、修改、查詢;用戶的個人信息編輯;管理員對用戶、論壇版塊、公告的管理。 1.16 測試報告 測試項目 測試目的 測試結(jié)果 原因 解決

48、情況 用戶登錄 確保系統(tǒng)的安全性 網(wǎng)頁安全攔截器有問題 有些頁面沒有被保護(hù)攔截器出現(xiàn)問題 已解決 帖子的添加 確保帖子準(zhǔn)確無誤的添加 添加不成功 有些屬性沒有進(jìn)行正確性檢查 已解決 帖子的刪除 確保帖子信息都刪除 程序運行正常 帖子的修改 確保帖子信息準(zhǔn)確的修改 程序運行正常 帖子的查詢 確保查出要求的信息 沒有達(dá)到要求 SQL語句有誤 已解決 個人信息編輯 確保個人信息成功的修改 程序運行正常 用戶管理 確保對用戶的管理都能操作成功 程序運行正常 論壇管理 確保對論壇的管理都能操作成功 程序運行正常

49、 公告管理 確保對公告的管理都能操作成功 程序運行正常 第8章. 總結(jié)與展望 對于本論壇來說,實現(xiàn)了現(xiàn)在流行論壇的大部分功能,但也存在很多需要改進(jìn)的方面。首先是界面不是很美觀,排版布局都是要進(jìn)過進(jìn)一步美化的。其次是對用戶使用的友好提示做的還不夠,對于某些操作沒有成功的話,應(yīng)該給出相應(yīng)的錯誤信息提示。還有就是可以加入一些功能,如設(shè)置精華帖子,設(shè)置置頂帖子。還可以對發(fā)表帖子和回復(fù)帖子的提交處理時對一些不文明信息進(jìn)行限制輸入。由于時間的關(guān)系,又因為本文的題目是小型論壇系統(tǒng),故只實現(xiàn)了本文中所列的那些功能,其它的功能有待后續(xù)實現(xiàn)。 回顧設(shè)計開發(fā)校園論壇的開發(fā)過程,總結(jié)起來

50、那就是,軟件的開發(fā)是相當(dāng)辛苦的,但成功以后的喜悅也是非常美妙的,其中投入的心血越多,成功以后你所獲得的快樂與充實感也更多更強(qiáng)。 第9章. 參考文獻(xiàn) [1] 耿祥義.JSP實用教程[M].清華大學(xué)出版社,2005年. [2] 屈輝立、陳可明.JSP網(wǎng)站編程教程[M].北京希望電子出版社,2005年. [3] 孫衛(wèi)琴.Java 面向?qū)ο缶幊蘙M].電子工業(yè)出版社,2006年. [4] 孫衛(wèi)琴.精通Struts:基于MVC的Java Web設(shè)計與開發(fā)[M].電子工業(yè)出版社,2004年. [5] (德)鮑爾.

51、Hibernate實戰(zhàn)(第二版)[M].第二版.人民郵電出版社,2008年. [6] (美)沃爾斯、布雷登巴赫.Spring in Action[M].人民郵電出版社,2006年. [7] 孫衛(wèi)琴.Tomcat與Java Web 開發(fā)技術(shù)詳解[M].電子工業(yè)出版社,2005年. [8] 葉清著.動態(tài)Web網(wǎng)頁的設(shè)計與實現(xiàn)[M].第三版.現(xiàn)代機(jī)械出版社,2003年. [9] 喬普拉(美)著.JSP高級程序設(shè)計[M].人民郵電出版社,2005年. [10] 劉斌編著.精通Java Web 整合開發(fā)[M].電子工業(yè)出版社,2008年.

52、 致 謝 在撰寫本文過程中,得到了很多老師同學(xué)的幫助,給他們以誠摯的謝意。該設(shè)計是在黃國軍老師的指導(dǎo)下完成的。從上學(xué)期的開題、分析到撰稿和修改等整個論文撰寫,黃老師都給予了我細(xì)心的指導(dǎo)和比較全面的建議。在此,我向黃國軍老師表達(dá)崇高的敬意和衷心的感謝!黃老師,您辛苦了!謝謝您。 在大學(xué)生活期間,有曾經(jīng)幫助過我的老師們,謝謝你們;謝謝我身邊的同學(xué)和朋友,是你們給我了無微不至的幫助和關(guān)懷,謝謝你們。三年求學(xué)期間是你們給了我?guī)椭?,我才能有今天。每一部分知識的積累都與你們的幫助密不可分,我的今天都是你們給我的!再次感謝所有幫助我的老師和同學(xué)們?。?!謝謝 學(xué)生簽名: 日 期:

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!