BBS論壇設(shè)計(jì)文檔DOC_第1頁
BBS論壇設(shè)計(jì)文檔DOC_第2頁
BBS論壇設(shè)計(jì)文檔DOC_第3頁
BBS論壇設(shè)計(jì)文檔DOC_第4頁
BBS論壇設(shè)計(jì)文檔DOC_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、目錄第 1 章 緒 論 - 2 -第 2 章 系統(tǒng)分析 - 3 -2.1 需求分析 - 3 -2.2 可行性分析 - 3 -第 3 章 系統(tǒng)總體設(shè)計(jì) - 5 -3.1 系統(tǒng)目標(biāo) - 5 -3.2 系統(tǒng)功能結(jié)構(gòu) - 5 -3.2.1 前臺(tái)功能結(jié)構(gòu) - 5 -3.2.2 后臺(tái)功能結(jié)構(gòu) - 6 -3.3 系統(tǒng)流程圖 - 6 -3.4 系統(tǒng)開發(fā)環(huán)境 - 7 -3.4.1 開發(fā)環(huán)境 - 7 -3.4.2 系統(tǒng)平臺(tái)體系結(jié)構(gòu)的選擇 - 8 -3.4.3 JSP 語言 - 8 -第 4 章 數(shù)據(jù)庫設(shè)計(jì) 104.1 數(shù)據(jù)庫分析 104.2 數(shù)據(jù)庫概念設(shè)計(jì) 10第 5 章 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 135.1 前臺(tái)設(shè)計(jì)

2、 135.1.1 前臺(tái)頁面設(shè)計(jì)與實(shí)現(xiàn) 135.1.2 前臺(tái)顯示概述 145.1.3 查看首頁面的論壇類別 155.1.4 查看某版面中根貼列表及回帖內(nèi)容 165.1.5 發(fā)表帖子模塊設(shè)計(jì) 185.2 后臺(tái)設(shè)計(jì) 225.2.1 后臺(tái)頁面設(shè)計(jì)與實(shí)現(xiàn) 22結(jié)論 23隨著互聯(lián)網(wǎng)日益深入社會(huì)生活,BBS開發(fā)技術(shù)發(fā)展至今,從CGI, ASP倒PHP已經(jīng) 日趨成熟,功能也更加豐富,但攜著 Sun公司的Java技術(shù)所實(shí)現(xiàn)的 一次編寫,到處運(yùn)行” 的優(yōu)勢,繼承這一衣缽的JSP技術(shù)越來越受到人們的注視。BBS作為一種對外的展示窗口, 進(jìn)行內(nèi)外信息交流,已成為大眾的廣泛需要。為了進(jìn)行更好的交流,用戶想就自己的專業(yè)

3、和愛好能和其他的用戶進(jìn)行及時(shí)專業(yè)的交流,這就有了論壇,這樣以來我們就可以在網(wǎng)絡(luò) 這個(gè)虛擬的空間中方便地實(shí)現(xiàn)交流, BBS 論壇是我們在這個(gè)地球村中生活的重要交流工 具。所以我選擇使用JSP開發(fā)BBS論壇這一課題作為畢業(yè)設(shè)計(jì)。Java是未來的主流開發(fā)技術(shù),具有很多優(yōu)勢。JSP則是Java在In ternet/ Intranet Web上的重要應(yīng)用技術(shù),得到了廣泛的支持和承認(rèn),它可以和各種Java技術(shù)完好地結(jié)合在一起, 從而實(shí)現(xiàn)非常復(fù)雜的應(yīng)用。本網(wǎng)站使用 JSP + ACCESS在 Dreamweaver系統(tǒng)開發(fā)的,從而 創(chuàng)建一個(gè)更為穩(wěn)定,高效,安全的運(yùn)行環(huán)境。本文主要實(shí)現(xiàn)了基于B/S模式的一種J

