版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、旅游論壇BBS系統(tǒng)設(shè)計與實現(xiàn)學(xué)生姓名地指導(dǎo)教師揚淫專業(yè)計算機科學(xué)與技術(shù)學(xué)院信息技術(shù)工程學(xué)院2016年3月8日畢業(yè)設(shè)計(論文)任務(wù)書姓名:肖雄學(xué)院:信息技術(shù)工程學(xué)院班級:12計科專業(yè):計算機科學(xué)與技術(shù)畢業(yè)設(shè)計(論文)題目:旅游論壇BBS系統(tǒng)設(shè)計與實現(xiàn)立題目的和意義:目的:設(shè)計的首要目的是運用已經(jīng)學(xué)習(xí)到的MyEclipse工具和MySQL數(shù)據(jù)庫知識自主實現(xiàn)一個實用的系統(tǒng),使得現(xiàn)有知識得到更好的鞏固,更加熟練的操作MyEclipse工具和MySQ或據(jù)庫。問時在實現(xiàn)中學(xué)習(xí)到更多的知識,能更深入掌握J(rèn)SP和了解軟件開發(fā)的全過程,為以后的學(xué)習(xí)與工作打下堅實的基礎(chǔ)。意義:BBS(電子布告欄系統(tǒng))是在網(wǎng)上提供
2、交流的手段。它可以用于公告、群組討論、社區(qū)內(nèi)通信、聯(lián)系、在線聊天、找工作等,利用網(wǎng)絡(luò)實時、便捷的特點來方便人們的交流、聯(lián)系和娛樂。技術(shù)要求與工作計劃:技術(shù)要求:本設(shè)計所做的網(wǎng)站采用三層結(jié)構(gòu),以MySQ微據(jù)庫為后臺數(shù)據(jù)庫,以JSP網(wǎng)頁作為表現(xiàn)層實現(xiàn),以Struts整合Spring進(jìn)行模型控制,因此,要求開發(fā)人員熟悉數(shù)據(jù)庫的基本知識,通曉MySQ微據(jù)庫的特點和用法,掌握J(rèn)ava語言的基本知識,能熟練運用JSP進(jìn)行網(wǎng)站開發(fā),以及對Struts和Spring框架有所掌握。熟練使用MyEclipse開發(fā)工具,了解Tomcat服務(wù)器的工程部署。工作計劃:利用一個月來學(xué)習(xí)Java語言,JSP語言,Strut
3、s及Spring框架,MySQ嗷據(jù)庫,同時進(jìn)行需求分析。利用大約一個半月的時間進(jìn)行系統(tǒng)設(shè)計和編碼。利用十天左右進(jìn)行系統(tǒng)調(diào)試和測試。利用半個月時間完成論文編寫和審定。時間安排:學(xué)習(xí)Java語言,JSP語言,Struts及Spring框架,MySQ微據(jù)庫。進(jìn)行系統(tǒng)的概要設(shè)計,詳細(xì)設(shè)計,代碼的編寫。進(jìn)行系統(tǒng)的調(diào)試與測試。論文的編寫和審定。通用論壇BBS系統(tǒng)是按照MVCM式進(jìn)行設(shè)計實現(xiàn)的,采用Tomcat作為后臺服務(wù)器,以MySQ數(shù)據(jù)庫作為數(shù)據(jù)服務(wù)器,使用Struts和Spring進(jìn)行邏輯控制,表現(xiàn)層用JSP頁面顯示,用于在網(wǎng)絡(luò)上為網(wǎng)民提供一個信息發(fā)布、獲取的場所。實現(xiàn)了查看、發(fā)表、刪除帖子功能,論壇
4、帖子版塊控制,注冊用戶可以修改自己的個人信息、增加好友與黑名單以及用戶之間發(fā)送短信息,管理員可以對用戶、帖子,版塊、用戶組、版塊權(quán)限和用戶組權(quán)限進(jìn)行管理。論文從問題的提出、基本設(shè)計思想、數(shù)據(jù)的流向到具體的設(shè)計過程都做出了詳細(xì)論述。關(guān)鍵詞:BBS論壇;主題;回復(fù)1緒論課題研究的目的及意義設(shè)計的首要目的是運用已經(jīng)學(xué)習(xí)到的MyEclipse工具和MySQ數(shù)據(jù)庫知識自主實現(xiàn)一個實用的系統(tǒng),使得現(xiàn)有知識得到更好的鞏固,更加熟練的操作MyEclipse工具和MySQ數(shù)據(jù)庫。同時在實現(xiàn)中學(xué)習(xí)到更多新的知識,能更深入掌握J(rèn)SP、Java語言,了解軟件開發(fā)的全過程,為以后的學(xué)習(xí)與工作打下堅實的基礎(chǔ)。BBS(電子
5、布告欄系統(tǒng))是在網(wǎng)上提供交流的手段。它可以用于公告、群組討論、社區(qū)內(nèi)通信、聯(lián)系、在線聊天、找工作等,利用網(wǎng)絡(luò)實時、便捷的特點來方便人們的交流、聯(lián)系和娛樂。國內(nèi)外研究動態(tài)進(jìn)入二十一世紀(jì),計算機技術(shù)迅速向著網(wǎng)絡(luò)化、集成化方向發(fā)展。傳統(tǒng)的單機版應(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),它的特
6、點是在客戶端直接采用了功能強大的瀏覽器軟件作為界面,其優(yōu)點在于軟件開發(fā)效率高,客戶端不受操作平臺的限制、也不受地域的限制,網(wǎng)絡(luò)傳輸量少,即適用于局域網(wǎng),更適用于Internet,而且投資小、見效快,用戶可以不必進(jìn)行服務(wù)器方面的投資,而是去租用,甚至是免費使用ISP的服務(wù)器資源,因而受到越來越多中小型單位的宵睞。Internet起源于20世紀(jì)60年代末、70年代初,當(dāng)時,美國國防部為了將充斥于軍事基地內(nèi)各種廠商的電腦主機互連,讓它們可以進(jìn)行數(shù)據(jù)交換以便研究工作順利進(jìn)行,于是成立了ARP/W絡(luò)計劃。ARP/A+劃嘗試建設(shè)一個網(wǎng)絡(luò)系統(tǒng),它可將各種不同廠商的電腦連接起來。隨著這個計劃的成功,各學(xué)術(shù)單位
7、,研究機構(gòu)也紛紛與ARPA#劃所建立的ARPANe連接。到了20世紀(jì)80年代,Internet這個名詞因勢產(chǎn)生,它代表著這十年來所構(gòu)建涵蓋全球各地的網(wǎng)絡(luò)系統(tǒng)。從1990年起,商業(yè)使用的Internet在美國急速地擴大,而Internet也從原來屆于少數(shù)人使用的網(wǎng)絡(luò)系統(tǒng)轉(zhuǎn)變?yōu)槠胀ò仔找材軌蚴褂玫木W(wǎng)絡(luò)系統(tǒng)。最初的Internet資源服務(wù)都還停留在文本模式,1989年,量子物理實驗室(CERN下的一個研究小組著手開發(fā)一種全新的Internet服務(wù),它可以在網(wǎng)絡(luò)上傳送圖片、文本、影像、聲音等多媒體數(shù)據(jù)。于是由TimBernersLee領(lǐng)導(dǎo)的小組開發(fā)出了一種主從、分布式的網(wǎng)絡(luò)服務(wù)系統(tǒng),這就是WWW(Wo
8、rW/ideWeb),俗稱“萬維網(wǎng)”。所謂WW凝實就是連上Web服務(wù)器訪問資源,取得的內(nèi)容就是所謂的“主貞”(HomePage)進(jìn)入的網(wǎng)頁通常不會只有一頁,而是整個網(wǎng)站的內(nèi)容?!熬W(wǎng)站”是一種呈現(xiàn)在網(wǎng)絡(luò)上的新興媒體,通過Internet已經(jīng)成為一個實時的,多媒體的信息傳播渠道。它的載體主要是電腦,范圍覆蓋全球各地,沒有國界,不分人種,時時刻刻地提供服務(wù)。目前,人們漸漸開始把網(wǎng)站稱之為廣播、電視、報刊以外的第四新聞媒體,以“共享、公平、公正、創(chuàng)新、國際化、團隊精神”為特征的網(wǎng)絡(luò)文明也已逐漸成為這個時代的標(biāo)志,人們越來越習(xí)慣于通過Internet網(wǎng)絡(luò)獲取信息,通過Internet在網(wǎng)站上發(fā)表自己對社
9、會對生活的理解和建議。隨著網(wǎng)絡(luò)的普及,論壇的內(nèi)容越來越豐富,論壇也由此深受廣大網(wǎng)民的喜愛,因此商業(yè)網(wǎng)站對論壇也重視起來,提供與網(wǎng)民交流的平臺,同時在線技術(shù)支持也在論壇中開展起來。本文的工作BBS系統(tǒng)就是提供給注冊用戶一個平臺,會員用戶可以通過Internet接入,登錄論壇,在這個平臺上發(fā)表文章、閱讀文章、回復(fù)文章等等。此類系統(tǒng)通常有以下四種類型的操作用戶:匿名用戶、普通用戶、版主、管理員、超級管理員。每類用戶有其不同的操作集,系統(tǒng)通常提供一個統(tǒng)一的登錄頁面,此頁面應(yīng)能自動識別不同級別的用戶,并提供不同的操作界面。與之相應(yīng),此類系統(tǒng)通常應(yīng)具有以下功能:用戶注冊、用戶登錄、發(fā)表文章、閱讀文章、回復(fù)
10、文章、分貞查找、主題查找、作者查找、個人資料維護、找回密碼、版面管理、版主管理、用戶管理、友情鏈接管理等等,所有操作都可以由用戶在客戶端瀏覽器中完成,而服務(wù)器端程序會按用戶的要求來完成對系統(tǒng)數(shù)據(jù)的操作,并將結(jié)果傳給Web服務(wù)器,再由We朋艮務(wù)器處理成HTM成:件后發(fā)送到客戶端瀏覽器。這就是所謂的B/S結(jié)構(gòu)應(yīng)用系統(tǒng),B/S結(jié)構(gòu)即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。C/S結(jié)構(gòu),即Client/Server(客戶機/服務(wù)器)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),通過將任務(wù)合理分配到Client端和Server端,降
11、低了系統(tǒng)的通訊開銷,可以充分利用兩端硬件環(huán)境的優(yōu)勢。早期的軟件系統(tǒng)多以此作為首選設(shè)計標(biāo)準(zhǔn)。B/S結(jié)構(gòu)下,用戶界面完全通過WWW覽器實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn),形成所謂N-Tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWV瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript)和ActiveX技術(shù),用通用瀏覽器就實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(xiàn)的強大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著Windows將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。結(jié)合BBS論壇系統(tǒng)實際需要,本BB
12、S系統(tǒng)采用B/S結(jié)構(gòu)。論文設(shè)計開發(fā)的系統(tǒng)為通用BBS系統(tǒng),系統(tǒng)應(yīng)該具備較大的可伸縮性,應(yīng)該能適應(yīng)最基本應(yīng)用最廣泛的Web臺。另外,通用系統(tǒng)應(yīng)該具備較大的可擴展性,而Java語言是面向?qū)ο蟮?,面向?qū)ο缶幊套⒅爻绦虻目蓴U展性,且Java語言是跨平臺執(zhí)行的,JSP相對其他網(wǎng)頁編程語言有更多的優(yōu)點,所以本系統(tǒng)米用Java+JSP作為編程語言2系統(tǒng)分析可行性分析商業(yè)軟件是根據(jù)客戶的根本目的和需要而設(shè)計和開發(fā)的,可行性是開發(fā)的系統(tǒng)具有使用價值和生命力的保證。社會可行性當(dāng)前社會是一個網(wǎng)絡(luò)化的社會,網(wǎng)絡(luò)就在人們周圍,人們從網(wǎng)絡(luò)上獲取并發(fā)布信息,而本系統(tǒng)正是應(yīng)這一需求而產(chǎn)生,為企業(yè),個人發(fā)布,獲取有價值的信息提
13、供場所。所以本系統(tǒng)具有社會可行性。技術(shù)可行性本系統(tǒng)采用三層結(jié)構(gòu),用MySQI據(jù)庫作為后臺數(shù)據(jù)庫,安裝和使用簡單易學(xué),方便操作;前臺頁面采用JSP動態(tài)頁面,JSP相比ASRPHPtP有很大的優(yōu)勢;控制層采用Struts+Spring框架,Struts和Spring都是JavaWeb開發(fā)中使用的比較熱門的技術(shù)。服務(wù)器采用Tomcat服務(wù)器,它是一個開源軟件。開發(fā)人員在學(xué)習(xí)了這些語言或工具之后,有能力開發(fā)本系統(tǒng)。經(jīng)濟可行性經(jīng)濟可行性是指軟件所帶來的經(jīng)濟效益與開發(fā)設(shè)計所需要的投資費用相比較是否適當(dāng),軟件是否會給使用者帶來經(jīng)濟效益。首先隨著計算機軟件和硬件技術(shù)的飛速發(fā)展,計算機軟、硬件價格不斷下降,設(shè)計
14、本系統(tǒng)所投入的資金下降。與使用本系統(tǒng)為企業(yè)發(fā)布、獲取信息所節(jié)省的價值相比,應(yīng)用本系統(tǒng)帶來的收益較大,經(jīng)濟效益可觀,所以在經(jīng)濟上是可行的。需求分析需求分析雖處于軟件開發(fā)過程的開始階段,但它對于整個軟件開發(fā)過程以及軟件產(chǎn)品質(zhì)量是至關(guān)重要的。隨著軟件系統(tǒng)復(fù)雜性的提高及規(guī)模的擴大,需求分析在軟件開發(fā)中所處的地位愈加突出1。所謂需求,是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能設(shè)計約束等方面的要求。在需求分析工作中,系統(tǒng)分析人員對用戶的需求進(jìn)行調(diào)查和分析,確定現(xiàn)有環(huán)境的特征,正確定義目標(biāo)軟件的特征。因此,需求分析工作是對應(yīng)用環(huán)境及其問題進(jìn)行理解和分析,為問題涉及的信息、功能及系統(tǒng)行為建立模型,將用戶需求精確
15、化。通用論壇BBS系統(tǒng)設(shè)計實現(xiàn)以下功能: 用戶中心:包括用戶注冊、用戶登錄、用戶注銷、增加好友、刪除好友、增加黑名單、刪除黑名單、發(fā)送短信息、查看短信息、刪除短信息、修改個人資料等功能。 主題中心:包括主題分類(論壇版塊)、查看主題、查看回復(fù)、發(fā)表主題、發(fā)表回復(fù)、對主題或回復(fù)進(jìn)行搜索等功能。 管理員中心:管理員對論壇進(jìn)行一些基本的維護,包括對帖子的刪除、置頂、設(shè)為精華帖,對用戶的刪除、授權(quán),對版塊的權(quán)限管理,對用戶組及用戶組的權(quán)限的管理等2。 統(tǒng)計功能:對論壇的相關(guān)參數(shù)進(jìn)行統(tǒng)計。用戶中心當(dāng)用戶進(jìn)入網(wǎng)站首頁時,會有一個登錄窗口,已經(jīng)注冊的會員用戶可以在這個窗口中登錄。沒有登錄的用戶只能查看主題,
16、不能發(fā)表主題或評論。登錄之后,用戶就可以發(fā)表主題或回復(fù);查看或修改自己個人信息,包括修改用戶頭像,可以選擇自己喜歡的圖片作為自己的頭像;可以給好友發(fā)送短信息,查看或刪除自己收到的信息;用戶可以在好友與黑名單里設(shè)置自己的關(guān)系網(wǎng),讓用戶與自己的好友交流更加方便,也可在讓用戶不接收不愿意見到的人的信息。沒有注冊的用戶可以在登錄窗口中點擊注冊超鏈接進(jìn)入新用戶注冊頁面,輸入用戶名、密碼、密碼提示問題、提示問題答案及安全郵箱,即可注冊成為網(wǎng)站的會員。密碼提示問題是為找密碼設(shè)置的,當(dāng)用戶忘記密碼或密碼丟失后可以通過輸入提示問題答案來找回密碼,如果用戶回答正確,系統(tǒng)會自動發(fā)送一封郵件到用戶的安全郵箱里,提示用
17、戶修改密碼。主題中心系統(tǒng)有版塊,主題和回復(fù),其中版塊是對主題的分類,回復(fù)是在主題下發(fā)表的,是用戶對主題的評論。當(dāng)用戶進(jìn)入首頁時會顯示論壇的所有版塊及每個版塊下的主題數(shù),帖子總數(shù),最后發(fā)表主題的用戶、時間。進(jìn)入版塊之后顯示該版塊下的主題及該主題下的回復(fù)數(shù),點擊數(shù),最后發(fā)表評論的用戶、時間。點擊主題名進(jìn)入主題頁面,該頁面有主題內(nèi)容,發(fā)表該主題的用戶的用戶名、積分、用戶組、注冊時間,該主題下的回復(fù)及發(fā)表回復(fù)的用戶的個人信息。已登錄用戶可以在版塊下發(fā)表主題,在主題下發(fā)表回復(fù),還可以按關(guān)鍵字對主題或回復(fù)進(jìn)行搜索,并支持模糊查詢。匿名用戶只能查看主題內(nèi)容,對主題或回復(fù)進(jìn)行搜索,但不能發(fā)表主題,不能發(fā)表回復(fù)
18、。管理員功能管理員作為一個特殊的用戶,除了擁有普通用戶擁有的功能外,還可以修改用戶權(quán)限,管理用戶組,管理版面,設(shè)置版主,控制用戶組權(quán)限。版主作為權(quán)限最少的管理者只能對自己所管理的版面的主題進(jìn)行刪除、置頂,設(shè)置精華貼,屏蔽用戶的回復(fù),編輯版面說明等。統(tǒng)計功能顯示論壇當(dāng)前注冊總?cè)藬?shù)、當(dāng)前帖子總數(shù)、論壇點擊總數(shù)、當(dāng)前在線人數(shù),會員人數(shù)以及游客人數(shù)。用戶表現(xiàn)積分排行,調(diào)動用戶積極性。用戶每次上線、發(fā)表主題或回復(fù)都會得到相應(yīng)的積分,并以此來體現(xiàn)用戶的活躍程度。系統(tǒng)會對主題按點擊數(shù)進(jìn)行排序,對版面按主題數(shù)進(jìn)行排序,帖子點擊統(tǒng)計,方便了解熱點話題。本日版面排行榜,本日作者排行榜。開發(fā)工具及相關(guān)技術(shù)簡介本系統(tǒng)
19、采用的工具有JDK、Tomcat、MyEclipse、,使用的技術(shù)有Java、Servlet、JSP、JavaScript、XMLStruts、Spring。相關(guān)工具簡介JDK是Sun公司Java應(yīng)用程序和組件的開發(fā)環(huán)境,是編譯和測試工具,也是提供java程序的Java虛擬機平臺,是調(diào)試和運行JSP所不可缺少的工具。本系統(tǒng)采用版本3。(1) TomcatTomcat是開源的servlet和JSP容器(Sun官方推薦容器),它是Jakarta項目中一個重要的組成,由ApacheSun和其他一些公司及個人開發(fā)。Tomcat內(nèi)部實現(xiàn)了Servlet和JSP引擎,而且擴展了一些應(yīng)用服務(wù)器的功能,例如J
20、NDI、數(shù)據(jù)庫連接池、用戶事務(wù)處理等。目Tomcat被廣泛地應(yīng)用于中小規(guī)模的Javaweb應(yīng)用中4Eclipse/MyEclipseEclipse是基于Java的開放源代碼的可擴展開發(fā)平臺,Eclipse平臺提供軟件開發(fā)工具的集成服務(wù),所有開發(fā)工具(包括JDE和PDE:B是用插件的形式提供的。這種設(shè)計使得Eclipse具有開放式可擴充的結(jié)構(gòu)5。MyEclipse是在Eclipse集成開發(fā)環(huán)境中提供Wet用程序開發(fā)的插件,在目前軟件開發(fā)的Java領(lǐng)域中,MyEclipse是一個使用非常廣泛的工具。MyEclipse是Eclipse軟件的一個插件,Eclipse軟件是免費的,但MyEclipse不
21、是一個完全免費的產(chǎn)品,需要購買。(2) MySQLMySQ嗷據(jù)庫是一個較小型的數(shù)據(jù)庫系統(tǒng),同時是一個多用戶、多線程強壯的SQL數(shù)據(jù)庫服務(wù)器,并提供免費的安裝軟件6。由于它對平臺環(huán)境要求不高,安裝方便,適合中小型系統(tǒng)的開發(fā)。相關(guān)技術(shù)概述Java語言概述Java編程語言是一種通用、并發(fā)、基于類且面向?qū)ο蟮恼Z言。Java編程語言與C和C+件目關(guān),但是在組織方式上有差別,Java具有C和C+漏的許多優(yōu)點,同時兼有其他語言包括的一些思想。它旨在成為一種生產(chǎn)語言,而不是一種研究語言,并且正是如此7。(1) Servlet技術(shù)概述Servlet技術(shù)主要是為了使用Web上的HTTPft、議而設(shè)計的。Servl
22、et是在Web務(wù)器上運行的程序,JavaServlet可以用于處理客戶請求或生成動態(tài)Web網(wǎng)頁。Tomcat是支持JavaServlet和JSP的Wet務(wù)器8。(2) JSP技術(shù)概述JSP(JavaServerPages)是由Sun公司倡導(dǎo),許多公司參與,共同建立人一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),JSP技術(shù)是在Servlet技術(shù)基礎(chǔ)上發(fā)展起來的。它正在飛速發(fā)展中,現(xiàn)在已經(jīng)成為Java服務(wù)器編程的重要組成部分。(3) JavaScript技術(shù)概述JavaScript是一種基于對象(Object)和事件驅(qū)動(EventDriver)并具有安全性能的腳本語言,它所能提供的功能非常強大。JavaScript是一
23、種簡潔的面向?qū)ο蟮拿枋稣Z言,是專門用來開發(fā)Internet客戶端和服務(wù)器端的應(yīng)用程序,它可以被輕易的嵌入到HTM頃件中,使用JavaScript瀏覽器以回應(yīng)使用者的需求事件而不用通過網(wǎng)絡(luò)來回傳資料,這樣,使用者的資料就可以直接被客戶端應(yīng)用程序所處理,它的出現(xiàn)彌補了HTMLSb的缺陷,它是Java與HTM斷衷的選擇9XMLg術(shù)概述從1998年2月W3前式推出XML(extensibleMarkupLanguage的縮寫,意為可擴展的標(biāo)記語言)后短短的三年間,XM似驚人的速度在廣大的設(shè)計人員中傳播開來。隨著Internet的飛速發(fā)展,HTMLLT始對更多的網(wǎng)絡(luò)設(shè)計要求顯露出疲態(tài)。XM曲就是在這種大
24、環(huán)境下孕育而生的10。(4) Struts概述Struts使用Model2體系結(jié)構(gòu)。ActionServlet負(fù)責(zé)控制流程。另外一個Struts類,Action,負(fù)責(zé)存取業(yè)務(wù)邏輯類。當(dāng)ActionServlet類從窗口中獲得一個請求時,它使用請求的URI(也稱為路徑)來決定是哪一個Action來處理該請求。一個Action可以檢驗輸入的合法性、通過業(yè)務(wù)邏輯層來讀取數(shù)據(jù)庫或者其他數(shù)據(jù)服務(wù)中的信息。要校驗輸入的合法性或者是使用該輸入來修改數(shù)據(jù)庫中的內(nèi)容,Action需要用戶提交給它處理數(shù)據(jù)。為了避免每一個Action都要處理從請求中輸入數(shù)據(jù)的操作,Struts將這些輸入數(shù)據(jù)綁定到JavaBean中
25、。每一個這樣的Bean都是Struts中ActionForm類的子類。ActionServlet通過查看請求的路徑就可以決定哪一個ActionForm用來包含輸入數(shù)據(jù)。這些ActionFormod類都應(yīng)該是的子類。每一個HTTP肯求都必須有一個HTTP響應(yīng)。一般而言,Struts自已并不生成響應(yīng),而是將請求轉(zhuǎn)發(fā)到其他的資源上去一例如JSP頁面。Struts提供一個名為ActionForward的類來將邏輯名保存到每個面的路徑。當(dāng)業(yè)務(wù)邏輯部分已經(jīng)執(zhí)行完成后,Action會選擇一個ActionForward,并且將它返回給每個總控servlet。總控Servlet會使用在該ActionForwar
26、d中存儲的物理路徑來調(diào)用對應(yīng)的頁面來完成http應(yīng)部分。Struts將所有這些方面的細(xì)節(jié)信息都定義在ActionMapping對象中。每一個ActionMapping對象都對應(yīng)于一個指定的路徑。當(dāng)該路徑被請求時,總控servlet會獲取對應(yīng)的ActionMappworldwidewebing對象。該對象會告訴總控servlet該使用哪些Action,ActionForm和ActionForward對象。全部有關(guān)Action,ActionForm,ActionForward以及ActionMapping的信息和其他的配置信息都在文件中聲明。ActionServlet在啟動的時候會讀取該文件,并且
27、創(chuàng)建包含所有這些配置對象的數(shù)據(jù)庫。在運行時刻,Struts會使用這些對象,而不是文件本身11。(1) Spring概述Spring是一個開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個組件,同時為J2EE應(yīng)用程序開發(fā)提供集成的框架。Spring提供了一種輕量級的解決方案,用丁建立“快裝式企業(yè)應(yīng)用”。在此基礎(chǔ)上,Spring還提供了包括聲明式事務(wù)管理,RMI或WebService遠(yuǎn)程訪問業(yè)務(wù)邏輯,以及可以多種方法進(jìn)行的持久化數(shù)據(jù)庫的解決方案。另外,Spring還有一個全功能的MVO巨架,并能透明地把AOPft成到用戶的軟件中去
28、12。系統(tǒng)的數(shù)據(jù)流圖數(shù)據(jù)流圖即DFD(DataFlowDiagram)圖。是用丁分析系統(tǒng)數(shù)據(jù)流程的圖形,意在讓用戶理解系統(tǒng)的功能、輸入、輸出和數(shù)據(jù)存儲等。BBS系統(tǒng)的第一層數(shù)據(jù)流圖如圖2-1所示,描述系統(tǒng)由哪幾部分組成,各部分之間有什么聯(lián)系13。圖2-1BBS系統(tǒng)的數(shù)據(jù)流圖(第一層)用例圖用例是系統(tǒng)、子系統(tǒng)或類和外部的參與者(actor)交互的動作序列的說明,包括可選的動作序列和會出現(xiàn)異常的動作序列。用例是代表系統(tǒng)中各個項目相關(guān)人員之間就系統(tǒng)的行為所達(dá)成的契約。在UML中,用例用一個橢圓表示,用例名往往用動賓結(jié)構(gòu)或主謂結(jié)構(gòu)命名14。參與者是指用戶在系統(tǒng)中的扮演的角色,其圖形化表示是一個小人。B
29、BS系統(tǒng)的用例有用戶注冊、登錄、注銷、瀏覽主題、發(fā)表主題、發(fā)表回復(fù)、查看短信、發(fā)送短信息、刪除短信;管理員管理用戶、管理主題、管理用戶組、版塊權(quán)限、管理用戶組權(quán)限。用例圖如圖2-2所示。圖2-2BBS系統(tǒng)的用例圖3總體設(shè)計功能分析BBS系統(tǒng)分為前臺和后臺兩個模塊。系統(tǒng)的功能模塊圖如圖3-1所示圖3-1BBS系統(tǒng)功能模塊圖前臺模塊的使用對象包括了所有用戶(管理員、用戶、游客),提供的功能包括注冊帳號、用戶登錄、用戶注銷、瀏覽文章、發(fā)表新主題、回復(fù)主題、增加好友、刪除好友、增加黑名單、刪除黑名單、查看短信息、發(fā)送短信息、刪除短信息、修改個人信息。如圖3-2所示。后臺模塊的使用對象為管理人員(版主、
30、管理員、超級管理員),提供的功能包括管理用戶、管理版塊、管理主題、管理用戶組、功能權(quán)限管理、版塊權(quán)限管理。后臺功能模塊如圖3-3所示。圖3-3BBS后臺功能模塊圖數(shù)據(jù)庫設(shè)計根據(jù)前面的需求描述,本系統(tǒng)中可以抽象出來的數(shù)據(jù)模型有:用戶(user)、模塊(module)、主題(topic)、回復(fù)(retopic)、好友關(guān)系(friends)、用戶短信息(note)、用戶組(groud)、功能(function)、功能權(quán)限(group_has_function)、模塊權(quán)限(modright)模塊版主(user_has_module)、積分(integral)。根據(jù)需求分析,可設(shè)計如下表:(10) 用戶
31、信息表:用戶ID、用戶名、密碼、E-mail地址、密碼提示問題、提示問題答案、是否公開注冊信息、真實姓名、性別、出生年月日、聯(lián)系電話、詳細(xì)地址、郵政編碼、用戶簽名檔、用戶頭像、QQ注冊時間、用戶組、用戶積分、用戶登錄次數(shù)、最后登錄時間、發(fā)表的帖子數(shù)、被推薦的精華帖數(shù)、用戶最后登錄的IP論壇模塊表:模塊ID、模塊名、上級模塊ID、模塊介紹、模塊一天的總主題數(shù)、模塊主題總數(shù)、模塊回復(fù)總數(shù)、模塊狀態(tài)(1普通模塊、2會員論壇、3嘉賓論壇、4加密論壇、5關(guān)閉論壇)、是否審核(false否、true是)、加密論壇的密碼、模塊創(chuàng)建時間論壇主題表:主題ID、主題名、主題內(nèi)容、主題發(fā)布者、所屆模塊、主題狀表示在
32、審核中、1表示審核通過、2表示草稿)、訪問限制積分、點擊數(shù)、是否為精華帖子、是否置頂、被創(chuàng)建時間主題回復(fù)表:回復(fù)帖子ID、回復(fù)主題ID、回復(fù)標(biāo)題、回復(fù)內(nèi)容、回復(fù)者ID、回復(fù)時間、是否屏蔽(false否、true是)關(guān)系表:好友ID、用戶名、申請的好友用戶名,好友標(biāo)記(0黑名單、1好友、2未確認(rèn)好友)用戶短信息表:短信ID、發(fā)信者、收信者、短信標(biāo)題、短信內(nèi)容、發(fā)信時間、發(fā)信標(biāo)記(0已刪除1已發(fā)送2草稿)、收信標(biāo)記(0已刪除、1已讀,2未讀)用戶組表:組ID、用戶組名、組描述功能表:功能ID、功能名、功能信息功能權(quán)限表:用戶組ID、功能ID模塊權(quán)限表:權(quán)限ID、用戶組名(外鍵)、訪問模塊ID,訪問
33、權(quán)限模塊版主表:用戶ID、模塊ID積分表:積分ID、積分、等級4詳細(xì)設(shè)計與實現(xiàn)數(shù)據(jù)庫連接系統(tǒng)采用JSP+Struts+Spring架構(gòu),數(shù)據(jù)庫采用MySQL使用Spring的配置文件連接數(shù)據(jù)庫,其連接數(shù)據(jù)庫的配置信息如下:使用注入Dao的形式進(jìn)行數(shù)據(jù)庫操作,在Dao中實現(xiàn)對數(shù)據(jù)表的增加、刪除、查詢、修改操作,Dao不進(jìn)行其他的邏輯操作。前臺JSP頁面產(chǎn)生的請求交由對應(yīng)的Action進(jìn)行邏輯操作,當(dāng)其要對數(shù)據(jù)庫進(jìn)行操作時,通過WebApplicationContext對象獲取Dao,將要操作的對象的相關(guān)參數(shù)傳給Dao即可。這就是對接口編程,使各個模塊之間低耦合,有利于程序的可擴展性。前臺顯示模塊
34、前臺顯示模塊包括用戶的一些功能,具體的可分為用戶注冊、用戶登錄、用戶注銷、修改個人信息、增加好友、刪除好友、增加黑名單、刪除黑名單、查看短信息、發(fā)送短信息、刪除短信息、查看版面、查看主題、查看回復(fù)、發(fā)表主題和發(fā)表回復(fù)等功能。由于主題是在版塊下存在的,所以在版塊下的任何地方都可以發(fā)表主題,而回復(fù)只能是針對主題進(jìn)行回復(fù),所以必須在主題下才能發(fā)表回復(fù),也就是在主題頁面下才能點擊發(fā)表回復(fù)?,F(xiàn)將部分功能說明如下:(1)用戶注冊:新用戶在頁面中輸入用戶名,密碼,密碼提示問題、提示問題答案、安全郵箱,點擊提交按鈕,數(shù)據(jù)提交到中進(jìn)行處理,在中,如果用戶名已經(jīng)有人使用則返回注冊頁面,否則提示用戶注冊成功,并跳轉(zhuǎn)
35、到登錄頁面。(2) 用戶登錄:用戶在有帳號的前提下,可以在登錄頁面或主貞中輸入用戶名和密碼點擊登錄,系統(tǒng)將用戶名和密碼提交到中的entry()方法,將用戶提交的用戶名和密碼再轉(zhuǎn)交給后臺的Dao進(jìn)行查詢,如果有這樣的一條記錄存在則登錄成功,將用戶的個人信息保存在瀏覽器端的Session中,否則返回登錄頁面,并提示用戶名或密碼錯誤。(3) 用戶注銷:已登錄用戶在退出網(wǎng)站時注銷登錄狀態(tài),系統(tǒng)將請求交給的loginOut()方法處理,在loginOut()方法中修改用戶最后離線時間,將修改保存到數(shù)據(jù)庫中,并將瀏覽器端的Session的user屆性移除,系統(tǒng)返回主貞。用戶同時失去登錄用戶的權(quán)限,以游客身
36、份訪問網(wǎng)站,只能瀏覽主題,不能發(fā)表主題,也不能發(fā)表回復(fù)。(4) 查看版面:首頁顯示BBS的版塊及主要信息,點擊版塊名進(jìn)入版塊下會顯示主題列表,點擊主題名可以進(jìn)入主題頁面。首頁采用jsp:forwardpage=/方法將請求交給處理,在BbsAction中從數(shù)據(jù)庫取出所有版塊的信息及每個版塊下的最新主題信息,并將取出的數(shù)據(jù)保存在JSP的Session對象中,數(shù)據(jù)取出后交給頁面,在頁面中將取出的結(jié)果顯示出來。(5) 查看主題:當(dāng)用戶在主貞上點擊版塊名時,會產(chǎn)生一個動作,向服務(wù)器產(chǎn)生一個請求,服務(wù)器將程序交給處理,在中取出模塊下的所有主題及最后發(fā)表回復(fù)的作者的信息并將其存入request對象中,處理
37、完之后返回到版塊下的主題顯示頁面。(6) 查看回復(fù):用戶在主題顯示頁面點擊主題名時會產(chǎn)生查找主題信息動作,系統(tǒng)將這個動作交給來處理,在中請求交給后臺DAO從DAOP取出數(shù)據(jù)表中的項,要取的內(nèi)容有該主題所在的版塊信息、該主題信息、該主題下的回復(fù)信息,該主題和其回復(fù)的作者的部分信息。后臺管理模塊管理員乂可分為版主、管理員、超級管理員。版主的權(quán)限最小,只能維護自己版面的主題,包括刪除主題、將主題置頂、設(shè)置精華帖等。管理員的功能比版主的功能要多,管理員可以刪除用戶,修改用戶權(quán)限、增加用戶組、刪除用戶組、增加版塊、刪除版塊、查詢版塊、刪除主題、修改主題屆性、新增功能權(quán)限、查詢功能權(quán)限、刪除功能權(quán)限、新增
38、版塊權(quán)限、查詢版塊權(quán)限、刪除版塊權(quán)限。管理員不能刪除其他的管理員,管理員只有超級管理員才能夠設(shè)置和刪除。超級管理員具有網(wǎng)站的一切功能?,F(xiàn)將部分功能介紹如下:管理員作為特殊的用戶,通過或頁面進(jìn)行登錄到主貞,在主貞上如果是管理員則顯示后臺管理超鏈接,管理員點擊后臺管理,進(jìn)入管理界面,在管理頁面有版塊管理、主題管理、用戶管理、用戶組管理、用戶組權(quán)限管理、版塊權(quán)限管理。用戶點擊版塊管理,系統(tǒng)將請求提交給的managed法,在manage法中取出所有的版塊,跳轉(zhuǎn)到,在這個頁面將所有的版塊都顯示出來,管理員可以在這個頁面直接點擊刪除鏈接,將所在版塊ID提交到后臺,在的delete方法中將版塊及該版塊下的主
39、題刪除,同時也將該版塊下的主題的回復(fù)全部刪除。的delete方法的關(guān)鍵代碼如下:publicActionForwarddelete(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)etWebApplicationContextModuleDaomoduleDao=(ModuleDao)(moduleDao);TopicDaotopicDao=(TopicDao)(topicDao);ReTopicDaoreTopicDao=(ReTopicDao)(reTopic
40、Dao);StringmoduleId=(id);Stringcheck=(id);if(moduleId!=null)ListlistTopic=(Integer.parseInt(moduleId);if(listTopic!=null&!()for(Topictopic:listTopic)();”刪除回復(fù)成功);(moduleld);”刪除主題成功);if(moduleld)(returnMessage,刪除模塊成功!);(returnMessage,刪除模塊失??!);elseif(check!=null)(for(inti=0;i;i+)(if(checki!=null)(if(ch
41、ecki)ListlistTopic=topicDao.getTopicByModId(checki);if(listTopic!=null&!()for(Topictopic:listTopic)if(topic.getId();(checki);(returnInfo,刪除模塊成功!);else(returnInfo,刪除模塊失??!”);return(deleteModuleSuccess);增加版塊頁面是,用戶輸入版塊類型和版塊信息,點擊提交,系統(tǒng)將數(shù)據(jù)交給的insert方法處理,在insert方法中,將版塊信息再轉(zhuǎn)交給后臺的ModuleDag在ModuleDa。中將版塊信息插入到數(shù)據(jù)庫
42、中。如果數(shù)據(jù)庫中沒有這個版塊的類型且插入成功,則返回1,如果有這個類型的版塊則返回-1,其他情況返回0,根據(jù)返回值不同,相應(yīng)的顯示不同的提示信息。處理完成后,頁面跳轉(zhuǎn)到版塊管理頁面,顯示系統(tǒng)中的所有版塊信息。的insert方法的代碼如下:publicActionForwardinsert(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)(WebApplicationContextctx=WebApplicationContextUtils.getWebApplic
43、ationContextModuleDaomoduleDao=(ModuleDao)(moduleDao);StringmodType=(modType);StringmodInfo=(modInfo);Useruser=(User)().getAttribute(user);Modulemodule=newModule();(modType);(modInfo);();intreturnValue=(module);if(returnValue=1)(returninfo,新增版塊成功!);elseif(returnValue=-1)(returninfo,新增的版塊已經(jīng)存在!);else(
44、returninfo,新增失敗!);ListlistModule=();(listModule,listModule);return(manageModule);主題管理中有刪除主題,置頂,精華帖三種功能。點擊刪除主題,系統(tǒng)將主題id傳給的delete方法,在delete方法中查詢?nèi)绻撝黝}下有回復(fù)opicDao的deleteTopic(intid)方法將該主題刪除。的delete方法如下:publicActionForwarddelete(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResp
45、onseresponse)etWebApplicationContextTopicDaotopicDao=(TopicDao)(topicDao);ReTopicDaoreTopicDao=(ReTopicDao)(reTopicDao);inttopicId=(id);if(topicId).size()0)if(!(topicId)(returnInfo,刪除主題失?。?;return(deleteTopicSuccess);if(topicId)(returnInfo,刪除主題成功!);else(returnInfo,刪除主題失??!);return(deleteTopicSuccess)
46、;置頂和精華帖都是根據(jù)主題id值把相應(yīng)的主題的對應(yīng)屆性修改為1,系統(tǒng)返回主題管理頁面。用戶管理頁面是中有修改用戶權(quán)限,刪除用戶其中,修改用戶權(quán)限就只是修改用戶所在的組,新用戶注冊后默認(rèn)在普通用戶組,可以由管理員修改用記的組。,先刪除主題ID為id的回復(fù),然后將id號傳給后臺TopicDao,調(diào)用5測試與運彳亍環(huán)境系統(tǒng)測試軟件測試的目的在于在軟件投入運行之前,盡可能多地發(fā)現(xiàn)軟件中的錯誤,軟件測試是對軟件規(guī)格說明、設(shè)計和編碼的最后復(fù)審,是軟件質(zhì)量的保證的關(guān)鍵步驟15。系統(tǒng)測試一般分為模塊測試、組裝測試、確認(rèn)測試。確認(rèn)測試是軟件需求說明書上的功能進(jìn)行逐項檢驗,模塊測試是查找各模塊在功能結(jié)構(gòu)上存在的問
47、題。本系統(tǒng)采用模塊測試,對系統(tǒng)的每個功能進(jìn)行測試。系統(tǒng)調(diào)試通過測試后,發(fā)現(xiàn)用戶注冊的功能不能對輸入的信息進(jìn)行校驗,JavaScript對輸入的數(shù)據(jù)沒有進(jìn)行校驗,通過查找源代碼,發(fā)現(xiàn)是函數(shù)沒有寫對。另外還發(fā)現(xiàn)了其他一些錯誤,經(jīng)過使用打印語句輸出數(shù)據(jù)處理結(jié)果的方法,也都找出了錯誤所在。運行環(huán)境軟件環(huán)境操作系統(tǒng)必須是Windows2000Professional/Server,WindowsXPProfessional、Server或以上版本;數(shù)據(jù)庫使用或以上版本,或以上版本,或以上版本。(1) 硬件環(huán)境內(nèi)存至少為128MHZCPL求為IntelPentium800MHZ或以上更高頻率的CPU硬盤容量要求
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年三分能力七分責(zé)任心得體會模版(2篇)
- 二零二五版煤炭物流運輸新能源車輛采購合同4篇
- 二零二五年度養(yǎng)殖場承包運營管理協(xié)議3篇
- 龍湖地產(chǎn)龍湖一期土石方工程二零二五年度質(zhì)量保證合同4篇
- 2025年度個人對公司養(yǎng)老產(chǎn)業(yè)借款合同(養(yǎng)老產(chǎn)業(yè)發(fā)展支持版)2篇
- 2024藥店藥品追溯系統(tǒng)建設(shè)及運營服務(wù)合同范本3篇
- 2025年度內(nèi)墻涂料施工與綠色建筑認(rèn)證合同
- 2025年退休人員創(chuàng)業(yè)扶持勞動合同規(guī)范
- 二零二五年度內(nèi)蒙古自治區(qū)肉牛良種引進(jìn)與推廣合同
- 中小微企業(yè)2024合作創(chuàng)新發(fā)展合同稿版B版
- 物業(yè)民法典知識培訓(xùn)課件
- 2023年初中畢業(yè)生信息技術(shù)中考知識點詳解
- 2024-2025學(xué)年八年級數(shù)學(xué)人教版上冊寒假作業(yè)(綜合復(fù)習(xí)能力提升篇)(含答案)
- 《萬方數(shù)據(jù)資源介紹》課件
- 醫(yī)生定期考核簡易程序述職報告范文(10篇)
- 第一章-地震工程學(xué)概論
- 《中國糖尿病防治指南(2024版)》更新要點解讀
- 初級創(chuàng)傷救治課件
- 交通運輸類專業(yè)生涯發(fā)展展示
- 2024年山東省公務(wù)員錄用考試《行測》試題及答案解析
- 神經(jīng)重癥氣管切開患者氣道功能康復(fù)與管理專家共識(2024)解讀
評論
0/150
提交評論