




已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
I JAVA 小型論壇系統(tǒng) 的設(shè)計(jì)與實(shí)現(xiàn) 姓名: XX 學(xué)號(hào): 05125016 專業(yè):信息與計(jì)算科學(xué) 指導(dǎo)老師: XXX 摘 要 : 為了方便信息的交流,在結(jié)合動(dòng)態(tài)服務(wù)網(wǎng)頁 (JSP)和 SQL2000 技術(shù)之下開發(fā)了這個(gè)界面友好的 小型論壇 系統(tǒng)。論壇使用動(dòng)態(tài)服務(wù)網(wǎng)頁 (JSP)技術(shù)建設(shè)論壇的骨干框架,使用 SQL2000 制作系統(tǒng)的數(shù)據(jù)庫,利用了 Struts、 Spring、 Hibernate三大框架技術(shù)的部分知識(shí)點(diǎn),還結(jié)合使用了 AJAX 技術(shù),通過這些實(shí)現(xiàn)了一個(gè)功能相對(duì)齊全的論壇系統(tǒng)。 該論壇 為網(wǎng)友們提供了一個(gè)交流的平臺(tái) ,在這里 注冊(cè) 用戶 可以自由地發(fā)表自己的觀點(diǎn)和對(duì)論壇的主題 帖子 發(fā)表意見, 還可以及時(shí)的解決網(wǎng)友提出的 問題,獲取對(duì)自己有用的知識(shí)。該論壇還有一些特殊的功能,強(qiáng)大的搜索功能等。 關(guān)鍵詞 : 動(dòng)態(tài)服務(wù)網(wǎng)頁 ;論壇 ;SQL2000;AJAX; II Small BBS Forum System Abstract: In order to exchange the information expediently, the small forum is developed under the technologies of JSP and SQL2000. The main frames of the forum system is built by the technologies of JSP and SQL2000 database, part of the three instructions of Struts, Spring, Hibernate and AJAX, All of those above is to provide a relatively complete functions of the forum system. The forum system provides a platform of communication, herein, the users who have registered ahead can express their ideas freely and give some advice about the subjects, moreover, you can solve the questions asked by online friends and obtain useful knowledge for yourself from the forum. By the way, the some other especial functions is also added, such as the powerful search engineering. Keywords: Java Server Pages; BBS; SQL2000; AJAX; 目 錄 1 前 言 . 1 2 系統(tǒng)技術(shù)及運(yùn)行環(huán)境 . 3 2.1 JSP 技術(shù)簡(jiǎn)介 . 3 2.2 JAVABEAN 技術(shù)簡(jiǎn)介 . 3 2.3 其它的一些技術(shù) . 3 2.4 運(yùn)行環(huán)境 . 3 3 系統(tǒng)需求分析說明 . 5 3.1 系統(tǒng)介紹 . 5 3.2 功能需求 . 5 4 總體設(shè)計(jì) . 6 4.1 總體結(jié)構(gòu)和模塊設(shè)計(jì) . 6 4.2 處理流程 . 6 5 數(shù)據(jù)庫設(shè)計(jì) . 8 5.1 數(shù)據(jù)庫結(jié)構(gòu)屬性圖 . 8 5.2 數(shù)據(jù)庫表格設(shè)計(jì) . 9 6 系統(tǒng)詳細(xì)設(shè)計(jì) . 11 6.1 前臺(tái)頁面 . 12 6.2 后臺(tái)頁面 . 17 6.3 系統(tǒng)設(shè)計(jì)主要代碼及配置文件 . 20 7 測(cè)試 . 26 7.1 測(cè)試方法 . 26 7.2 測(cè)試范圍 . 26 7.3 測(cè)試報(bào)告 . 26 8 總結(jié)與展望 . 27 參考文獻(xiàn) . 28 致 謝 . 29 1 1 前 言 進(jìn)入 21 世紀(jì),計(jì)算機(jī)技術(shù)迅速向著網(wǎng)絡(luò)化的、集成化方向發(fā)展。傳統(tǒng)的單機(jī)版應(yīng)用軟件正在逐漸退出舞臺(tái),取而代之的是支持網(wǎng)絡(luò)、支持多種數(shù)據(jù)信息 (多媒體 )的新一代網(wǎng)絡(luò)版應(yīng)用軟件,而目 前網(wǎng)絡(luò)版軟件中似乎存在著兩種不同的趨勢(shì),一種是稱為客戶端 服務(wù)器的 C/S 結(jié)構(gòu)應(yīng)用系統(tǒng),這類軟件具有結(jié)構(gòu)嚴(yán)謹(jǐn),運(yùn)行效率高,服務(wù)器端壓力小,安全性好等優(yōu)點(diǎn),被廣泛運(yùn)用于局域網(wǎng)中。另一種,也是本畢業(yè)設(shè)計(jì)所采用的,是稱為瀏覽器 服務(wù)器的 B/S 結(jié)構(gòu)應(yīng)用系統(tǒng),它的特點(diǎn)是在客戶端直接采用了功能強(qiáng)大的瀏覽器軟件作為界面,其優(yōu)點(diǎn)在于軟件開發(fā)效率高,客戶端不受操作平臺(tái)的限制、也不受地域的限制,網(wǎng)絡(luò)傳輸量少,即適用于局域網(wǎng),更適用于 Internet,而且投資小、見效快,用戶可以不必進(jìn)行服務(wù)器方面的投資,而是去租用,甚至是免費(fèi) 使用 ISP 的服務(wù)器資源,因而受到越來越多中小型單位的青睞。 本論文就是基于 B/S 結(jié)構(gòu)實(shí)現(xiàn)的。 論壇也常被簡(jiǎn)稱為 BBS(Bulletin Board System)1 。 1978 年 在 美 國 芝 加 哥 開 發(fā) 出 一 套 基 于 8080 芯片的CBBS/Chicago(Computerized Bulletin Board System/Chicago),此乃最早的一套BBS 系統(tǒng) 2。 BBS 發(fā)展至今,目前世界上業(yè)余的 BBS 網(wǎng)絡(luò)除了 FidoNet(惠多網(wǎng) )以外,幾個(gè)較具知名度的還有 EggNet、 AlterNet 和 RBBS-Net 等等 。由于這些網(wǎng)絡(luò)和 FidoNet 之間的信息交流不成問題,這就實(shí)現(xiàn)了所謂的跨網(wǎng)。大約是從 1991年開始,國內(nèi)開始了第一個(gè) BBS 站。經(jīng)過長(zhǎng)時(shí)間的發(fā)展,直到 1995 年,隨著計(jì)算機(jī)及其外設(shè)的大幅降價(jià), BBS 才逐漸被人們所認(rèn)識(shí)。 1996 年更是以驚人的速度發(fā)展起來。國內(nèi)的 BBS 站,按其性質(zhì)劃分,可以分為兩種:一種是商業(yè) BBS站,如新華龍訊網(wǎng);另一種是業(yè)余 BBS 站,如天堂資訊站。由于使用商業(yè) BBS站要交納一筆費(fèi)用,而商業(yè)站所能提供的服務(wù)與業(yè)余站相比,并沒有什么優(yōu)勢(shì),所以其用戶數(shù)量不多。多數(shù)業(yè)余 BBS 站的站長(zhǎng),基于個(gè)人關(guān)系, 每天都互相交換電子郵件,漸漸地形成了一個(gè)全國性的電子郵件網(wǎng)絡(luò) China FidoNet(中國惠多網(wǎng) )。于是,各地的用戶都可以通過本地的業(yè)余 BBS 站與遠(yuǎn)在異地的網(wǎng)友互通信息。這種跨地域電子郵件交流正是商業(yè)站無法與業(yè)余站相抗衡的根本因素。由于業(yè)余 BBS 站擁有這種優(yōu)勢(shì),所以使用者都更樂意加入。這里“業(yè)余” 2 字,并不是代表這種類型的 BBS 站的服務(wù)和技術(shù)水平是業(yè)余的,而是指這類 BBS 站的2 性質(zhì)。一般 BBS 站都是由志愿者開發(fā)的。他們付出的不僅是金錢,更多的是精力。其目的是為了推動(dòng)中國計(jì)算機(jī)網(wǎng)絡(luò)的健康發(fā)展,提高廣大計(jì)算機(jī)用 戶的應(yīng)用水平 3。 BBS 是互聯(lián)網(wǎng)一種人與人之間交互的必備工具,特別是做網(wǎng)站必備。以前我們一直用留言本形式,但是隨著您的網(wǎng)站的大規(guī)?;?,越來越多的迫切需要一種可以易于維護(hù)和易于交流的平臺(tái),那就要用 BBS。 BBS 可以通過 WEB 瀏覽器訪問,并且實(shí)現(xiàn)上傳文件等諸多功能。網(wǎng)民們便逐步開始接受這種使用方便快捷、功能日漸強(qiáng)大的系統(tǒng)。在它上面網(wǎng)民們可以張貼和發(fā)布各種各樣的信息,討論各式話題 。 隨著中國網(wǎng)絡(luò)的普及和計(jì)算機(jī)及其外設(shè)的大幅度降價(jià), Internet 這個(gè)概念逐漸深入人心。中國網(wǎng)民的數(shù)量呈幾何級(jí)數(shù)量增長(zhǎng), BBS 的普 及程度也直追 Email。每個(gè)網(wǎng)站幾乎都擁有自己的 BBS 或者 BBS 鏈接 , BBS 社區(qū)提供給用戶的服務(wù)是全面而且非常友好的,用戶在社區(qū)中可以根據(jù)自己的喜好設(shè)置不同的顯示風(fēng)格,根據(jù)自己的需求定制各種服務(wù) 4。通過論壇更加快捷的了解企業(yè)員工的信息,而建立會(huì)員服務(wù)的基礎(chǔ)是建系論壇管理系統(tǒng)!通過應(yīng)用該系統(tǒng)可以實(shí)現(xiàn)用戶與用戶間的交流、企業(yè)與企業(yè)間的信息交互,利用網(wǎng)絡(luò)經(jīng)濟(jì)而又快捷地與外界進(jìn)行各種信息溝通,取得更有用的信息資源。 論壇系統(tǒng)服務(wù)已經(jīng)是互聯(lián)網(wǎng)站一種極為常見的互動(dòng)交流服務(wù)。論壇可以向網(wǎng)友提供開放性的分類專題討論區(qū)服 務(wù),可以在此發(fā)表自己的某些觀感、交流某些技術(shù)、經(jīng)驗(yàn)?zāi)酥寥松母形蚺c憂歡,亦可以做為網(wǎng)友們之間的交流渠道,網(wǎng)站亦可在此回答網(wǎng)友們提出的問題或發(fā)布某些消息。通過論壇的方式,增強(qiáng)個(gè)人與個(gè)人,團(tuán)體與團(tuán)體,個(gè)人與團(tuán)體之間的交流聯(lián)系,在 Internet 上實(shí)現(xiàn)信息的傳遞,提高辦事效率 5。因此論壇建設(shè)在 Internet 應(yīng)用上的地位顯而易見,它已成為現(xiàn)代人溝通和獲取信息的重要組成部分,從而倍受人們的重視。 本文利用 JSP 和 SQL Server 2000 做一個(gè)在線論壇系統(tǒng)。該系統(tǒng)以 Internet為平臺(tái),前臺(tái)可使任何人注冊(cè) 、登陸在論壇上進(jìn)行發(fā)貼及討論,版主可以進(jìn)行一部分管理。而管理員也可以在后臺(tái)進(jìn)行相關(guān)的管理。 3 2 系統(tǒng)技術(shù)及運(yùn)行環(huán)境 2.1 JSP 技術(shù)簡(jiǎn)介 JSP 是服務(wù)器端的腳本語言,是以 SERVLET 為基礎(chǔ)開發(fā)而成的動(dòng)態(tài)網(wǎng)頁生成技術(shù),它的底層實(shí)現(xiàn)是 JAVA SERVLET。 JSP(JAVA SERVER PAGES)由 HTML代碼和潛入其中的 JAVA 代碼所組成 6。服務(wù)器在頁面被客戶端請(qǐng)求以后對(duì)這些代碼進(jìn)行處理,然后將生產(chǎn)的 HTML 頁面返回客戶端的瀏覽器 JSP 的特點(diǎn)是面向?qū)ο蟆?跨平臺(tái)、 和 SERVLET 一樣穩(wěn)定、 可以使用 SERVLET 提供的 API,同時(shí)克服了 SERVLET 的缺點(diǎn)。在使用 JSP 時(shí)一般和 JAVABEANS 結(jié)合使用,從而將界面表現(xiàn)和業(yè)務(wù)邏輯分離 7。 2.2 JAVABEAN 技術(shù)簡(jiǎn)介 JAVABEAN 是基于 JAVA 的組建模型,有點(diǎn)類似于 MICROSOFT 的 COM 組建。 在 JAVA 平臺(tái)中,可以無限擴(kuò)充 JAVA 程序的功能,通過 JAVABEAN 的組合可以快速生產(chǎn)新的應(yīng)用程序。對(duì)于程序員來說,最好的一點(diǎn)就是 JAVABEAN可以實(shí)現(xiàn)代碼的重復(fù)利用,另外對(duì)于程序的易維護(hù)性等等也有很重大的意義。JAVABEAN 通過 JAVA 虛擬機(jī) (JAVA VIRTUAL MACHINE) 執(zhí)行,運(yùn)行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。 2.3 其它的一些技術(shù) 本系統(tǒng)還使用了一些其它的技術(shù),如 Struts9, Hibernate10, Spring11, AJAX等。這些都會(huì)在后面的代碼處作相應(yīng)的介紹。 2.4 運(yùn)行環(huán)境 為了保證 BBS 論壇管理系統(tǒng)運(yùn)行的高效性和可靠性,服務(wù) 器應(yīng)具有較高的軟硬件配置,客戶端的要求不是很高。此應(yīng)用程序可廣泛運(yùn)行于國際互聯(lián)網(wǎng)即Internet,也可適用于內(nèi)部的局域網(wǎng)。其運(yùn)行要求如下: 軟件環(huán)境: 客戶端: Windows95/98/2000/XP, Internet Explorer(IE6.0 及其以上版本 )等。 4 服務(wù)器端: Windows NT/Windows2000, Tomcat 5.012,JDK 1.5 及其以上版本,IE6.0 及其以上版本 等; 數(shù)據(jù)庫:采用 SQL2000,運(yùn)行于服務(wù)器端。 硬件環(huán)境: 服務(wù)器 CPU: PIII 500 以上 , 內(nèi)存: 512M 以上。 客戶機(jī) CPU: P200MMX 以上,內(nèi)存: 32M 以上。 5 3 系統(tǒng)需求分析說明 3.1 系統(tǒng)介紹 本系統(tǒng)是基 于 B/S 結(jié)構(gòu)的一個(gè)小型論壇,主要基于 Windows 平臺(tái),通過這個(gè)論壇,用戶之間可以實(shí)現(xiàn)互動(dòng)交流。 3.2 功能需求 通過對(duì)網(wǎng)上的一些著名論壇的認(rèn)識(shí),該論壇至少應(yīng)該實(shí)現(xiàn)以下功能 : (1) 注冊(cè)管理:能夠?qū)τ脩裘艽a的簡(jiǎn)單驗(yàn)證,能夠防止利用頁面刷新重復(fù)注冊(cè),已經(jīng)存在的用戶名稱不能重復(fù)注冊(cè)。 (2) 瀏覽帖子:可以根據(jù)作者或內(nèi)容等為關(guān)鍵字搜索帖子,分論壇版塊顯示帖子,顯示帖子詳情,瀏覽帖子時(shí)不要求用戶 登錄,但回復(fù)帖子前用戶必須登錄。 (3) 發(fā)表及回復(fù)帖子:只有登錄用戶才可以發(fā)表和回復(fù)帖子,并且對(duì)帖子的字?jǐn)?shù)有限制。 (4) 用戶個(gè)人信息管理:登陸用戶可以編輯注冊(cè)后的個(gè)人資料,如修改密碼等,但是不可以修改用戶名稱。也可以對(duì)自己發(fā)表的帖子進(jìn)行操作:如修改,刪除。 (5) 回復(fù)管理:各論壇版塊的版主可以對(duì)自己管理的版塊的帖子的回復(fù)的帖子進(jìn)行管理,可以屏蔽回復(fù)。 (6) 論壇版塊管理:只有管理員有該權(quán)限,管理員可以添加,刪除版塊,也可以修改版塊資料,如版塊名稱,上級(jí)版塊,版主。 (7) 用戶管理:只有管理員有該 權(quán)限,管理員可以禁用,啟用用戶,進(jìn)行用戶密碼重置。 (8) 公告管理:只有管理員有該權(quán)限,管理員可以添加,刪除公告。 (9) 帖子管理:各論壇版塊的版主可以對(duì)自己管理的版塊的帖子進(jìn)行管理,可以屏蔽和刪除帖子。 6 4 總體設(shè)計(jì) 本系統(tǒng)采用 B/S 模式設(shè)計(jì),方便系統(tǒng)的維護(hù)和使用。采取 MVC 設(shè)計(jì)模式與多層架構(gòu)的基于 J2EE 平臺(tái)的設(shè)計(jì) 13,使系統(tǒng)擁有良好的擴(kuò)展性,在滿足當(dāng)前使用需求同時(shí)還兼顧系統(tǒng)以后可能的功能擴(kuò)充。系統(tǒng)分成幾個(gè)相對(duì)獨(dú)立的模塊,但這些模塊都進(jìn)行集中式管理。 4.1 總體結(jié)構(gòu)和模塊設(shè)計(jì) 該系統(tǒng)可分為前臺(tái)和后臺(tái) 兩個(gè)部分,前臺(tái)是提供給一般用戶和版主使用的,后臺(tái)是提供給管理員進(jìn)行一些系統(tǒng)維護(hù)的。 功能結(jié)構(gòu)圖如下: 圖 3.1 系統(tǒng)功能結(jié)構(gòu)圖 4.2 處理流程 對(duì)于本系統(tǒng)的使用者來說,可以分為以下幾類:未注冊(cè)的用戶,已注冊(cè)的用戶。已注冊(cè)的用戶又可以分為一般用戶、版主、管理員三類。根據(jù)用戶角色的不同,用戶擁有的權(quán)限也會(huì)不同。根據(jù)這個(gè)來分析該系統(tǒng)的業(yè)務(wù)流程。 系統(tǒng)的 業(yè)務(wù)流程如 圖 3.2 所示 : 小型 BBS 論壇管理系統(tǒng) 前臺(tái)功能 后臺(tái)功能 瀏覽搜索帖子 用戶登陸注冊(cè) 發(fā)表回復(fù)帖子 個(gè)人資料管理 帖子管理 用戶管理 論壇版塊管理 公告管理 7 圖 3.2 業(yè)務(wù)流程圖 8 5 數(shù)據(jù)庫設(shè)計(jì) 在建設(shè)網(wǎng)站系統(tǒng)之前,必須對(duì)系統(tǒng)所用到 的數(shù)據(jù)進(jìn)行大致的分類和具體的結(jié)構(gòu)設(shè)計(jì),既要做到清晰明了,又要能適應(yīng)系統(tǒng)各項(xiàng)功能的調(diào)用,而不至于產(chǎn)生結(jié)構(gòu)上的邏輯混亂,保證關(guān)鍵數(shù)據(jù)在意外情況下不會(huì)被破壞,可以說數(shù)據(jù)庫是系統(tǒng)的重中之重。 數(shù)據(jù)庫設(shè)計(jì)要遵循一些規(guī)則,一個(gè)好的數(shù)據(jù)庫滿足一些嚴(yán)格的約束和要求。盡量分離各實(shí)體對(duì)應(yīng)的表,一個(gè)實(shí)體對(duì)應(yīng)一個(gè)表,分析該實(shí)體有哪些屬性,對(duì)應(yīng)有些什么字段,以及各實(shí)體之間的聯(lián)系。實(shí)體、屬性與聯(lián)系是進(jìn)行概念設(shè)計(jì)時(shí)要考慮的三個(gè)元素,也是一個(gè)好的數(shù)據(jù)庫設(shè)計(jì)的核心 14。 從實(shí)際出發(fā),經(jīng)過仔細(xì)地設(shè)計(jì),得到各表的設(shè)計(jì)如下所示。 5.1 數(shù)據(jù)庫結(jié) 構(gòu)屬性圖 圖 4.1 數(shù)據(jù)庫結(jié)構(gòu)屬性圖 9 5.2 數(shù)據(jù)庫表格設(shè)計(jì) 表 4.1: UserInfo 用戶信息表 列名 說明 類型 備注 uid 主鍵 Int(4) 自增 username 用戶名稱 Varchar(20) Not null password 密碼 Varchar(20) Not null head 頭像 Varchar(20) Not null sign 個(gè)人簽名 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) Not null authorid 作者 Int(4) Not null time 發(fā)表時(shí)間 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ā)表時(shí)間 datetime Not null topicid 回復(fù)的帖子編號(hào) Int(4) Not null 10 表 4.4: Sort 論壇版塊分類表 列名 說明 類型 備注 sid 主鍵 Int(4) 自增 parentid 上級(jí)版塊 Int(4) Not null sortname 版塊名稱 Varchar(50) Not null master 版主名稱 Varchar(20) 允許為 null 表 4.5: Role 角色表 列名 說明 類型 備注 rid 主鍵 Int(4) 自增 description 角色描述 Varchar(10) Not null 表 4.6: Notice 公告表 列名 說明 類型 備注 nid 主鍵 Int(4) 自增 content 公告內(nèi)容 Varchar(100) Not null 11 6 系統(tǒng)詳細(xì)設(shè)計(jì) 前臺(tái)和 后臺(tái)頁面設(shè)計(jì)采用的技術(shù)是 JSP。之所以選擇它是因?yàn)?JSP 技術(shù)具有下面的特點(diǎn): 1) Write Once Run Anywhere JSP 技術(shù)繼承了 JAVA 先天性的先進(jìn)概念 “Write Once Run Anywhere”這種概念正越來越深遠(yuǎn)的影響著互連網(wǎng)行業(yè)的交互式、 WEB 設(shè)計(jì)的理念。 JSP Pages 可以非常容易的開平臺(tái)跨 WEB 服務(wù) 器軟件來是設(shè)計(jì)和開放源代碼。 2)支持多種動(dòng)態(tài)網(wǎng)頁格式 目前對(duì)使用 JSP 技術(shù)設(shè)計(jì)出來的網(wǎng)頁應(yīng)該采取什么樣的格式還沒有一個(gè)明確的標(biāo)準(zhǔn)。一般來說 JSP 技術(shù)即可以支持 HTML/DHTML 的傳統(tǒng)瀏覽器文件格式,又可以支持應(yīng)用與無線通訊設(shè)備例如移動(dòng)電話、 PDA 等設(shè)備進(jìn)行網(wǎng)頁瀏覽器的 VML 文件格式,還可以支持其它一些 B2B 應(yīng)用的 XML 格式。與以往的其它 WEB 應(yīng)用技術(shù)相比較 JSP 技術(shù)有它很鮮明的特點(diǎn)。 3) JSP 標(biāo)簽可擴(kuò) 充 性 盡管 JSP 與 ASP 都使用標(biāo)簽與腳本技術(shù)來制造動(dòng)態(tài) WEB 網(wǎng)頁, 但是 JSP技術(shù)能夠使開發(fā)者擴(kuò)展 JSP 標(biāo)簽,使得應(yīng)用 JSP 的開發(fā)者能定制標(biāo)簽庫所以網(wǎng)頁制作者可以充分利用與 XML 兼容的標(biāo)簽技術(shù),大大減少了對(duì)腳本語言的依賴。由于指定標(biāo)簽庫技術(shù)使得網(wǎng)頁制作者降低了制作網(wǎng)頁和想多個(gè) 網(wǎng)頁擴(kuò)充關(guān)鍵功能的復(fù)雜程度 15。 4) JSP 跨平臺(tái)的可重用性 JSP 的開發(fā)人員在開發(fā)過程中一直關(guān)注可重用性, JSP 足見、企業(yè) JavaBean或制定的標(biāo)簽都是跨平臺(tái)可重用的。企業(yè) JavaBean 可以訪問傳統(tǒng)的數(shù)據(jù)庫并能并能已分布式系統(tǒng)模式工作于 UNIX 和 WINDOWS 平臺(tái), JSP 標(biāo)簽可擴(kuò)充功能為開發(fā)人員提供簡(jiǎn)便的與 XML 兼容的接口,即共享網(wǎng)頁的打包功能使其完全的工業(yè)標(biāo)準(zhǔn)化。這種基于組建的模式能夠有效的提高應(yīng)用程序的開發(fā)效率。因?yàn)檫@種模式能夠使開發(fā)人員利用快捷的子組建快速創(chuàng)建模板應(yīng)用程序。然后再整和一些附加 功能將其打包成一個(gè) JAVABEAN 組建。 5)易于維護(hù)性 基于 JSP 技術(shù)的應(yīng)用程序比基于 ASP 的應(yīng)用程序更易于維護(hù)和管理。腳本12 語言都很好服務(wù)于小的應(yīng)用程序但不能適宜大型的復(fù)雜的應(yīng)用程序,因?yàn)?JAVA是結(jié)構(gòu)化的,它比較比較容易創(chuàng)建和維護(hù)龐大的組建化的應(yīng)用程序。 6.1 前臺(tái)頁面 6.1.1 登錄進(jìn)入論壇首頁頁面 圖 5.1 論壇登錄頁 面 在此頁面中,用戶如果點(diǎn)擊“瀏覽進(jìn)入”這個(gè)超鏈接,即以相當(dāng)于游客的身份進(jìn)入論壇,進(jìn)入的是論壇的首頁 (圖 5.2 所示 ),那么就只擁有瀏覽和搜索帖子的權(quán)限。如果用戶輸入了正確的用戶名稱和密碼,就會(huì)以用戶的身份進(jìn)入論壇的首頁。該用戶就可以擁有更多的權(quán)限,可以瀏覽和搜索帖子,修改個(gè)人資料,刪除和修改自己發(fā)表的主題帖子,發(fā)表和回復(fù)帖子。如果用戶輸入了不正確的信息,則系統(tǒng)阻止進(jìn)入論壇的首頁,還是會(huì)跳轉(zhuǎn)到該登錄頁面。如果用戶點(diǎn)擊了“注冊(cè)”這個(gè)超鏈接,則會(huì)進(jìn)入注冊(cè)頁面 (圖 5.3 所示 )。 6.1.2 論壇首頁 13 圖 5.2 論壇首頁 在該頁面中,顯示了很多信息。主要是各個(gè)版塊的詳細(xì)信息,包括版塊的名稱,版主,發(fā)表于該版塊下的主題帖子總 數(shù),以及最新發(fā)表的帖子的信息。若有發(fā)表的帖子,則顯示該帖子的主題,作者,和發(fā)表時(shí)間,并且提供了帖子主題的超鏈接,點(diǎn)擊后會(huì)進(jìn)入顯示該帖子的詳細(xì)信息頁面。若無發(fā)表的帖子,則顯示暫無。該頁面上還顯示了公告的信息,即公告欄顯示的內(nèi)容。頁面上還提供了搜索帖子的功能,可以根據(jù)作者名稱來精確查找和根據(jù)帖子內(nèi)容來模糊查找。如果用戶是經(jīng)過登錄驗(yàn)證后進(jìn)入該頁面的,頁面會(huì)提供“個(gè)人中心”的超鏈接,點(diǎn)擊此鏈接會(huì)進(jìn)入個(gè)人信息中心頁面 (如圖 5.6 所示 )。如果用戶是通過瀏覽進(jìn)入該頁面的,則不會(huì)提供該超鏈接。 6.1.3 注冊(cè)頁面 14 圖 5.3 注冊(cè) 頁面 用戶可以在該頁面中輸入注冊(cè)資料,包括用戶名,密碼,個(gè)性簽名和頭像。 用戶名,密碼,個(gè)性簽名都是必填的,頭像是默認(rèn)選擇第一個(gè),用戶也可以重新選擇。在用戶提交之前,對(duì)所填的信息都作了驗(yàn)證,包括用戶名非空并且不可重復(fù),密碼非空,密碼長(zhǎng)度必須大于或等于 4,兩次輸入的密碼必須一致,個(gè)性簽名非空,且長(zhǎng)度小于 50。在對(duì)用戶名稱的唯一性驗(yàn)證時(shí),使用了 AJAX 技術(shù),當(dāng)用戶輸入完用戶名,該文本框失去焦點(diǎn)時(shí),會(huì)檢查數(shù)據(jù)庫中是否存在該用戶名, 如果不存在,則在文本框后用藍(lán)色字體顯示“ Ok, 你可以用這個(gè)名稱 !” , 如果存在,則在 文本框后用紅色字體顯示“ No, 這個(gè)名稱已占用 !”。提交成功后,跳轉(zhuǎn)到登錄頁面。 在這里簡(jiǎn)單介紹一下 AJAX 技術(shù)。 AJAX 全稱為 “Asynchronous JavaScript and XML”(異步 JavaScript 和 XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。 它使瀏覽器可以為用戶提供更為自然的瀏覽體驗(yàn)。在 Ajax 之前,Web 站點(diǎn)強(qiáng)制用戶進(jìn)入提交 /等待 /重新顯示范例,用戶的動(dòng)作總是與服務(wù)器的“思考時(shí)間”同步。 Ajax 提供與服務(wù)器異步通信的能力,從而使用戶從請(qǐng)求 /響應(yīng)的循環(huán)中解脫出來。借助于 Ajax,可以在用戶單擊按鈕時(shí),使用 JavaScript 和15 DHTML 立即更新 UI,并向服務(wù)器發(fā)出異步請(qǐng)求,以執(zhí)行更新或查詢數(shù)據(jù)庫。當(dāng)請(qǐng)求返回時(shí),就可以使用 JavaScript 和 CSS 來相應(yīng)地更新 UI,而不是刷新整個(gè)頁面。最重要的是,用戶甚至不知道瀏覽器正在與服務(wù)器通信: Web 站點(diǎn)看起來是即時(shí)響應(yīng)的。 6.1.4 發(fā)表帖子 圖 5.4 發(fā)表頁面 用戶可以在該頁面中填寫帖子的資料,包括標(biāo)題和內(nèi)容。提交之前也作了驗(yàn)證:標(biāo)題非空且長(zhǎng)度小于 50,帖子內(nèi)容非空且長(zhǎng)度小于 2000。為提示用戶控制輸入,通過 JavaScript 實(shí)現(xiàn)了動(dòng)態(tài)顯 示用戶輸入的字符數(shù)目。為避免重復(fù)提交,提供了驗(yàn)證碼,只有輸入了正確的驗(yàn)證碼后才會(huì)提交。 6.1.5 顯示帖子及回復(fù) 16 圖 5.5 顯示貼子與回復(fù)頁面 在該頁面中,顯示了帖子的詳細(xì)信息和回復(fù)的帖子的詳細(xì)信息。并且實(shí)現(xiàn)了分頁功能,每頁顯示 5 個(gè)回復(fù)帖子。只有對(duì)登錄用戶才顯示“回復(fù)帖子”和“發(fā)表話題”兩個(gè)按鈕,以及回復(fù)帖子的表格的顯示。對(duì)于沒有登錄的用戶,則不會(huì)顯示。如果登錄的用戶的身份是版主,而該帖子又是位于該用戶管理的論壇版塊下,則會(huì)在主題帖子后提供“屏蔽此帖”和“刪除”兩個(gè)超鏈接。分別實(shí)現(xiàn)屏蔽帖子和刪除帖子的功能。另外 在回復(fù)的帖子后提供“屏蔽此回復(fù)”超鏈接,實(shí)現(xiàn)對(duì)回復(fù)的帖子的屏蔽操作。 17 6.1.6 顯示個(gè)人中心頁面 圖 5.6 個(gè)人中心頁面 在該頁面中,顯示了用戶的個(gè)人資料和發(fā)表的帖子的信息。當(dāng)用戶點(diǎn)擊“編輯個(gè)人資料”的超鏈接后,會(huì)進(jìn)入修該個(gè)人資料的頁面,實(shí)現(xiàn)對(duì)個(gè)人信息的修改。另外頁面上分頁顯示了用戶發(fā)表的主題帖子,用戶可以這些帖子進(jìn)行修改和刪除操作。 6.2 后臺(tái)頁面 用戶要進(jìn)入后臺(tái)管理頁面,必須先進(jìn)入后臺(tái)管理的登錄頁面,使用了 Filter來實(shí)現(xiàn)過濾。只有登錄成功后,才能進(jìn)入管理頁面。 6.2.1 后臺(tái)登錄 頁面 18 圖 5.7 后臺(tái)頁面 登錄成 功后跳轉(zhuǎn)到后臺(tái)管理頁面,登錄失敗后還是跳轉(zhuǎn)到本頁面。 6.2.2 后臺(tái)管理頁面 圖 5.8 后臺(tái)管理頁面 進(jìn)入到后臺(tái)管理后,首先顯示的是如上圖 5.8 所示的頁面。 6.2.3 用戶管理頁面 19 圖 5.9 用戶管理頁面 點(diǎn)擊后臺(tái)管理頁面的左邊導(dǎo)航欄的“用戶詳細(xì)信息”超鏈接即可進(jìn)入到該頁面。該頁面分頁顯示了用戶的部分資料,包括用戶名,用戶角色,是否禁用。還對(duì)每個(gè)用戶提供了“啟用”,“禁用”,“密碼重置”操作按鈕。管理員可以進(jìn)行與之相對(duì)應(yīng)的操作。這些操作是通過 AJAX 實(shí)現(xiàn)的。 6.2.4 公告管理頁面 圖 5.10 公告管理頁面 點(diǎn)擊后臺(tái)管理頁 面的左邊導(dǎo)航欄的“公告詳細(xì)信息”超鏈接即可進(jìn)入到該頁面。該頁面分頁顯示了公告的詳細(xì)信息,包括公共編號(hào),公共內(nèi)容。管理員可以20 添加公告,刪除公告。點(diǎn)擊頁面上的添加圖標(biāo)即可進(jìn)入到添加公告頁面。點(diǎn)擊某個(gè)公告后的刪除圖標(biāo)即可刪除選定的某個(gè)公告。 6.2.5 論壇版塊管理頁面 圖 5.11 論壇管理頁面 點(diǎn)擊后臺(tái)管理頁面的左邊導(dǎo)航欄的“論壇詳細(xì)信息”超鏈接即可進(jìn)入到該頁面。該頁面分頁顯示了各個(gè)論壇板塊的詳細(xì)信息,包括論壇版塊名稱,上級(jí)版塊名稱,版主。管理員可以對(duì)論壇版塊進(jìn)行添加,修改,刪除操作。點(diǎn)擊頁面上的添加圖標(biāo)即可進(jìn)入到添 加論壇版塊的頁面,完成添加功能。點(diǎn)擊某個(gè)版塊后面的修改圖標(biāo)即可進(jìn)入修改版塊信息的頁面,在修改頁面中可以修改該版塊的名稱,上級(jí)版塊,版主。修改成功后跳轉(zhuǎn)到顯示所有論壇版塊的頁面。點(diǎn)擊某個(gè)版塊后面的刪除圖標(biāo)即可刪除選中的論壇版塊,如果刪除成功就跳轉(zhuǎn)到顯示所有論壇版塊的頁面,如果刪除失敗就跳轉(zhuǎn)到顯示刪除失敗信息的頁面。 6.3 系統(tǒng)設(shè)計(jì)主要代碼及配置文件 6.3.1 分頁的 JavaBean 系統(tǒng)中 的大部分 JSP 頁面需要使用分頁技術(shù),因此使用一個(gè) JavaBean 來專門完成分頁的 功能。以下是此類的 關(guān)鍵 代碼: public class PageModel 21 /所有的記錄數(shù) private int totalRecords; /查詢的結(jié)果集 private List list; /第幾頁 private int pageNo; /每頁多少條數(shù)據(jù) private int pageSize; /提供各成員屬性的 get,set方法 public int getTotalPages() if (totalRecords = 0) return 1; return (totalRecords + pageSize -1)/pageSize; 6.3.2 生成驗(yàn)證碼的代碼 try BufferedImage bf=new BufferedImage(70,25,BufferedImage.TYPE_INT_RGB); Graphics2D g2=bf.createGraphics(); g2.setPaint(new Color(0,0,255); g2.fillRect(0,0,70,25); g2.setPaint(new Color(255,255,255); String str=request.getParameter(num); session.setAttribute(num,str); g2.setFont(new Font(Arial,Font.BOLD,24); g2.drawString(str,7,20); for(int i=0;i Stotype.trim = function() / 用正則表達(dá)式將前后空格,用空字符串替代 return this.replace(/(s*)|(s*$)/g,); function checkname() var uname = document.all.username.value.trim(); if(uname=) window.alert(用戶名不能 為空 !); return false; checkMethod.checkUsername(uname,callback); function callback(result) if(result=canuse) document.getElementById(user_msg).innerHTML = Ok,你可以用這個(gè)名稱 !; else document.getElementById(user_msg).innerHTML = No,這個(gè)名稱已占用 !; document.getElementById(username).focus(); 25 return true; 26 7 測(cè)試 7.1 測(cè)試方法 由于本系統(tǒng)的設(shè)計(jì)人員和測(cè)試人員都是本人,很了解系統(tǒng)的內(nèi)部結(jié)構(gòu)和處理過程,所以測(cè)試方式采用的是動(dòng)態(tài)測(cè)試方法中的白盒測(cè)試。 7.2 測(cè)試范圍 用戶的登錄;帖子的添加、刪除、修改、查詢;用戶的個(gè)人信息編輯;管理員對(duì)用戶、論壇版塊、公告的管理。 7.3 測(cè)試報(bào)告 測(cè)試項(xiàng)目 測(cè)試目的 測(cè)試結(jié)果 原因 解決情況 用戶登錄 確保系統(tǒng)的安全性 不敢肯定系統(tǒng)一定安全 存在一些其它的因素 仍在解決 帖子的添加 確保帖子準(zhǔn)確無誤的添加 添加不成功 有些屬性沒有進(jìn)行正確性檢查 已解決 帖子的刪除 確保帖子信息都刪除 程序運(yùn)行正常 帖子的修改 確保帖子信息準(zhǔn)確的修改 程序運(yùn)行正常 帖子的查詢 確保查出要求的信息 沒有達(dá)到要求 SQL 語句有誤 已解決 個(gè)人信息編輯 確保個(gè)人信息成功的修改 程序運(yùn)行正常 用戶管理 確保對(duì)用戶的管理都能操作成功 程序運(yùn)行正常 論壇管理 確保對(duì) 論壇的管理都能操作成功 程序運(yùn)行正常 公告管理 確保對(duì)公告的管理都能操作成功 程序運(yùn)行正常 27 8 總結(jié)與展望 在計(jì)算機(jī)網(wǎng)絡(luò)飛速發(fā)展的今天, BBS 已經(jīng)成為人們網(wǎng)上交流的重要平臺(tái),因此對(duì) BBS 論壇的研究是十分必要的。設(shè)計(jì)和開發(fā)了一個(gè)最基本的基于 WEB的 BBS 系統(tǒng),可擴(kuò)展性很大,科學(xué)的開發(fā)過程也極有利于系統(tǒng)的擴(kuò)充與擴(kuò)展。系統(tǒng)現(xiàn)在采用的是 SQL2000 數(shù)據(jù)庫,視需要可以移植到 SQL2005 或者其它大中型數(shù)據(jù)庫系統(tǒng)環(huán)境下,只需改動(dòng)少數(shù)幾個(gè) JSP 功能模塊文件。系統(tǒng)的分析與定義都結(jié)合了現(xiàn)在流行的面向?qū)ο蠓椒ㄒ约皞?統(tǒng)的結(jié)構(gòu)分析與設(shè)計(jì)方法。 嚴(yán)格按工程的方法來設(shè)計(jì)系統(tǒng)相當(dāng)重要,不能認(rèn)為基于 Web 的數(shù)據(jù)庫管理的 BBS 系統(tǒng)很小,可以無需花太多的時(shí)間來做系統(tǒng)分析,甚至可以無需經(jīng)過系統(tǒng)定義而直接進(jìn)入系統(tǒng)編碼階段。系統(tǒng)分析過于簡(jiǎn)單,系統(tǒng)定義過于抽象,則在系統(tǒng)設(shè)計(jì)與編碼階段遇到的困難就越多,特別是其中若不得不做一些功能性甚至系統(tǒng)結(jié)構(gòu)性方面的變動(dòng),將面對(duì)許多重復(fù)性的工作。在設(shè)計(jì)開發(fā) BBS 論壇過程中重復(fù)工作過多,將會(huì)極大地影響系統(tǒng)開發(fā)的積極性,進(jìn)而影響整個(gè)系統(tǒng)的質(zhì)量。系統(tǒng)分析越充分,系統(tǒng)定義越具體,那么后續(xù)的系統(tǒng)設(shè)計(jì)與開發(fā)工作就越有效 率,且系統(tǒng)的質(zhì)量也越有保障。 對(duì)于本論壇來說,實(shí)現(xiàn)了現(xiàn)在流行論壇的大部分功能,但也存在很多需要改進(jìn)的方面。首先是界面不是很美觀,排版布局都是要進(jìn)過進(jìn)一步美化的。其次是對(duì)用戶使用的友好提示做的還不夠,對(duì)于某些操作沒有成功的話,應(yīng)該給出相應(yīng)的錯(cuò)誤信息提示。還有就是可以加入一些功能,如設(shè)置精華帖子 17,設(shè)置置頂帖子。還可以對(duì)發(fā)表帖子和回復(fù)帖子的提交處理時(shí)對(duì)一些不文明信息進(jìn)行限制輸入 18。由于時(shí)間的關(guān)系,又因?yàn)楸疚牡念}目是小型論壇系統(tǒng),故只實(shí)現(xiàn)了本文中所列的那些功能,其它的功能有待后續(xù)實(shí)現(xiàn)。 回顧設(shè)計(jì)開發(fā) BBS 論壇的開發(fā)過程,總結(jié)起來那就是,軟件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 普通設(shè)備租賃管理辦法
- 液氯企業(yè)安全風(fēng)險(xiǎn)隱患排查表
- 景區(qū)物業(yè)收費(fèi)管理辦法
- 幕墻工程工作總結(jié)
- 高校數(shù)字化資源服務(wù)系統(tǒng)用戶體驗(yàn)優(yōu)化
- 當(dāng)代男性面臨的困境與挑戰(zhàn)
- 跨層網(wǎng)絡(luò)安全防護(hù)-洞察及研究
- 安全日常安全檢查表
- 光伏施工安全事故
- 數(shù)據(jù)科學(xué)在校園管理中的應(yīng)用
- translated-NCCN臨床實(shí)踐指南:非小細(xì)胞肺癌(中文版2022.V5)
- GB/T 8312-2002茶咖啡堿測(cè)定
- 通信線路工程施工組織設(shè)計(jì)方案【實(shí)用文檔】doc
- 護(hù)士注冊(cè)健康體檢表下載【可直接打印版本】
- 預(yù)計(jì)財(cái)務(wù)報(bào)表編制及分析課件
- 學(xué)生集體外出活動(dòng)備案表
- Q∕SY 1347-2010 石油化工蒸汽透平式壓縮機(jī)組節(jié)能監(jiān)測(cè)方法
- 西門子順序功能圖語言S7-Graph的應(yīng)用
- 中醫(yī)治療室工作制度管理辦法
- 提花裝造工藝技術(shù)培訓(xùn)課程
- 直播傳媒公司簡(jiǎn)介PPT課件(參考)
評(píng)論
0/150
提交評(píng)論