4、SP論壇的設(shè)計(jì)與實(shí)現(xiàn),主要功能是實(shí)現(xiàn)客戶端 和服務(wù)器端的動(dòng)態(tài)交互。BBS論壇系統(tǒng)最基本的功能首先是發(fā)表主題,其次是其他人員根 據(jù)主題發(fā)表自己的看法。此外,為了記錄主題的發(fā)表者和主題的加復(fù)者信息民,系統(tǒng)還需 要提供用戶注冊和登錄的功能。 只有注冊的用戶登錄后才能夠發(fā)表和回復(fù)主題, 瀏覽者(游 客)只能瀏覽主題信息。根據(jù)用戶的需求及以上的分析, BBS 論壇需要具備以下功能: 顯示各論壇類別及版面、查看版面下所有根帖、查看精華帖子、查看自己發(fā)表的帖子、搜 索帖子、查看根帖內(nèi)容、用戶注冊、用戶登錄、發(fā)表帖子、回復(fù)帖子、進(jìn)入后臺(tái)、論壇類 別管理、版面管理、用戶管理和用戶注冊。設(shè)計(jì) BBS 論壇系統(tǒng)所要

5、考慮的問題主要有如何通過資源文件顯示文字和使用靜態(tài)代 碼塊。設(shè)計(jì)中力求界面友好、簡潔,易于操作。代碼部分盡量避免邏輯錯(cuò)誤,算法設(shè)計(jì)簡 單合理,盡量使程序具有較好的可讀性,有利于其他的設(shè)計(jì)者對程序的閱讀;力求對數(shù)據(jù) 庫操作的安全與穩(wěn)定,盡量避免數(shù)據(jù)庫操作異常,并要保證查詢的快速無誤。保證程序的 邏輯結(jié)構(gòu),編程時(shí)注意多使用通用方法(函數(shù)和過程)。第 2 章 系統(tǒng)分析2.1 需求分析1功能性需求開發(fā) BBS 論壇系統(tǒng)的目的是提供一個(gè)供用戶交流的平臺(tái),為廣大用戶提供交流經(jīng)驗(yàn)、 探討問題的社區(qū)。因此, BBS 論壇系統(tǒng)最基本的功能首先是發(fā)表主題,其次是其他人員根 據(jù)主題發(fā)表自己的看法。此外,為了記錄主題

6、的發(fā)表者和主題的加復(fù)者信息民,系統(tǒng)還需 要提供用戶注冊和登錄的功能。 只有注冊的用戶登錄后才能夠發(fā)表和回復(fù)主題, 瀏覽者(游 客)只能瀏覽主題信息。根據(jù)用戶的需求及以上的分析, BBS 論壇需要具備前臺(tái)功能和后 臺(tái)功能。(1) 系統(tǒng)前臺(tái)功能:顯示各論壇類別及版面、查看版面下所有根帖、查看精華帖子、 查看自己發(fā)表的帖子、搜索帖子、查看根帖內(nèi)容、用戶注冊、用戶登錄、發(fā)表帖子、回復(fù) 帖子(2) 系統(tǒng)后臺(tái)功能:進(jìn)入后臺(tái)、論壇類別管理、版面管理、用戶管理、用戶注冊。 2非功能性需求 平臺(tái)限制:基于 Windows xp及以上操作系統(tǒng),Tomcat6.0以上版本,Access數(shù)據(jù) 庫。(2) 操作方式:全

7、部操作都可以基于瀏覽器進(jìn)行。2.2 可行性分析可行性分析是在系統(tǒng)調(diào)查的基礎(chǔ)上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對 新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、社會(huì)的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng) 的開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠 解決。1 技術(shù)可行性 技術(shù)上的可行性分析主要分析技術(shù)條件能否順利完成開發(fā)工作,硬、軟件能否滿足開 發(fā)者的需要等。該BBS論壇管理系統(tǒng)采用了流行的JSP語言和當(dāng)前新興的Browser/Server(瀏覽器/服務(wù)器)模式進(jìn)行開發(fā)。三層的 B/S體系結(jié)構(gòu)具有許多傳統(tǒng) Client/Server(客戶機(jī)/服務(wù)器)體系結(jié)構(gòu)不具

8、備的優(yōu)點(diǎn),而且又緊密的結(jié)合了Internet/Intranet (國際互聯(lián)網(wǎng)/企業(yè)內(nèi)部互聯(lián)網(wǎng))技術(shù),是技術(shù)發(fā)展的大勢所趨,它把應(yīng)用系統(tǒng)帶入了一個(gè)嶄新的發(fā)展時(shí) 代。數(shù)據(jù)庫服務(wù)器選用ACCESS數(shù)據(jù)庫,它能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性并 提供許多高級管理功能。它的靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。 因此,系統(tǒng)的軟件開發(fā)平臺(tái)已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速 度越來越快,容量越來越大,可靠性越來越高,價(jià)格越來越低,其硬件平臺(tái)能滿足此系統(tǒng) 的需要。2經(jīng)濟(jì)可行性主要是對項(xiàng)目的經(jīng)濟(jì)效益進(jìn)行評估,本系統(tǒng)模擬的是提供一個(gè)供用戶交流的平臺(tái),為 廣大用戶提供交流經(jīng)驗(yàn)、

