已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
I JAVA 小型論壇系統(tǒng) 的設計與實現(xiàn) 姓名: XX 學號: 05125016 專業(yè):信息與計算科學 指導老師: XXX 摘 要 : 為了方便信息的交流,在結(jié)合動態(tài)服務網(wǎng)頁 (JSP)和 SQL2000 技術(shù)之下開發(fā)了這個界面友好的 小型論壇 系統(tǒng)。論壇使用動態(tài)服務網(wǎng)頁 (JSP)技術(shù)建設論壇的骨干框架,使用 SQL2000 制作系統(tǒng)的數(shù)據(jù)庫,利用了 Struts、 Spring、 Hibernate三大框架技術(shù)的部分知識點,還結(jié)合使用了 AJAX 技術(shù),通過這些實現(xiàn)了一個功能相對齊全的論壇系統(tǒng)。 該論壇 為網(wǎng)友們提供了一個交流的平臺 ,在這里 注冊 用戶 可以自由地發(fā)表自己的觀點和對論壇的主題 帖子 發(fā)表意見, 還可以及時的解決網(wǎng)友提出的 問題,獲取對自己有用的知識。該論壇還有一些特殊的功能,強大的搜索功能等。 關鍵詞 : 動態(tài)服務網(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ù)及運行環(huán)境 . 3 2.1 JSP 技術(shù)簡介 . 3 2.2 JAVABEAN 技術(shù)簡介 . 3 2.3 其它的一些技術(shù) . 3 2.4 運行環(huán)境 . 3 3 系統(tǒng)需求分析說明 . 5 3.1 系統(tǒng)介紹 . 5 3.2 功能需求 . 5 4 總體設計 . 6 4.1 總體結(jié)構(gòu)和模塊設計 . 6 4.2 處理流程 . 6 5 數(shù)據(jù)庫設計 . 8 5.1 數(shù)據(jù)庫結(jié)構(gòu)屬性圖 . 8 5.2 數(shù)據(jù)庫表格設計 . 9 6 系統(tǒng)詳細設計 . 11 6.1 前臺頁面 . 12 6.2 后臺頁面 . 17 6.3 系統(tǒng)設計主要代碼及配置文件 . 20 7 測試 . 26 7.1 測試方法 . 26 7.2 測試范圍 . 26 7.3 測試報告 . 26 8 總結(jié)與展望 . 27 參考文獻 . 28 致 謝 . 29 1 1 前 言 進入 21 世紀,計算機技術(shù)迅速向著網(wǎng)絡化的、集成化方向發(fā)展。傳統(tǒng)的單機版應用軟件正在逐漸退出舞臺,取而代之的是支持網(wǎng)絡、支持多種數(shù)據(jù)信息 (多媒體 )的新一代網(wǎng)絡版應用軟件,而目 前網(wǎng)絡版軟件中似乎存在著兩種不同的趨勢,一種是稱為客戶端 服務器的 C/S 結(jié)構(gòu)應用系統(tǒng),這類軟件具有結(jié)構(gòu)嚴謹,運行效率高,服務器端壓力小,安全性好等優(yōu)點,被廣泛運用于局域網(wǎng)中。另一種,也是本畢業(yè)設計所采用的,是稱為瀏覽器 服務器的 B/S 結(jié)構(gòu)應用系統(tǒng),它的特點是在客戶端直接采用了功能強大的瀏覽器軟件作為界面,其優(yōu)點在于軟件開發(fā)效率高,客戶端不受操作平臺的限制、也不受地域的限制,網(wǎng)絡傳輸量少,即適用于局域網(wǎng),更適用于 Internet,而且投資小、見效快,用戶可以不必進行服務器方面的投資,而是去租用,甚至是免費 使用 ISP 的服務器資源,因而受到越來越多中小型單位的青睞。 本論文就是基于 B/S 結(jié)構(gòu)實現(xià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)絡除了 FidoNet(惠多網(wǎng) )以外,幾個較具知名度的還有 EggNet、 AlterNet 和 RBBS-Net 等等 。由于這些網(wǎng)絡和 FidoNet 之間的信息交流不成問題,這就實現(xiàn)了所謂的跨網(wǎng)。大約是從 1991年開始,國內(nèi)開始了第一個 BBS 站。經(jīng)過長時間的發(fā)展,直到 1995 年,隨著計算機及其外設的大幅降價, BBS 才逐漸被人們所認識。 1996 年更是以驚人的速度發(fā)展起來。國內(nèi)的 BBS 站,按其性質(zhì)劃分,可以分為兩種:一種是商業(yè) BBS站,如新華龍訊網(wǎng);另一種是業(yè)余 BBS 站,如天堂資訊站。由于使用商業(yè) BBS站要交納一筆費用,而商業(yè)站所能提供的服務與業(yè)余站相比,并沒有什么優(yōu)勢,所以其用戶數(shù)量不多。多數(shù)業(yè)余 BBS 站的站長,基于個人關系, 每天都互相交換電子郵件,漸漸地形成了一個全國性的電子郵件網(wǎng)絡 China FidoNet(中國惠多網(wǎng) )。于是,各地的用戶都可以通過本地的業(yè)余 BBS 站與遠在異地的網(wǎng)友互通信息。這種跨地域電子郵件交流正是商業(yè)站無法與業(yè)余站相抗衡的根本因素。由于業(yè)余 BBS 站擁有這種優(yōu)勢,所以使用者都更樂意加入。這里“業(yè)余” 2 字,并不是代表這種類型的 BBS 站的服務和技術(shù)水平是業(yè)余的,而是指這類 BBS 站的2 性質(zhì)。一般 BBS 站都是由志愿者開發(fā)的。他們付出的不僅是金錢,更多的是精力。其目的是為了推動中國計算機網(wǎng)絡的健康發(fā)展,提高廣大計算機用 戶的應用水平 3。 BBS 是互聯(lián)網(wǎng)一種人與人之間交互的必備工具,特別是做網(wǎng)站必備。以前我們一直用留言本形式,但是隨著您的網(wǎng)站的大規(guī)?;?,越來越多的迫切需要一種可以易于維護和易于交流的平臺,那就要用 BBS。 BBS 可以通過 WEB 瀏覽器訪問,并且實現(xiàn)上傳文件等諸多功能。網(wǎng)民們便逐步開始接受這種使用方便快捷、功能日漸強大的系統(tǒng)。在它上面網(wǎng)民們可以張貼和發(fā)布各種各樣的信息,討論各式話題 。 隨著中國網(wǎng)絡的普及和計算機及其外設的大幅度降價, Internet 這個概念逐漸深入人心。中國網(wǎng)民的數(shù)量呈幾何級數(shù)量增長, BBS 的普 及程度也直追 Email。每個網(wǎng)站幾乎都擁有自己的 BBS 或者 BBS 鏈接 , BBS 社區(qū)提供給用戶的服務是全面而且非常友好的,用戶在社區(qū)中可以根據(jù)自己的喜好設置不同的顯示風格,根據(jù)自己的需求定制各種服務 4。通過論壇更加快捷的了解企業(yè)員工的信息,而建立會員服務的基礎是建系論壇管理系統(tǒng)!通過應用該系統(tǒng)可以實現(xiàn)用戶與用戶間的交流、企業(yè)與企業(yè)間的信息交互,利用網(wǎng)絡經(jīng)濟而又快捷地與外界進行各種信息溝通,取得更有用的信息資源。 論壇系統(tǒng)服務已經(jīng)是互聯(lián)網(wǎng)站一種極為常見的互動交流服務。論壇可以向網(wǎng)友提供開放性的分類專題討論區(qū)服 務,可以在此發(fā)表自己的某些觀感、交流某些技術(shù)、經(jīng)驗乃至人生的感悟與憂歡,亦可以做為網(wǎng)友們之間的交流渠道,網(wǎng)站亦可在此回答網(wǎng)友們提出的問題或發(fā)布某些消息。通過論壇的方式,增強個人與個人,團體與團體,個人與團體之間的交流聯(lián)系,在 Internet 上實現(xiàn)信息的傳遞,提高辦事效率 5。因此論壇建設在 Internet 應用上的地位顯而易見,它已成為現(xiàn)代人溝通和獲取信息的重要組成部分,從而倍受人們的重視。 本文利用 JSP 和 SQL Server 2000 做一個在線論壇系統(tǒng)。該系統(tǒng)以 Internet為平臺,前臺可使任何人注冊 、登陸在論壇上進行發(fā)貼及討論,版主可以進行一部分管理。而管理員也可以在后臺進行相關的管理。 3 2 系統(tǒng)技術(shù)及運行環(huán)境 2.1 JSP 技術(shù)簡介 JSP 是服務器端的腳本語言,是以 SERVLET 為基礎開發(fā)而成的動態(tài)網(wǎng)頁生成技術(shù),它的底層實現(xiàn)是 JAVA SERVLET。 JSP(JAVA SERVER PAGES)由 HTML代碼和潛入其中的 JAVA 代碼所組成 6。服務器在頁面被客戶端請求以后對這些代碼進行處理,然后將生產(chǎn)的 HTML 頁面返回客戶端的瀏覽器 JSP 的特點是面向?qū)ο蟆?跨平臺、 和 SERVLET 一樣穩(wěn)定、 可以使用 SERVLET 提供的 API,同時克服了 SERVLET 的缺點。在使用 JSP 時一般和 JAVABEANS 結(jié)合使用,從而將界面表現(xiàn)和業(yè)務邏輯分離 7。 2.2 JAVABEAN 技術(shù)簡介 JAVABEAN 是基于 JAVA 的組建模型,有點類似于 MICROSOFT 的 COM 組建。 在 JAVA 平臺中,可以無限擴充 JAVA 程序的功能,通過 JAVABEAN 的組合可以快速生產(chǎn)新的應用程序。對于程序員來說,最好的一點就是 JAVABEAN可以實現(xiàn)代碼的重復利用,另外對于程序的易維護性等等也有很重大的意義。JAVABEAN 通過 JAVA 虛擬機 (JAVA VIRTUAL MACHINE) 執(zhí)行,運行JAVABEAN 最小的需求 是 JDK1.1 或者以上的版本。 JAVABEAN 傳統(tǒng)的應用在于可視化的領域,如 AWT 下的應用。自從 JSP 誕生后, JAVABEAN 更多的應用在了非可視化領域,在服務器端應用方面表現(xiàn)出了越來越強的生命力 8。 2.3 其它的一些技術(shù) 本系統(tǒng)還使用了一些其它的技術(shù),如 Struts9, Hibernate10, Spring11, AJAX等。這些都會在后面的代碼處作相應的介紹。 2.4 運行環(huán)境 為了保證 BBS 論壇管理系統(tǒng)運行的高效性和可靠性,服務 器應具有較高的軟硬件配置,客戶端的要求不是很高。此應用程序可廣泛運行于國際互聯(lián)網(wǎng)即Internet,也可適用于內(nèi)部的局域網(wǎng)。其運行要求如下: 軟件環(huán)境: 客戶端: Windows95/98/2000/XP, Internet Explorer(IE6.0 及其以上版本 )等。 4 服務器端: Windows NT/Windows2000, Tomcat 5.012,JDK 1.5 及其以上版本,IE6.0 及其以上版本 等; 數(shù)據(jù)庫:采用 SQL2000,運行于服務器端。 硬件環(huán)境: 服務器 CPU: PIII 500 以上 , 內(nèi)存: 512M 以上。 客戶機 CPU: P200MMX 以上,內(nèi)存: 32M 以上。 5 3 系統(tǒng)需求分析說明 3.1 系統(tǒng)介紹 本系統(tǒng)是基 于 B/S 結(jié)構(gòu)的一個小型論壇,主要基于 Windows 平臺,通過這個論壇,用戶之間可以實現(xiàn)互動交流。 3.2 功能需求 通過對網(wǎng)上的一些著名論壇的認識,該論壇至少應該實現(xiàn)以下功能 : (1) 注冊管理:能夠?qū)τ脩裘?,密碼的簡單驗證,能夠防止利用頁面刷新重復注冊,已經(jīng)存在的用戶名稱不能重復注冊。 (2) 瀏覽帖子:可以根據(jù)作者或內(nèi)容等為關鍵字搜索帖子,分論壇版塊顯示帖子,顯示帖子詳情,瀏覽帖子時不要求用戶 登錄,但回復帖子前用戶必須登錄。 (3) 發(fā)表及回復帖子:只有登錄用戶才可以發(fā)表和回復帖子,并且對帖子的字數(shù)有限制。 (4) 用戶個人信息管理:登陸用戶可以編輯注冊后的個人資料,如修改密碼等,但是不可以修改用戶名稱。也可以對自己發(fā)表的帖子進行操作:如修改,刪除。 (5) 回復管理:各論壇版塊的版主可以對自己管理的版塊的帖子的回復的帖子進行管理,可以屏蔽回復。 (6) 論壇版塊管理:只有管理員有該權(quán)限,管理員可以添加,刪除版塊,也可以修改版塊資料,如版塊名稱,上級版塊,版主。 (7) 用戶管理:只有管理員有該 權(quán)限,管理員可以禁用,啟用用戶,進行用戶密碼重置。 (8) 公告管理:只有管理員有該權(quán)限,管理員可以添加,刪除公告。 (9) 帖子管理:各論壇版塊的版主可以對自己管理的版塊的帖子進行管理,可以屏蔽和刪除帖子。 6 4 總體設計 本系統(tǒng)采用 B/S 模式設計,方便系統(tǒng)的維護和使用。采取 MVC 設計模式與多層架構(gòu)的基于 J2EE 平臺的設計 13,使系統(tǒng)擁有良好的擴展性,在滿足當前使用需求同時還兼顧系統(tǒng)以后可能的功能擴充。系統(tǒng)分成幾個相對獨立的模塊,但這些模塊都進行集中式管理。 4.1 總體結(jié)構(gòu)和模塊設計 該系統(tǒng)可分為前臺和后臺 兩個部分,前臺是提供給一般用戶和版主使用的,后臺是提供給管理員進行一些系統(tǒng)維護的。 功能結(jié)構(gòu)圖如下: 圖 3.1 系統(tǒng)功能結(jié)構(gòu)圖 4.2 處理流程 對于本系統(tǒng)的使用者來說,可以分為以下幾類:未注冊的用戶,已注冊的用戶。已注冊的用戶又可以分為一般用戶、版主、管理員三類。根據(jù)用戶角色的不同,用戶擁有的權(quán)限也會不同。根據(jù)這個來分析該系統(tǒng)的業(yè)務流程。 系統(tǒng)的 業(yè)務流程如 圖 3.2 所示 : 小型 BBS 論壇管理系統(tǒng) 前臺功能 后臺功能 瀏覽搜索帖子 用戶登陸注冊 發(fā)表回復帖子 個人資料管理 帖子管理 用戶管理 論壇版塊管理 公告管理 7 圖 3.2 業(yè)務流程圖 8 5 數(shù)據(jù)庫設計 在建設網(wǎng)站系統(tǒng)之前,必須對系統(tǒng)所用到 的數(shù)據(jù)進行大致的分類和具體的結(jié)構(gòu)設計,既要做到清晰明了,又要能適應系統(tǒng)各項功能的調(diào)用,而不至于產(chǎn)生結(jié)構(gòu)上的邏輯混亂,保證關鍵數(shù)據(jù)在意外情況下不會被破壞,可以說數(shù)據(jù)庫是系統(tǒng)的重中之重。 數(shù)據(jù)庫設計要遵循一些規(guī)則,一個好的數(shù)據(jù)庫滿足一些嚴格的約束和要求。盡量分離各實體對應的表,一個實體對應一個表,分析該實體有哪些屬性,對應有些什么字段,以及各實體之間的聯(lián)系。實體、屬性與聯(lián)系是進行概念設計時要考慮的三個元素,也是一個好的數(shù)據(jù)庫設計的核心 14。 從實際出發(fā),經(jīng)過仔細地設計,得到各表的設計如下所示。 5.1 數(shù)據(jù)庫結(jié) 構(gòu)屬性圖 圖 4.1 數(shù)據(jù)庫結(jié)構(gòu)屬性圖 9 5.2 數(shù)據(jù)庫表格設計 表 4.1: UserInfo 用戶信息表 列名 說明 類型 備注 uid 主鍵 Int(4) 自增 username 用戶名稱 Varchar(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) Not null authorid 作者 Int(4) Not null time 發(fā)表時間 datetime Not null sortid 所屬的論壇版塊 Int(4) Not null 表 4.3: Reply 回復表 列名 說明 類型 備注 id 主鍵 Int(4) 自增 title 帖子主題 Varchar(50) Not null content 帖子內(nèi)容 Varchar(1000) Not null authorid 作者 Int(4) Not null time 發(fā)表時間 datetime Not null topicid 回復的帖子編號 Int(4) Not null 10 表 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) Not null 表 4.6: Notice 公告表 列名 說明 類型 備注 nid 主鍵 Int(4) 自增 content 公告內(nèi)容 Varchar(100) Not null 11 6 系統(tǒng)詳細設計 前臺和 后臺頁面設計采用的技術(shù)是 JSP。之所以選擇它是因為 JSP 技術(shù)具有下面的特點: 1) Write Once Run Anywhere JSP 技術(shù)繼承了 JAVA 先天性的先進概念 “Write Once Run Anywhere”這種概念正越來越深遠的影響著互連網(wǎng)行業(yè)的交互式、 WEB 設計的理念。 JSP Pages 可以非常容易的開平臺跨 WEB 服務 器軟件來是設計和開放源代碼。 2)支持多種動態(tài)網(wǎng)頁格式 目前對使用 JSP 技術(shù)設計出來的網(wǎng)頁應該采取什么樣的格式還沒有一個明確的標準。一般來說 JSP 技術(shù)即可以支持 HTML/DHTML 的傳統(tǒng)瀏覽器文件格式,又可以支持應用與無線通訊設備例如移動電話、 PDA 等設備進行網(wǎng)頁瀏覽器的 VML 文件格式,還可以支持其它一些 B2B 應用的 XML 格式。與以往的其它 WEB 應用技術(shù)相比較 JSP 技術(shù)有它很鮮明的特點。 3) JSP 標簽可擴 充 性 盡管 JSP 與 ASP 都使用標簽與腳本技術(shù)來制造動態(tài) WEB 網(wǎng)頁, 但是 JSP技術(shù)能夠使開發(fā)者擴展 JSP 標簽,使得應用 JSP 的開發(fā)者能定制標簽庫所以網(wǎng)頁制作者可以充分利用與 XML 兼容的標簽技術(shù),大大減少了對腳本語言的依賴。由于指定標簽庫技術(shù)使得網(wǎng)頁制作者降低了制作網(wǎng)頁和想多個 網(wǎng)頁擴充關鍵功能的復雜程度 15。 4) JSP 跨平臺的可重用性 JSP 的開發(fā)人員在開發(fā)過程中一直關注可重用性, JSP 足見、企業(yè) JavaBean或制定的標簽都是跨平臺可重用的。企業(yè) JavaBean 可以訪問傳統(tǒng)的數(shù)據(jù)庫并能并能已分布式系統(tǒng)模式工作于 UNIX 和 WINDOWS 平臺, JSP 標簽可擴充功能為開發(fā)人員提供簡便的與 XML 兼容的接口,即共享網(wǎng)頁的打包功能使其完全的工業(yè)標準化。這種基于組建的模式能夠有效的提高應用程序的開發(fā)效率。因為這種模式能夠使開發(fā)人員利用快捷的子組建快速創(chuàng)建模板應用程序。然后再整和一些附加 功能將其打包成一個 JAVABEAN 組建。 5)易于維護性 基于 JSP 技術(shù)的應用程序比基于 ASP 的應用程序更易于維護和管理。腳本12 語言都很好服務于小的應用程序但不能適宜大型的復雜的應用程序,因為 JAVA是結(jié)構(gòu)化的,它比較比較容易創(chuàng)建和維護龐大的組建化的應用程序。 6.1 前臺頁面 6.1.1 登錄進入論壇首頁頁面 圖 5.1 論壇登錄頁 面 在此頁面中,用戶如果點擊“瀏覽進入”這個超鏈接,即以相當于游客的身份進入論壇,進入的是論壇的首頁 (圖 5.2 所示 ),那么就只擁有瀏覽和搜索帖子的權(quán)限。如果用戶輸入了正確的用戶名稱和密碼,就會以用戶的身份進入論壇的首頁。該用戶就可以擁有更多的權(quán)限,可以瀏覽和搜索帖子,修改個人資料,刪除和修改自己發(fā)表的主題帖子,發(fā)表和回復帖子。如果用戶輸入了不正確的信息,則系統(tǒng)阻止進入論壇的首頁,還是會跳轉(zhuǎn)到該登錄頁面。如果用戶點擊了“注冊”這個超鏈接,則會進入注冊頁面 (圖 5.3 所示 )。 6.1.2 論壇首頁 13 圖 5.2 論壇首頁 在該頁面中,顯示了很多信息。主要是各個版塊的詳細信息,包括版塊的名稱,版主,發(fā)表于該版塊下的主題帖子總 數(shù),以及最新發(fā)表的帖子的信息。若有發(fā)表的帖子,則顯示該帖子的主題,作者,和發(fā)表時間,并且提供了帖子主題的超鏈接,點擊后會進入顯示該帖子的詳細信息頁面。若無發(fā)表的帖子,則顯示暫無。該頁面上還顯示了公告的信息,即公告欄顯示的內(nèi)容。頁面上還提供了搜索帖子的功能,可以根據(jù)作者名稱來精確查找和根據(jù)帖子內(nèi)容來模糊查找。如果用戶是經(jīng)過登錄驗證后進入該頁面的,頁面會提供“個人中心”的超鏈接,點擊此鏈接會進入個人信息中心頁面 (如圖 5.6 所示 )。如果用戶是通過瀏覽進入該頁面的,則不會提供該超鏈接。 6.1.3 注冊頁面 14 圖 5.3 注冊 頁面 用戶可以在該頁面中輸入注冊資料,包括用戶名,密碼,個性簽名和頭像。 用戶名,密碼,個性簽名都是必填的,頭像是默認選擇第一個,用戶也可以重新選擇。在用戶提交之前,對所填的信息都作了驗證,包括用戶名非空并且不可重復,密碼非空,密碼長度必須大于或等于 4,兩次輸入的密碼必須一致,個性簽名非空,且長度小于 50。在對用戶名稱的唯一性驗證時,使用了 AJAX 技術(shù),當用戶輸入完用戶名,該文本框失去焦點時,會檢查數(shù)據(jù)庫中是否存在該用戶名, 如果不存在,則在文本框后用藍色字體顯示“ Ok, 你可以用這個名稱 !” , 如果存在,則在 文本框后用紅色字體顯示“ No, 這個名稱已占用 !”。提交成功后,跳轉(zhuǎn)到登錄頁面。 在這里簡單介紹一下 AJAX 技術(shù)。 AJAX 全稱為 “Asynchronous JavaScript and XML”(異步 JavaScript 和 XML),是指一種創(chuàng)建交互式網(wǎng)頁應用的網(wǎng)頁開發(fā)技術(shù)。 它使瀏覽器可以為用戶提供更為自然的瀏覽體驗。在 Ajax 之前,Web 站點強制用戶進入提交 /等待 /重新顯示范例,用戶的動作總是與服務器的“思考時間”同步。 Ajax 提供與服務器異步通信的能力,從而使用戶從請求 /響應的循環(huán)中解脫出來。借助于 Ajax,可以在用戶單擊按鈕時,使用 JavaScript 和15 DHTML 立即更新 UI,并向服務器發(fā)出異步請求,以執(zhí)行更新或查詢數(shù)據(jù)庫。當請求返回時,就可以使用 JavaScript 和 CSS 來相應地更新 UI,而不是刷新整個頁面。最重要的是,用戶甚至不知道瀏覽器正在與服務器通信: Web 站點看起來是即時響應的。 6.1.4 發(fā)表帖子 圖 5.4 發(fā)表頁面 用戶可以在該頁面中填寫帖子的資料,包括標題和內(nèi)容。提交之前也作了驗證:標題非空且長度小于 50,帖子內(nèi)容非空且長度小于 2000。為提示用戶控制輸入,通過 JavaScript 實現(xiàn)了動態(tài)顯 示用戶輸入的字符數(shù)目。為避免重復提交,提供了驗證碼,只有輸入了正確的驗證碼后才會提交。 6.1.5 顯示帖子及回復 16 圖 5.5 顯示貼子與回復頁面 在該頁面中,顯示了帖子的詳細信息和回復的帖子的詳細信息。并且實現(xiàn)了分頁功能,每頁顯示 5 個回復帖子。只有對登錄用戶才顯示“回復帖子”和“發(fā)表話題”兩個按鈕,以及回復帖子的表格的顯示。對于沒有登錄的用戶,則不會顯示。如果登錄的用戶的身份是版主,而該帖子又是位于該用戶管理的論壇版塊下,則會在主題帖子后提供“屏蔽此帖”和“刪除”兩個超鏈接。分別實現(xiàn)屏蔽帖子和刪除帖子的功能。另外 在回復的帖子后提供“屏蔽此回復”超鏈接,實現(xiàn)對回復的帖子的屏蔽操作。 17 6.1.6 顯示個人中心頁面 圖 5.6 個人中心頁面 在該頁面中,顯示了用戶的個人資料和發(fā)表的帖子的信息。當用戶點擊“編輯個人資料”的超鏈接后,會進入修該個人資料的頁面,實現(xiàn)對個人信息的修改。另外頁面上分頁顯示了用戶發(fā)表的主題帖子,用戶可以這些帖子進行修改和刪除操作。 6.2 后臺頁面 用戶要進入后臺管理頁面,必須先進入后臺管理的登錄頁面,使用了 Filter來實現(xiàn)過濾。只有登錄成功后,才能進入管理頁面。 6.2.1 后臺登錄 頁面 18 圖 5.7 后臺頁面 登錄成 功后跳轉(zhuǎn)到后臺管理頁面,登錄失敗后還是跳轉(zhuǎn)到本頁面。 6.2.2 后臺管理頁面 圖 5.8 后臺管理頁面 進入到后臺管理后,首先顯示的是如上圖 5.8 所示的頁面。 6.2.3 用戶管理頁面 19 圖 5.9 用戶管理頁面 點擊后臺管理頁面的左邊導航欄的“用戶詳細信息”超鏈接即可進入到該頁面。該頁面分頁顯示了用戶的部分資料,包括用戶名,用戶角色,是否禁用。還對每個用戶提供了“啟用”,“禁用”,“密碼重置”操作按鈕。管理員可以進行與之相對應的操作。這些操作是通過 AJAX 實現(xiàn)的。 6.2.4 公告管理頁面 圖 5.10 公告管理頁面 點擊后臺管理頁 面的左邊導航欄的“公告詳細信息”超鏈接即可進入到該頁面。該頁面分頁顯示了公告的詳細信息,包括公共編號,公共內(nèi)容。管理員可以20 添加公告,刪除公告。點擊頁面上的添加圖標即可進入到添加公告頁面。點擊某個公告后的刪除圖標即可刪除選定的某個公告。 6.2.5 論壇版塊管理頁面 圖 5.11 論壇管理頁面 點擊后臺管理頁面的左邊導航欄的“論壇詳細信息”超鏈接即可進入到該頁面。該頁面分頁顯示了各個論壇板塊的詳細信息,包括論壇版塊名稱,上級版塊名稱,版主。管理員可以對論壇版塊進行添加,修改,刪除操作。點擊頁面上的添加圖標即可進入到添 加論壇版塊的頁面,完成添加功能。點擊某個版塊后面的修改圖標即可進入修改版塊信息的頁面,在修改頁面中可以修改該版塊的名稱,上級版塊,版主。修改成功后跳轉(zhuǎn)到顯示所有論壇版塊的頁面。點擊某個版塊后面的刪除圖標即可刪除選中的論壇版塊,如果刪除成功就跳轉(zhuǎn)到顯示所有論壇版塊的頁面,如果刪除失敗就跳轉(zhuǎn)到顯示刪除失敗信息的頁面。 6.3 系統(tǒng)設計主要代碼及配置文件 6.3.1 分頁的 JavaBean 系統(tǒng)中 的大部分 JSP 頁面需要使用分頁技術(shù),因此使用一個 JavaBean 來專門完成分頁的 功能。以下是此類的 關鍵 代碼: 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 生成驗證碼的代碼 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() / 用正則表達式將前后空格,用空字符串替代 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,你可以用這個名稱 !; else document.getElementById(user_msg).innerHTML = No,這個名稱已占用 !; document.getElementById(username).focus(); 25 return true; 26 7 測試 7.1 測試方法 由于本系統(tǒng)的設計人員和測試人員都是本人,很了解系統(tǒng)的內(nèi)部結(jié)構(gòu)和處理過程,所以測試方式采用的是動態(tài)測試方法中的白盒測試。 7.2 測試范圍 用戶的登錄;帖子的添加、刪除、修改、查詢;用戶的個人信息編輯;管理員對用戶、論壇版塊、公告的管理。 7.3 測試報告 測試項目 測試目的 測試結(jié)果 原因 解決情況 用戶登錄 確保系統(tǒng)的安全性 不敢肯定系統(tǒng)一定安全 存在一些其它的因素 仍在解決 帖子的添加 確保帖子準確無誤的添加 添加不成功 有些屬性沒有進行正確性檢查 已解決 帖子的刪除 確保帖子信息都刪除 程序運行正常 帖子的修改 確保帖子信息準確的修改 程序運行正常 帖子的查詢 確保查出要求的信息 沒有達到要求 SQL 語句有誤 已解決 個人信息編輯 確保個人信息成功的修改 程序運行正常 用戶管理 確保對用戶的管理都能操作成功 程序運行正常 論壇管理 確保對 論壇的管理都能操作成功 程序運行正常 公告管理 確保對公告的管理都能操作成功 程序運行正常 27 8 總結(jié)與展望 在計算機網(wǎng)絡飛速發(fā)展的今天, BBS 已經(jīng)成為人們網(wǎng)上交流的重要平臺,因此對 BBS 論壇的研究是十分必要的。設計和開發(fā)了一個最基本的基于 WEB的 BBS 系統(tǒng),可擴展性很大,科學的開發(fā)過程也極有利于系統(tǒng)的擴充與擴展。系統(tǒng)現(xiàn)在采用的是 SQL2000 數(shù)據(jù)庫,視需要可以移植到 SQL2005 或者其它大中型數(shù)據(jù)庫系統(tǒng)環(huán)境下,只需改動少數(shù)幾個 JSP 功能模塊文件。系統(tǒng)的分析與定義都結(jié)合了現(xiàn)在流行的面向?qū)ο蠓椒ㄒ约皞?統(tǒng)的結(jié)構(gòu)分析與設計方法。 嚴格按工程的方法來設計系統(tǒng)相當重要,不能認為基于 Web 的數(shù)據(jù)庫管理的 BBS 系統(tǒng)很小,可以無需花太多的時間來做系統(tǒng)分析,甚至可以無需經(jīng)過系統(tǒng)定義而直接進入系統(tǒng)編碼階段。系統(tǒng)分析過于簡單,系統(tǒng)定義過于抽象,則在系統(tǒng)設計與編碼階段遇到的困難就越多,特別是其中若不得不做一些功能性甚至系統(tǒng)結(jié)構(gòu)性方面的變動,將面對許多重復性的工作。在設計開發(fā) BBS 論壇過程中重復工作過多,將會極大地影響系統(tǒng)開發(fā)的積極性,進而影響整個系統(tǒng)的質(zhì)量。系統(tǒng)分析越充分,系統(tǒng)定義越具體,那么后續(xù)的系統(tǒng)設計與開發(fā)工作就越有效 率,且系統(tǒng)的質(zhì)量也越有保障。 對于本論壇來說,實現(xiàn)了現(xiàn)在流行論壇的大部分功能,但也存在很多需要改進的方面。首先是界面不是很美觀,排版布局都是要進過進一步美化的。其次是對用戶使用的友好提示做的還不夠,對于某些操作沒有成功的話,應該給出相應的錯誤信息提示。還有就是可以加入一些功能,如設置精華帖子 17,設置置頂帖子。還可以對發(fā)表帖子和回復帖子的提交處理時對一些不文明信息進行限制輸入 18。由于時間的關系,又因為本文的題目是小型論壇系統(tǒng),故只實現(xiàn)了本文中所列的那些功能,其它的功能有待后續(xù)實現(xiàn)。 回顧設計開發(fā) BBS 論壇的開發(fā)過程,總結(jié)起來那就是,軟件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全生產(chǎn)事故隱患排查治理工作制度(6篇)
- 成本管理的成本控制方案
- 廣東省汕頭市潮南區(qū)2024-2025學年高一上學期語文1月期末考試試卷(含答案)
- 廣東省江門市新會區(qū)2023-2024學年七年級上學期期末考試英語試題(含答案)
- 慢阻肺患者疫苗接種的個體化方案制定
- 嚴謹防水救護作業(yè)指導書
- 配送服務保密條款協(xié)議
- 設備租賃續(xù)約協(xié)議
- 從公安角度淺談校園安全治理工作
- 慢病高危人群早期篩查與群體干預
- 形神拳動作名稱與圖解
- 馬克思主義政治經(jīng)濟學試題及答案
- 國能擬錄人員親屬回避承諾書
- 蠶絲被的詳細資料
- 2023年生產(chǎn)車間各類文件匯總
- WORD版A4橫版密封條打印模板(可編輯)
- 2013標致508使用說明書
- YD5121-2010 通信線路工程驗收規(guī)范
- 評價實驗室6S檢查標準
- 工程質(zhì)量不合格品判定及處置實施細則
- 外觀檢驗作業(yè)標準規(guī)范
評論
0/150
提交評論