9、探討問題的社區(qū)。但實(shí)際只是用于個(gè)人的畢業(yè)設(shè)計(jì),只是模擬, 也不存在資金的流動(dòng),故在經(jīng)濟(jì)上是可行的。3社會(huì)可行性隨著In ternet技術(shù)的快速發(fā)展,BBS論壇已成為人們彼此溝通、交流信息的主要方式 在論壇上,人們可以對某一領(lǐng)域提出自己遇到的問題,隨后,論壇上的其他人會(huì)根據(jù)自己 的學(xué)識(shí)、經(jīng)驗(yàn)發(fā)表意見或提出問題的方法。 BBS 論壇接近了人們之間的距離,它早已成為 人們網(wǎng)上生活的必備工具。所以說 BBS 論壇對當(dāng)今社會(huì)是相當(dāng)重要的。第3章系統(tǒng)總體設(shè)計(jì)3.1系統(tǒng)目標(biāo)對于典型的數(shù)據(jù)庫管理系統(tǒng),尤其是對像論壇這樣的數(shù)據(jù)流量特別大的網(wǎng)絡(luò)管理系 統(tǒng),必須要滿足使用方便、操作靈活等設(shè)計(jì)需求。本系統(tǒng)在設(shè)計(jì)時(shí)應(yīng)滿

10、足以下幾個(gè)目標(biāo):1 采用人機(jī)對話的操作方式,界面設(shè)計(jì)美觀友好,信息查看靈活、方便、快捷、準(zhǔn) 確,數(shù)據(jù)存儲(chǔ)安全可靠。2全面展示系統(tǒng)內(nèi)所有分類的帖子,并進(jìn)行分頁顯示。3為用戶提供一個(gè)方便、快捷的主題信息查看功能。4.實(shí)現(xiàn)在線發(fā)表帖子。5提供登錄模塊,主要用開管理員登錄系統(tǒng)和發(fā)表帖子時(shí)留下發(fā)表者的信息。6. 用戶隨時(shí)都可以查看自己發(fā)表的帖子。7. 對用戶輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能排除人為的錯(cuò)誤。8. 系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。9. 系統(tǒng)運(yùn)行穩(wěn)定安全可靠。3.2系統(tǒng)功能結(jié)構(gòu)3.2.1前臺(tái)功能結(jié)構(gòu)用戶訪問論壇首頁面后,可進(jìn)行查看版面下根貼信息、查看自己發(fā)表的帖子、查看精 華

11、帖子、搜索帖子、查看根貼信息、用戶注冊等功能。用戶在此BBS論壇中通過注冊成為該網(wǎng)站的真正用戶并成功登錄系統(tǒng)后,可進(jìn)行發(fā)表帖子、回復(fù)帖子、查看自己發(fā)表的帖子 等操作。前臺(tái)功能結(jié)構(gòu)圖如圖3.1所示。BBS論壇前臺(tái)查 看 版 面 下 根 貼查 看 精 華 帖 子查用看戶跟登貼錄內(nèi)容用 戶 注 nn冊搜 索 跟 貼用 戶 注 銷發(fā) 表 帖 子回復(fù)帖子查看自己發(fā)表的帖子圖3.1 BBS前臺(tái)功能結(jié)構(gòu)圖322后臺(tái)功能結(jié)構(gòu)若用戶的權(quán)限為管理員,則可進(jìn)入后臺(tái),可進(jìn)行論壇類別的管理、版面管理和用戶管理的操作。后臺(tái)功能結(jié)構(gòu)圖如圖3.2所示。3.3系統(tǒng)流程圖1. BBS論壇的系統(tǒng)后臺(tái)流程圖如圖3.3所示2. BBS

12、論壇的系統(tǒng)前臺(tái)流程圖如圖3.4所示3.4系統(tǒng)開發(fā)環(huán)境3.4.1開發(fā)環(huán)境在開發(fā)此論壇的時(shí)候,需要具備下面的軟件環(huán)境 服務(wù)器端: 操作系統(tǒng):Windows XP。 Web服務(wù)器:Tomcat 6.0及以上版本。 Java開發(fā)包:JDK 1.6。數(shù)據(jù)庫:ACCESS。瀏覽器:IE6.0及以上版本。分辨率:最佳效果為1024X768像素。 客戶端:瀏覽器:IE8.0。分辨率:最佳效果為1024X768像素3.4.2 系統(tǒng)平臺(tái)體系結(jié)構(gòu)的選擇在應(yīng)用開發(fā)領(lǐng)域中,目前系統(tǒng)平臺(tái)的體系結(jié)構(gòu)主要有兩種,即C/S (Client/Server)結(jié)構(gòu)和 B/S ( Brower/Server)結(jié)構(gòu)。C/S 結(jié)構(gòu),即大家

13、熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以 充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。B/S 結(jié)構(gòu),即瀏覽器和服務(wù)器結(jié)構(gòu)。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從 不同的地點(diǎn),以不同的接入方式(比如 LAN , WAN 等)訪問和操作共同的數(shù)據(jù)庫;它能 有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。特別是在 JAVA 這樣的跨 平臺(tái)語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。傳統(tǒng)的 C/S 體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特 定的應(yīng)用中無論是Client端還是Ser

14、ver端都還需要特定的軟件支持。由于沒能提供用戶 真正期望的開放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件, 加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺(tái)電腦以上局域網(wǎng)用戶同時(shí)使用,而且代價(jià) 高,效率低。B/S結(jié)構(gòu),是隨著In ternet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。 在這 種結(jié)構(gòu)下,用戶界面完全通過 WWW 瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn), 但是主要 事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大 功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。因此本系統(tǒng)采用了 B/S結(jié)構(gòu)。3.4.3 JSP 語言JSP

15、( JavaServer Pages是由Sun公司倡導(dǎo),許多別的公司參與一起創(chuàng)建的一種新動(dòng) 態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),類似其他技術(shù)標(biāo)準(zhǔn)。在傳統(tǒng)的網(wǎng)頁 HTML 文件( *.htm,*.html )中加入 Java程序片斷(Scriptlet)和 JSP標(biāo)簽,構(gòu)成了 JSP網(wǎng)頁(*jsp)Servlet/JSP Containe收到 客戶端發(fā)出的請求時(shí), 首先執(zhí)行其中的程序片斷, 軟后將執(zhí)行結(jié)果以 HTML 格式響應(yīng)給客 戶端,其中程序片斷可以是:操作數(shù)據(jù)庫,重新定向網(wǎng)頁以及發(fā)送 E-Mail 等等,這些都是 建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端運(yùn)行,網(wǎng)絡(luò)上傳送給客戶端的僅 是得到的結(jié)果,與

16、客戶端的瀏覽器無關(guān),因此,JSP稱為Server-side Language所以被許多人認(rèn)為是未來最有發(fā)展前途的動(dòng)態(tài)網(wǎng)站技術(shù)之一。語言優(yōu)勢如下:1將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最 終頁面。使用JSP標(biāo)識(shí)或者小腳本來生成頁面上的動(dòng)態(tài)內(nèi)容。生成的內(nèi)容的邏輯被封裝在 標(biāo)識(shí)和JavaBeans組件中,那么其他人,如 Web管理人員和頁面設(shè)計(jì)者,能夠編輯和使用 JSP頁面而不影響內(nèi)容的生成。2一次編寫,到處運(yùn)行作為Java平臺(tái)的一部分,JSP擁有Java編程語言一次編寫,到處運(yùn)行”的特點(diǎn),隨著越 來越多的供應(yīng)商將JSP支持添加到他

17、們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具, 但并不影響當(dāng)前的應(yīng)用。3. JSP的平臺(tái)適應(yīng)性更廣這是JSP比ASP的優(yōu)越之處,幾乎所有的平臺(tái)都支持Java,它們可以在任何平臺(tái)下通 行無阻。雖然 NT 的 OS 占據(jù)了很大的市場的份額,但在服務(wù)器方面 UNIX 的優(yōu)勢仍然很 大.從一個(gè)平臺(tái)移植到另一個(gè)平臺(tái),JSP和JavaBeans甚至不用重新編譯,因?yàn)镴ava字節(jié)碼 都是標(biāo)注的字節(jié)碼與平臺(tái)無關(guān)。4. 健壯的存儲(chǔ)管理和安全性由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,而且所有的JSP頁面都被編譯 為Java Servle,JSP頁面就具有Java技術(shù)的所有優(yōu)點(diǎn),包括健壯的存儲(chǔ)管理和

18、安全性。第 4 章 數(shù)據(jù)庫設(shè)計(jì)4.1 數(shù)據(jù)庫分析數(shù)據(jù)庫的設(shè)計(jì), 在程序的開發(fā)中起著至關(guān)重要的作用, 它往往決定了在后面 的開發(fā)中進(jìn)行怎樣的程序編碼。 一個(gè)合理、 有限的數(shù)據(jù)庫設(shè)計(jì)可降低程序的復(fù)雜 性,使程序開發(fā)的過程更為容易。本系統(tǒng)是一個(gè)中型的供求信息網(wǎng)站, 考慮到開發(fā)成本、 用戶信息量客戶需求 等問題,決定采用 ACCESS 作為項(xiàng)目中的數(shù)據(jù)庫。ACCESS 是一種客戶 /服務(wù)器模式的關(guān)系型數(shù)據(jù)庫,它具有很強(qiáng)的數(shù)據(jù)完整 性、可伸縮性、可管理性、可編程性;具有均衡與完備的功能;具有較低的價(jià)格 與性能比。 ACCESS 可對數(shù)據(jù)進(jìn)行簡單操作, 并對數(shù)據(jù)進(jìn)行合理地邏輯布局, 應(yīng) 用數(shù)據(jù)庫對象可以對

19、數(shù)據(jù)進(jìn)行邏輯運(yùn)算。ACCESS也提供了 JDBC編程接口,這 樣可以非常方便地應(yīng)用Java來操作數(shù)據(jù)庫。4.2 數(shù)據(jù)庫概念設(shè)計(jì)E-R 模型是對現(xiàn)實(shí)世界的一種抽象。它的主要成分是實(shí)體、聯(lián)系和屬性。使 用這三種成分,我們可以建立許多應(yīng)用環(huán)境的 E-R 模型。 現(xiàn)在劃出本系統(tǒng)所使用的數(shù)據(jù)庫實(shí)體, 它們分別為根貼實(shí)體、 回復(fù)貼實(shí)體、 版面 實(shí)體、類別實(shí)體和用戶實(shí)體。下面將介紹幾個(gè)關(guān)鍵實(shí)體的 E-R 圖。1根貼實(shí)體 根據(jù)實(shí)體包括編號(hào)、所屬版面、標(biāo)題、內(nèi)容、發(fā)布者、發(fā)布時(shí)間、表情、對 貼子進(jìn)行操作的時(shí)間、 是否為置頂貼子、 被置頂?shù)臅r(shí)間、 是否為精華貼子和被設(shè) 置為精華貼子的時(shí)間等屬性。 其中是否為置頂貼

20、子與是否為精華貼子屬性分別用 來標(biāo)識(shí)貼子是否被設(shè)置為置頂或是精華貼子, 1 表示“是”, 0 表示 “否”。根貼實(shí) 體的 E-R 圖如圖 4.1 所示。圖4.1根貼實(shí)體E-R圖2 回復(fù)貼實(shí)體回復(fù)貼實(shí)體包括編號(hào)、根貼ID、標(biāo)題、內(nèi)容、回復(fù)者、回帖時(shí)間和表情屬 性。回復(fù)貼實(shí)體的E-R圖如圖4.2所示。圖4.2回復(fù)貼實(shí)體E-R圖3 版面實(shí)體版面實(shí)體包括編號(hào)、所屬類別ID、版面名稱、版主和版面公告屬性。版面 實(shí)體E-R圖如圖4.3所示。所屬類別ID版面名稱-版主圖4.3回復(fù)帖子信息實(shí)體圖4 論壇類別實(shí)體論壇類別實(shí)體包括編號(hào)、類別名稱和介紹屬性。論壇類別實(shí)體的E-R圖如圖4.4所示。ER模型的 聯(lián)系”用

21、于刻畫實(shí)體之間的關(guān)聯(lián)。一種完整的方式是對局部結(jié)構(gòu) 中任意兩個(gè)實(shí)體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型 之間是否存在聯(lián)系。若有聯(lián)系,進(jìn)一步確定是 1:n,m:n,還是1:1等。還要考察 一個(gè)實(shí)體類型內(nèi)部是否存在聯(lián)系,兩個(gè)實(shí)體類型之間是否存在聯(lián)系,多個(gè)實(shí)體類 型之間是否存在聯(lián)系等等。本系統(tǒng)的ER模型如圖4.5所示:陽和戒3沁圖必ER模型圖施匚主 NF唸厶j(設(shè)計(jì)與實(shí)現(xiàn)喚第5章系統(tǒng)詳細(xì)弘設(shè)計(jì)與實(shí)現(xiàn)5.1前臺(tái)設(shè)計(jì)績耐謝卜左濟(jì)矗 刪00團(tuán)湖腋1刪翩時(shí) 醴彌劇琳:讓博由于前臺(tái)功能模塊較多,而各模塊的實(shí)現(xiàn)過程都是類似的,所以對于系統(tǒng)前 臺(tái),現(xiàn)在只介紹系統(tǒng)重點(diǎn)設(shè)計(jì)。.換;5.1.1前臺(tái)頁面

22、設(shè)計(jì)與實(shí)現(xiàn)由凜崩血財(cái)F臉晾灑1驅(qū) 冊;顓孰香專i取撕滬勰-本系統(tǒng)中所有頁面都采用了一種頁面框架,該頁面框架采用一分欄結(jié)構(gòu),分為4個(gè)區(qū)域:頁頭、功能欄、內(nèi)容顯示區(qū)和頁尾。網(wǎng)站前臺(tái)首頁面的運(yùn)行結(jié)果如 圖5.1所示。實(shí)現(xiàn)前臺(tái)頁面的設(shè)計(jì)需要分別創(chuàng)建實(shí)現(xiàn)各區(qū)域的 JSP文件,如實(shí)現(xiàn)頁頭的 top.jsp、實(shí)現(xiàn)數(shù)據(jù)的check.jsp頁尾文件check.jsp和首頁面中需要在內(nèi)容顯示區(qū) 顯示的default.jsp等JSP文件。下面主要介紹前臺(tái)框架頁面indexTemp.jsp的實(shí)現(xiàn), 實(shí)現(xiàn)頁面顯示代碼如下:v% in elude file=check.jsp%vjsp:useBean id=conn c

23、lass=dbBean.DBBean scope=session/ 曲鋼飯前贏覇述用曜匙戰(zhàn)鯛:需勒 確魁刪誌 施】淵 雌驛誦m戰(zhàn)馱右羅喘範(fàn)腑右碼汕儷駆珈駅吃Mil閒融理睛屁腳幃醴禮網(wǎng)s,壓坪朧訓(xùn)潔我右島社觀二彌軟貯:腮世址圖5.1前臺(tái)首頁面運(yùn)行結(jié)果5.1.2前臺(tái)顯示概述論壇的前臺(tái)顯示主要包括:首頁面的論壇類別顯示、某版面下根貼的列表顯 示、我的帖子的列表顯示、精華帖子的列表顯示、搜索后根帖的列表顯示和根貼 與回復(fù)貼內(nèi)容的詳細(xì)顯示。其中在根貼的列表顯示系列中,我的帖子、精華帖子和搜索這3個(gè)功能的實(shí) 現(xiàn)是相似的,最終都是生成一個(gè)查詢 SQL語句,并通過執(zhí)行該SQL語句獲取一 個(gè)符合條件的信息集合,

24、然后返回頁面進(jìn)行顯示。不同的是它們生成SQL語句的方式,列表顯示我的帖子,需要獲取當(dāng)前登錄用戶的用戶名,然后生成查詢 SQL語句;列表顯示精華貼,要執(zhí)行的是一個(gè)固定、已知的 SQL語句;列表顯 示搜索到的根貼,需要從頁面表單中獲取條件和搜索關(guān)鍵安后,才能生成SQL語句。不僅如此,這3種功能的頁面信息顯示也是相同的,不同的是通過 Struts標(biāo) 簽輸出信息時(shí)所引用的對象不同?,F(xiàn)在介紹首頁面論壇類別顯示、某版面下根貼的列表顯示和根貼與回復(fù)貼內(nèi)容的詳細(xì)顯示5.1.3查看首頁面的論壇類別該頁面的實(shí)現(xiàn)效果是:分類顯示論壇類別,并以超鏈接形式顯示屬于該論壇類別中所有版面名稱并顯示當(dāng)前版面的版主和一些帖子的

25、相關(guān)信息,如圖5.2所示。幽童謝;籬備 鶴墟嚴(yán)薛;褲HE|rn:!( U1囂:MS畔訂w二;Q眾:冊啞-:gflQ囂:冊器目電二晡iMr M H亠醐詛蹶,臨.刪拆砥用AM就鮭痔猱祁飪辭綽薊松:ir:-f:麻貞赧孵E圖5.2首頁面的論壇類別顯示效果圖在首頁面中顯示論壇類別時(shí),首先通過Struts中的logic標(biāo)簽庫中的iterate標(biāo)簽遍歷存儲(chǔ)在session范圍的List集合對象,該List集合對象是在處理用戶訪 問論壇首頁面時(shí)的請求處理類中實(shí)現(xiàn)的,其中存儲(chǔ)的是封裝了論壇類別信息的ActionForm ;然后再使用bean標(biāo)簽庫中的write標(biāo)簽輸出從難從List集合對象中 遍歷出的Actio

26、nForm中的屬性信息,即可實(shí)現(xiàn)論壇類別的顯示。在頁面中實(shí)現(xiàn) 輸出論壇類別的關(guān)鍵代碼如下:logic:iterate id= ” classSi ngl6 name=classType”cope=session”/省略了輸出論壇類別信息的代碼/省略了輸出版面信息的代碼v/logic:iterate v/logic:iterate5.1.4查看某版面中根貼列表及回帖內(nèi)容該顯示實(shí)現(xiàn)的效果是:顯示某個(gè)版面中所有的根貼。該顯示方式將單獨(dú)顯示 版面中的置頂帖子和其他帖子。對于置頂帖子的顯示,將按照帖子被置頂?shù)臅r(shí)間 進(jìn)行降序排列;對于其他帖子的顯示,將按照帖子被操作的時(shí)間進(jìn)行降序排列。 每條根貼顯示其狀態(tài)

27、、標(biāo)題、回復(fù)數(shù)、發(fā)表者和最后回復(fù)信息,如圖5.3所示I戈注 事罄|:rttii廿:霧;:it用雕匾1仁畑刁wt waft左貼時(shí)口=咋 44:芳中12圖5.3顯示跟帖及回帖的詳細(xì)顯示效果圖顯示根貼信息的關(guān)鍵代碼如下【主題】 省略了顯示發(fā)貼者其他信息的代碼【表情】省略了顯示根貼其他信息的代碼 回 復(fù) 該 帖   . 將帖子提前  省略了顯示生成其他鏈接的代碼(2) 顯示回復(fù)貼的關(guān)鍵代碼如下 $(page.currentP-1)*page.perR+(idind+1) 樓 【 回 復(fù) 主 題 】 $answerMapanswererName.userName【表情】回 復(fù) 時(shí) 間

28、: 省略了顯示回復(fù)帖子其他信息的代碼v/logic:iterate5.1.5發(fā)表帖子模塊設(shè)計(jì)發(fā)表帖子主要是為了互相討論話題而設(shè)置的功能,它是論壇系統(tǒng)中的主要功能。通常情況下,需要在論壇中注冊一個(gè)用戶名,然后成功登錄,用戶才能在論 壇中發(fā)表帖子。發(fā)表帖子頁面的運(yùn)行結(jié)果如圖5.4所示。加“翳! 詵競 辭菇 報(bào)範(fàn) 蠟訓(xùn)酯強(qiáng)利|衣詼:郎: 址孵區(qū)圖5.4發(fā)表帖子頁面的運(yùn)行結(jié)果圖用戶發(fā)表帖子的流程圖如圖5.6所示開始用戶登錄 填寫貼子信息發(fā)表帖子圖 5.5 發(fā)表帖子的流程圖發(fā)表帖子模塊的實(shí)現(xiàn)過程如下:(1) 首先創(chuàng)建一個(gè)用來封裝根貼信息的 ActionForm ,該 ActionForm 繼承Valid

29、atorForm類,并覆蓋了 Validate。方法,其關(guān)鍵代碼如下:public class BbsForm extends ValidatorForm private String bbsId;private String bbsBoardID;private String bbsTitle;private String bbsContent;private String bbsSender;private String bbsFace=face0.gif;private String bbsSendTime;private String bbsAnswerNum;private Stri

30、ng bbsLastUpdateUser;private String bbsLastUpdateTime;private String bbsOpTime;private String bbsIsTop;private String bbsToTopTime;private String bbsIsGood;private String bbsToGoodTime;public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) String validate=request.getParamete

31、r(validate); if(validate=null|validate.equals()|!validate.equals(yes) return null;elsereturn super.validate(mapping, request);省略了屬性的setXXX()與getXXX()方法(2) 創(chuàng)建發(fā)表帖子的頁面。在該頁面中,需要用戶輸入的信息有根貼標(biāo)題、 根貼表情的根貼內(nèi)容,根貼表情在 ActionForm 類中被設(shè)置了 face().gif 默認(rèn)值, 所以在設(shè)置表單驗(yàn)證時(shí), 無須設(shè)置該表單字段的驗(yàn)證規(guī)則。 在發(fā)表頁面中還需要 通過Struts標(biāo)簽輸出表單驗(yàn)證失敗后的提示信息,

32、發(fā)表帖子頁面的關(guān)鍵代碼如下:【主題】【表情】【內(nèi)容】html:textarea property=bbsContent rows=15 cols=79(3) 在 validation.xml 文件中編寫驗(yàn)證發(fā)表帖子表單的驗(yàn)證代碼, 關(guān)鍵代碼如 下:- - - maxlength35- - maxlength1000(4) 配置 Struts 配置文件。在該文件中配置發(fā)表帖子表單被提交后的請求處 理,配置代碼如下:通過上面的配置, 當(dāng)提交發(fā)表帖子頁面的表單后, 會(huì)先進(jìn)行表單驗(yàn)證, 驗(yàn)證 成功后,則調(diào)用 mefhod 請求參數(shù)指定的 com.yxq.action.BbsAction 類中的方法處

33、理表單。(5) 在 BbsAction 類中創(chuàng)建處理發(fā)表帖子表單的方法。在發(fā)表帖子頁面的代 碼中已經(jīng)指定了處理表單的方法為 addBbs(),在該方法中主要實(shí)現(xiàn)的是獲取表單 數(shù)據(jù),然后生成向數(shù)據(jù)表中插入記錄的 SQL 語句,最后執(zhí)行該 SQL 語句完成發(fā) 表帖子操作。addBbs()方法的關(guān)鍵代碼如下:BbsForm bbsForm=(BbsForm)form;String boardId=(String)session.getAttribute(boardId);String bbsTitle=Change.HTMLChange(bbsForm.getBbsTitle();String bb

34、sContent=Change.HTMLChange(bbsForm.getBbsContent();String bbsSender=(UserForm)session.getAttribute(logoner).getUserName();String bbsSendTime=Change.dateTimeChange(new Date();String bbsFace=bbsForm.getBbsFace();String bbsOpTime=bbsSendTime;String bbsIsTop=0;String bbsToTopTime=;String bbsIsGood=0;Str

35、ing bbsToGoodTime=;String sql=insert into tb_bbs values(?,?,?,?,?,?,?,?,?,?,?); Objectparams=boardId,bbsTitle,bbsContent,bbsSender,bbsSendTime,bbsFace, bbsOpTime,bbsIsTop,bbsToTopTime,bbsIsGood,bbsToGoodTime; ActionMessages messages=new ActionMessages();OpDB myOp=new OpDB();int i=myOp.OpUpdate(sql,params);5.2后臺(tái)設(shè)計(jì)后臺(tái)管理模塊主要包括類別管理、版面管理、用戶管理、退出管理四個(gè)模塊, 由于各模塊功能的實(shí)現(xiàn)都比較相似,在這里只介紹后臺(tái)頁面和版面管理模塊。5.2.1后臺(tái)頁面設(shè)計(jì)與實(shí)現(xiàn)本系統(tǒng)中所有的后臺(tái)頁面都采用了一種頁面框架,該頁面框架采用二分欄結(jié) 構(gòu),公為4個(gè)區(qū)域,側(cè)欄、頁頭、內(nèi)容顯示區(qū)和尾頁。網(wǎng)站后臺(tái)頁面的運(yùn)行結(jié)果 如圖5.6所示。a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論