網(wǎng)上論壇系統(tǒng)_第1頁
網(wǎng)上論壇系統(tǒng)_第2頁
網(wǎng)上論壇系統(tǒng)_第3頁
網(wǎng)上論壇系統(tǒng)_第4頁
網(wǎng)上論壇系統(tǒng)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1網(wǎng)上論壇系統(tǒng)實踐指南網(wǎng)上論壇系統(tǒng)實踐指南 2導(dǎo)讀導(dǎo)讀n介紹網(wǎng)上論壇系統(tǒng)的立項、需求、設(shè)計和編程實現(xiàn),重點是介紹網(wǎng)上論壇系統(tǒng)的立項、需求、設(shè)計和編程實現(xiàn),重點是J2EE下的系統(tǒng)整體架構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、下的系統(tǒng)整體架構(gòu)設(shè)計、數(shù)據(jù)庫設(shè)計、JDBC數(shù)據(jù)庫連數(shù)據(jù)庫連接中間件的連接方法、用戶注冊登錄功能和版塊管理功能的接中間件的連接方法、用戶注冊登錄功能和版塊管理功能的編程實現(xiàn)源代碼。編程實現(xiàn)源代碼。n根據(jù)文獻(xiàn)根據(jù)文獻(xiàn)1的文檔制作標(biāo)準(zhǔn),本章還給出了詳細(xì)而標(biāo)準(zhǔn)的文檔制作標(biāo)準(zhǔn),本章還給出了詳細(xì)而標(biāo)準(zhǔn)的需求分析文檔和系統(tǒng)設(shè)計文檔。的需求分析文檔和系統(tǒng)設(shè)計文檔。n本章的重要性與先進(jìn)性在于:網(wǎng)上論壇系統(tǒng)是在當(dāng)今

2、最先進(jìn)本章的重要性與先進(jìn)性在于:網(wǎng)上論壇系統(tǒng)是在當(dāng)今最先進(jìn)的的J2EE平臺下設(shè)計的,程序是用平臺下設(shè)計的,程序是用Java實現(xiàn)的,核心源碼以實現(xiàn)的,核心源碼以文字的方式提供,全部源碼在附帶的光盤上給出。文字的方式提供,全部源碼在附帶的光盤上給出。n作為學(xué)生實習(xí)的項目,網(wǎng)上論壇系統(tǒng)的規(guī)模作為學(xué)生實習(xí)的項目,網(wǎng)上論壇系統(tǒng)的規(guī)模(或工作量或工作量)不大不大不小,既非常合適,又極具新意,希望將學(xué)生劃分為多個項不小,既非常合適,又極具新意,希望將學(xué)生劃分為多個項目組,每組目組,每組3-5人,確定人,確定1名項目經(jīng)理,按照需求、設(shè)計、名項目經(jīng)理,按照需求、設(shè)計、美工、編程、測試進(jìn)行分工,組員之間既分工又協(xié)

3、作,一邊美工、編程、測試進(jìn)行分工,組員之間既分工又協(xié)作,一邊上課,一邊看書,一邊模仿著做項目,用上課,一邊看書,一邊模仿著做項目,用1-2個月完成這項個月完成這項任務(wù)。驗收內(nèi)容包括需求文檔、設(shè)計文檔、源代碼、可執(zhí)行任務(wù)。驗收內(nèi)容包括需求文檔、設(shè)計文檔、源代碼、可執(zhí)行程序、測試文檔、用戶指南。程序、測試文檔、用戶指南。 3本章對讀者的要求本章對讀者的要求 要要 求求具具 體體 內(nèi)內(nèi) 容容了了 解解1 1)網(wǎng)上論壇系統(tǒng)立項背景網(wǎng)上論壇系統(tǒng)立項背景2 2)網(wǎng)上論壇系統(tǒng)目錄結(jié)構(gòu))網(wǎng)上論壇系統(tǒng)目錄結(jié)構(gòu)3 3)網(wǎng)上論壇網(wǎng)上論壇系統(tǒng)部署系統(tǒng)部署 理理 解解1 1)網(wǎng)上論壇網(wǎng)上論壇系統(tǒng)系統(tǒng)開發(fā)環(huán)境和運行環(huán)境開

4、發(fā)環(huán)境和運行環(huán)境2 2)網(wǎng)上論壇)網(wǎng)上論壇系統(tǒng)系統(tǒng)需求分析文檔需求分析文檔3 3)網(wǎng)上論壇)網(wǎng)上論壇系統(tǒng)系統(tǒng)設(shè)計文檔設(shè)計文檔 關(guān)關(guān) 注注 1)論壇系統(tǒng)整體架構(gòu)設(shè)計和網(wǎng)上論壇系統(tǒng)數(shù)據(jù)庫設(shè)計論壇系統(tǒng)整體架構(gòu)設(shè)計和網(wǎng)上論壇系統(tǒng)數(shù)據(jù)庫設(shè)計2)網(wǎng)上論壇系統(tǒng)數(shù)據(jù)庫連接實現(xiàn)網(wǎng)上論壇系統(tǒng)數(shù)據(jù)庫連接實現(xiàn)3 3)網(wǎng)上論壇系統(tǒng)用戶注冊登錄功能實現(xiàn))網(wǎng)上論壇系統(tǒng)用戶注冊登錄功能實現(xiàn)4 4)網(wǎng)上論壇系統(tǒng)版塊管理子系統(tǒng)實現(xiàn))網(wǎng)上論壇系統(tǒng)版塊管理子系統(tǒng)實現(xiàn) 4系統(tǒng)立項背景系統(tǒng)立項背景 n論壇又叫論壇又叫BBSBBS,全稱為全稱為Bulletin Board SystemBulletin Board System,中文意思是

5、中文意思是“電電子公告板子公告板”,它是,它是InternetInternet上的一種交互性極強(qiáng)的、網(wǎng)友喜聞樂上的一種交互性極強(qiáng)的、網(wǎng)友喜聞樂見的電子信息服務(wù)系統(tǒng),提供一塊公共電子白板,每個用戶都可見的電子信息服務(wù)系統(tǒng),提供一塊公共電子白板,每個用戶都可以在上面書寫,發(fā)布各自的信息或提出不同的看法,以便與其它以在上面書寫,發(fā)布各自的信息或提出不同的看法,以便與其它用戶進(jìn)行交流討論。用戶進(jìn)行交流討論。nJ2EEJ2EE技術(shù)具有許多顯著的優(yōu)點,所以我們采用技術(shù)具有許多顯著的優(yōu)點,所以我們采用J2EEJ2EE平臺來開發(fā)。平臺來開發(fā)。近兩年來也開始流行起新的網(wǎng)絡(luò)編程腳本語言近兩年來也開始流行起新的網(wǎng)絡(luò)

6、編程腳本語言ASP.NETASP.NET。ASP.NETASP.NET和和JSPJSP同樣是屬于編譯型的,即在第一次運行同樣是屬于編譯型的,即在第一次運行WEBWEB應(yīng)用時將代碼編應(yīng)用時將代碼編譯,以后重新運行就不再進(jìn)行編譯了,除非代碼發(fā)生改變。譯,以后重新運行就不再進(jìn)行編譯了,除非代碼發(fā)生改變。 n冰魚論壇管理系統(tǒng)采用了冰魚論壇管理系統(tǒng)采用了J2EEJ2EE設(shè)計模式中的設(shè)計模式中的MVCMVCModel 2Model 2模式,模式,采用采用MySQLMySQL做數(shù)據(jù)庫服務(wù)器。由于前面的章節(jié)已詳細(xì)講解了需求做數(shù)據(jù)庫服務(wù)器。由于前面的章節(jié)已詳細(xì)講解了需求分析、數(shù)據(jù)庫設(shè)計等方面,本章對冰魚論壇管理

7、系統(tǒng)的討論,重分析、數(shù)據(jù)庫設(shè)計等方面,本章對冰魚論壇管理系統(tǒng)的討論,重點放在點放在J2EEJ2EE系統(tǒng)架構(gòu)設(shè)計及具體實現(xiàn)上,而對需求分析及系統(tǒng)測系統(tǒng)架構(gòu)設(shè)計及具體實現(xiàn)上,而對需求分析及系統(tǒng)測試不作詳細(xì)介紹。試不作詳細(xì)介紹。 5系統(tǒng)需求分析系統(tǒng)需求分析 n需求分析就是對顧客的需求進(jìn)行定義或確定,這一過程十分重要,需求分析就是對顧客的需求進(jìn)行定義或確定,這一過程十分重要,而且有許多工作看似容易,做起來很難。因為客戶的需求具有動而且有許多工作看似容易,做起來很難。因為客戶的需求具有動態(tài)性,甚至有個別用戶朝三暮四地變化;同時客戶的需求具有模態(tài)性,甚至有個別用戶朝三暮四地變化;同時客戶的需求具有模糊性,

8、有些客戶對業(yè)務(wù)流程表達(dá)不規(guī)范,對需求表達(dá)不清楚不明糊性,有些客戶對業(yè)務(wù)流程表達(dá)不規(guī)范,對需求表達(dá)不清楚不明確,甚至自己都不清楚真正的需求是什么。所以唯一不變的是變確,甚至自己都不清楚真正的需求是什么。所以唯一不變的是變化!化!n論壇具有的最基本模塊有:論壇具有的最基本模塊有:n(1) (1) 用戶模塊主要包括用戶登錄、注冊、用戶資料修改等;用戶模塊主要包括用戶登錄、注冊、用戶資料修改等;n(2) (2) 版塊模塊主要實現(xiàn)對論壇版塊的管理,如增刪改等;版塊模塊主要實現(xiàn)對論壇版塊的管理,如增刪改等;n(3) (3) 帖子模塊主要實現(xiàn)顯示帖子內(nèi)容,斑竹或管理員能進(jìn)行相應(yīng)帖子模塊主要實現(xiàn)顯示帖子內(nèi)容,

9、斑竹或管理員能進(jìn)行相應(yīng)管理;管理;n(4) (4) 友情鏈接主要用于其他站長申請友情鏈接;友情鏈接主要用于其他站長申請友情鏈接;n(5) (5) 廣告模塊主要用于論壇放置廣告,并進(jìn)行相應(yīng)管理。廣告模塊主要用于論壇放置廣告,并進(jìn)行相應(yīng)管理。 6系統(tǒng)需求分析系統(tǒng)需求分析n盡管需求分析過程的工作很多,但最主要的是完成以下盡管需求分析過程的工作很多,但最主要的是完成以下8 8項任務(wù):項任務(wù):n第第1 1項任務(wù):畫出冰魚論壇管理系統(tǒng)的組織結(jié)構(gòu)圖,由于論壇的組織項任務(wù):畫出冰魚論壇管理系統(tǒng)的組織結(jié)構(gòu)圖,由于論壇的組織結(jié)構(gòu)是以角色的組成為結(jié)構(gòu)的,因此列出角色結(jié)構(gòu)就可以了。畫出了結(jié)構(gòu)是以角色的組成為結(jié)構(gòu)的,因

10、此列出角色結(jié)構(gòu)就可以了。畫出了組織結(jié)構(gòu)圖,就可以了解到論壇的角色組成,為往后的權(quán)限分配和開組織結(jié)構(gòu)圖,就可以了解到論壇的角色組成,為往后的權(quán)限分配和開發(fā)各個功能模塊奠定了基礎(chǔ)。發(fā)各個功能模塊奠定了基礎(chǔ)。n第第2 2項任務(wù):畫出冰魚論壇管理系統(tǒng)的業(yè)務(wù)操作流程圖,即業(yè)務(wù)操作項任務(wù):畫出冰魚論壇管理系統(tǒng)的業(yè)務(wù)操作流程圖,即業(yè)務(wù)操作模型,重點是業(yè)務(wù)操作的流水步驟。模型,重點是業(yè)務(wù)操作的流水步驟。n第第3 3項任務(wù):列出論壇系統(tǒng)的功能點列表,即功能模型。項任務(wù):列出論壇系統(tǒng)的功能點列表,即功能模型。n第第4 4項任務(wù):列出論壇系統(tǒng)的性能點列表,即性能模型。項任務(wù):列出論壇系統(tǒng)的性能點列表,即性能模型。n

11、第第5 5項任務(wù):列出系統(tǒng)的接口列表,即接口模型。由于冰魚論壇管理項任務(wù):列出系統(tǒng)的接口列表,即接口模型。由于冰魚論壇管理系統(tǒng)不需要與其它系統(tǒng)或設(shè)備進(jìn)行交互、連接等,因此此項需求任務(wù)系統(tǒng)不需要與其它系統(tǒng)或設(shè)備進(jìn)行交互、連接等,因此此項需求任務(wù)在該論壇系統(tǒng)中略去。在該論壇系統(tǒng)中略去。n第第6 6項任務(wù):確定冰魚論壇管理系統(tǒng)的運行環(huán)境,即環(huán)境模型。項任務(wù):確定冰魚論壇管理系統(tǒng)的運行環(huán)境,即環(huán)境模型。n第第7 7項任務(wù):約定冰魚論壇管理系統(tǒng)的界面,即界面模型。項任務(wù):約定冰魚論壇管理系統(tǒng)的界面,即界面模型。n第第8 8項任務(wù):對冰魚論壇管理系統(tǒng)的開發(fā)工期、費用、開發(fā)進(jìn)度、系項任務(wù):對冰魚論壇管理系統(tǒng)

12、的開發(fā)工期、費用、開發(fā)進(jìn)度、系統(tǒng)風(fēng)險等問題進(jìn)行分析與評估。統(tǒng)風(fēng)險等問題進(jìn)行分析與評估。 7需求規(guī)格說明書(需求規(guī)格說明書(Requirements SpecificationRequirements Specification) n1 1概述(概述(SummarySummary) n1.1 1.1 用戶簡介用戶簡介( (User Synopsis)User Synopsis)n現(xiàn)實生活中的交流存在時間和空間上的局限性,交流人群范圍的狹小,現(xiàn)實生活中的交流存在時間和空間上的局限性,交流人群范圍的狹小,以及間斷的交流,不能保證信息的準(zhǔn)確性和可取性。因此,用戶需要以及間斷的交流,不能保證信息的準(zhǔn)確性

13、和可取性。因此,用戶需要通過網(wǎng)上論壇的交流擴(kuò)大交流面,同時可以從多方面獲得自己的及時通過網(wǎng)上論壇的交流擴(kuò)大交流面,同時可以從多方面獲得自己的及時需求。本系統(tǒng)面向所有樂于參與交流活動的廣大網(wǎng)友,用戶角色大致需求。本系統(tǒng)面向所有樂于參與交流活動的廣大網(wǎng)友,用戶角色大致分為三類:普通用戶、管理員、斑竹(也稱為版主,以下均稱為斑分為三類:普通用戶、管理員、斑竹(也稱為版主,以下均稱為斑竹)。竹)。 n1.2 1.2 項目目的和目標(biāo)項目目的和目標(biāo)( (Purpose and Aim of Project)Purpose and Aim of Project)n信息時代迫切要求信息傳播速度加快,局部范圍的

14、信息交流只會減緩信息時代迫切要求信息傳播速度加快,局部范圍的信息交流只會減緩前進(jìn)的步伐。本系統(tǒng)的目的在于為分散于五湖四海的人提供一個共同前進(jìn)的步伐。本系統(tǒng)的目的在于為分散于五湖四海的人提供一個共同交流、學(xué)習(xí)、傾吐心聲的平臺,實現(xiàn)來自不同地方用戶的極強(qiáng)的信息交流、學(xué)習(xí)、傾吐心聲的平臺,實現(xiàn)來自不同地方用戶的極強(qiáng)的信息互動性,用戶在獲得自己所需要的信息的同時也可以廣交朋友,拓寬互動性,用戶在獲得自己所需要的信息的同時也可以廣交朋友,拓寬自己的視野和擴(kuò)大自己的社交面。自己的視野和擴(kuò)大自己的社交面。n1.3 1.3 術(shù)語定義術(shù)語定義( (Terms Glossary)Terms Glossary)nI

15、ceFishIceFish BBS: BBS:冰魚論壇的英文名稱。冰魚論壇的英文名稱。 8需求規(guī)格說明書(需求規(guī)格說明書(Requirements SpecificationRequirements Specification)n1.4 1.4 參考資料參考資料( (References)References)n實用軟件工程第二版,實用軟件工程第二版, 趙池龍等趙池龍等 編著,電子工業(yè)出版社,編著,電子工業(yè)出版社,20062006年年9 9月月n1.5 1.5 相關(guān)文檔相關(guān)文檔( (Related Documents)Related Documents)n【1 1】IceFish BBSIce

16、Fish BBS項目開發(fā)計劃書項目開發(fā)計劃書n【2 2】IceFishIceFish BBS BBS概要設(shè)計說明書概要設(shè)計說明書n【3 3】IceFishIceFish BBS BBS詳細(xì)設(shè)計說明書。詳細(xì)設(shè)計說明書。n1.61.6版本更新信息版本更新信息( (Version Updated Record)Version Updated Record) n2.2.目標(biāo)系統(tǒng)描述目標(biāo)系統(tǒng)描述( (System in Target)System in Target)n2.12.1組織結(jié)構(gòu)與職責(zé)組織結(jié)構(gòu)與職責(zé)( (Organizing Framework and Function)Organizing

17、Framework and Function)n本系統(tǒng)用戶的組織結(jié)構(gòu)圖如圖本系統(tǒng)用戶的組織結(jié)構(gòu)圖如圖4-34-3所示。所示。n2.22.2角色定義角色定義( (Role Definition)Role Definition)n用戶在系統(tǒng)中扮演的角色,以及可以執(zhí)行的職責(zé),如表用戶在系統(tǒng)中扮演的角色,以及可以執(zhí)行的職責(zé),如表4-34-3所示。所示。 n2.32.3作業(yè)流程作業(yè)流程( (業(yè)務(wù)模型業(yè)務(wù)模型)()(Busywork Flow)(Operation Model)Busywork Flow)(Operation Model)n系統(tǒng)總體業(yè)務(wù)流程圖,如圖系統(tǒng)總體業(yè)務(wù)流程圖,如圖4-84-8所示。

18、對于每一個小的業(yè)務(wù)流程圖,需要單獨畫所示。對于每一個小的業(yè)務(wù)流程圖,需要單獨畫出,為了節(jié)省篇幅,在此不再介紹。出,為了節(jié)省篇幅,在此不再介紹。 n2.4 2.4 信息源信息源( (Bill of Document)Bill of Document)n本系統(tǒng)的主要信息源說明,如表本系統(tǒng)的主要信息源說明,如表4-44-4至表至表4-94-9所示。所示。 93.3.目標(biāo)系統(tǒng)功能需求目標(biāo)系統(tǒng)功能需求( (Function of Target System)Function of Target System)104. 4. 目標(biāo)系統(tǒng)性能需求目標(biāo)系統(tǒng)性能需求( (Performance of Target

19、 System)Performance of Target System) n4.1 4.1 時間需求時間需求( (Time Request)Time Request)n(1)(1)查詢的最長等待時間不超過查詢的最長等待時間不超過5 5秒;秒;n(2)(2)更新信息的時間不超過更新信息的時間不超過3 3秒;秒;n(3)(3)數(shù)據(jù)的上傳和下載的時間不超過數(shù)據(jù)的上傳和下載的時間不超過1010秒。秒。n4.2 4.2 空間需求空間需求( (Space Request)Space Request)n(1)(1)支持的終端數(shù):支持的終端數(shù):=1000=1000;n(2)(2)支持的并行操作的使用者數(shù)支持

20、的并行操作的使用者數(shù):=300:=300;n(3)(3)處理的記錄數(shù)處理的記錄數(shù):1000:1000。 115. 5. 目標(biāo)系統(tǒng)界面與接口需求目標(biāo)系統(tǒng)界面與接口需求( (Interface of Target System)Interface of Target System) 圖圖4-5 4-5 論壇首頁論壇首頁 12圖圖4-6 4-6 后臺管理界面后臺管理界面 13開發(fā)環(huán)境和運行環(huán)境開發(fā)環(huán)境和運行環(huán)境 n目前的目前的J2EEJ2EE應(yīng)用開發(fā)環(huán)境分為兩大類:基于命令行的開發(fā)環(huán)境和集成開應(yīng)用開發(fā)環(huán)境分為兩大類:基于命令行的開發(fā)環(huán)境和集成開發(fā)環(huán)境?;诿钚械拈_發(fā)環(huán)境利用簡單的文本編輯工具寫程序

21、代碼,發(fā)環(huán)境?;诿钚械拈_發(fā)環(huán)境利用簡單的文本編輯工具寫程序代碼,并使用并使用JavaJava命令進(jìn)行編譯、發(fā)布、運行。常見的集成開發(fā)環(huán)境有命令進(jìn)行編譯、發(fā)布、運行。常見的集成開發(fā)環(huán)境有BorlandBorland公司的公司的JBuilderJBuilder、IBMIBM公司的公司的WSADWSAD、SUNSUN公司的公司的SUNoneSUNone Studio Studio等,但這等,但這些集成開發(fā)環(huán)境價格昂貴,且運行時對硬件配置要求較高。些集成開發(fā)環(huán)境價格昂貴,且運行時對硬件配置要求較高。n我們使用開源的免費集成開發(fā)環(huán)境我們使用開源的免費集成開發(fā)環(huán)境EclipseEclipse,來開發(fā)冰

22、魚論壇管理系統(tǒng)。來開發(fā)冰魚論壇管理系統(tǒng)。冰魚論壇管理系統(tǒng)的測試、部署和運行冰魚論壇管理系統(tǒng)的測試、部署和運行, ,還需要一個還需要一個WEBWEB服務(wù)器的支持,服務(wù)器的支持,這里選擇使用開源免費的這里選擇使用開源免費的TomcatTomcat。另外,還采用免費的另外,還采用免費的MySQLMySQL作為數(shù)據(jù)庫作為數(shù)據(jù)庫服務(wù)器。服務(wù)器。n系統(tǒng)環(huán)境配置如下:系統(tǒng)環(huán)境配置如下:JDK1.5+Eclipse3.1+Tomcat5.5.15+MySQL5.1JDK1.5+Eclipse3.1+Tomcat5.5.15+MySQL5.1。其其中的中的JDK1.5JDK1.5可以從可以從SunSun官方網(wǎng)(

23、官方網(wǎng)(http:/http:/)下載,它是一切下載,它是一切JavaJava應(yīng)用程序的基礎(chǔ)。應(yīng)用程序的基礎(chǔ)。Eclipse3.1Eclipse3.1可以到可以到下載,下載,Tomcat5.5.15Tomcat5.5.15可以到可以到 下載,下載,MySQL5.1MySQL5.1可以可以到到http:/http:/下載。當(dāng)然,以上介紹的版本可能已經(jīng)不是最下載。當(dāng)然,以上介紹的版本可能已經(jīng)不是最新版本,讀者可以從它們的官方

24、網(wǎng)站選擇下載最新版本。新版本,讀者可以從它們的官方網(wǎng)站選擇下載最新版本。n安裝過程:首先安裝安裝過程:首先安裝JDKJDK,可以選擇目標(biāo)安裝位置,其它的步驟可以按默可以選擇目標(biāo)安裝位置,其它的步驟可以按默認(rèn)選項進(jìn)行安裝;接著安裝認(rèn)選項進(jìn)行安裝;接著安裝TomcatTomcat和和MySQLMySQL,可以都按照默認(rèn)選項進(jìn)行安可以都按照默認(rèn)選項進(jìn)行安裝;最后是裝;最后是EclipseEclipse,直接從官方網(wǎng)站下載的壓縮包解壓就行了,第一次直接從官方網(wǎng)站下載的壓縮包解壓就行了,第一次運行時會自動找出系統(tǒng)中適合運行時會自動找出系統(tǒng)中適合EclipseEclipse運行的運行的JavaJava環(huán)境

25、。環(huán)境。 14整體架構(gòu)設(shè)計整體架構(gòu)設(shè)計 nJavaJava是一門純面向?qū)ο蟮木幊陶Z言,用來編寫各種應(yīng)是一門純面向?qū)ο蟮木幊陶Z言,用來編寫各種應(yīng)用程序。用程序。n與與JavaJava不同的是,不同的是,J2EEJ2EE是一種體系結(jié)構(gòu),而不是一門是一種體系結(jié)構(gòu),而不是一門編程語言。編程語言。nJ2EEJ2EE是一個標(biāo)準(zhǔn)中間件體系結(jié)構(gòu),旨在簡化和規(guī)范分是一個標(biāo)準(zhǔn)中間件體系結(jié)構(gòu),旨在簡化和規(guī)范分布式多層企業(yè)應(yīng)用系統(tǒng)的開發(fā)和部署。布式多層企業(yè)應(yīng)用系統(tǒng)的開發(fā)和部署。n如圖如圖4-74-7為為J2EEJ2EE多層體系結(jié)構(gòu),包括了客戶層、表示層、多層體系結(jié)構(gòu),包括了客戶層、表示層、業(yè)務(wù)邏輯層和企業(yè)信息系統(tǒng)層。

26、業(yè)務(wù)邏輯層和企業(yè)信息系統(tǒng)層。nJ2EEJ2EE體系結(jié)構(gòu)的實施顯著地提高了企業(yè)應(yīng)用系統(tǒng)的可體系結(jié)構(gòu)的實施顯著地提高了企業(yè)應(yīng)用系統(tǒng)的可移植性、安全性、可伸縮性、負(fù)載平衡和可重用性。移植性、安全性、可伸縮性、負(fù)載平衡和可重用性。 15J2EEJ2EE多層體系結(jié)構(gòu)多層體系結(jié)構(gòu)nJ2EEJ2EE架構(gòu)開發(fā)應(yīng)用系統(tǒng)主要有兩種類型:架構(gòu)開發(fā)應(yīng)用系統(tǒng)主要有兩種類型:Model1Model1和和Model2Model2。nModel1Model1為三層體系結(jié)構(gòu),以為三層體系結(jié)構(gòu),以JSPJSP為中心進(jìn)行開發(fā),在為中心進(jìn)行開發(fā),在JSPJSP頁面中同時實頁面中同時實現(xiàn)顯示、業(yè)務(wù)邏輯和流程控制。這種開發(fā)模式便于掌握且

27、開發(fā)快速,現(xiàn)顯示、業(yè)務(wù)邏輯和流程控制。這種開發(fā)模式便于掌握且開發(fā)快速,然而從軟件工程化的角度來看,它存在著一些不足之處:(然而從軟件工程化的角度來看,它存在著一些不足之處:(1 1)由一組)由一組JSPJSP頁面實現(xiàn)一個業(yè)務(wù)流程,在進(jìn)行改動時要同時改進(jìn)多個地方,不便頁面實現(xiàn)一個業(yè)務(wù)流程,在進(jìn)行改動時要同時改進(jìn)多個地方,不便于應(yīng)用擴(kuò)展和升級;(于應(yīng)用擴(kuò)展和升級;(2 2)業(yè)務(wù)邏輯和表示邏輯混合在)業(yè)務(wù)邏輯和表示邏輯混合在JSPJSP頁面中,不頁面中,不利于應(yīng)用系統(tǒng)業(yè)務(wù)的重用和改動;(利于應(yīng)用系統(tǒng)業(yè)務(wù)的重用和改動;(3 3)對于大型應(yīng)用程序,隨著后期)對于大型應(yīng)用程序,隨著后期開發(fā),開發(fā),JSPJ

28、SP會變得臃腫笨重,應(yīng)用系統(tǒng)的可維護(hù)性會嚴(yán)重惡化。會變得臃腫笨重,應(yīng)用系統(tǒng)的可維護(hù)性會嚴(yán)重惡化。nModel2Model2是基于是基于MVCMVC(Model-View-ControlModel-View-Control)模式的框架,很好地將業(yè)務(wù)模式的框架,很好地將業(yè)務(wù)邏輯和表示邏輯分離出來。邏輯和表示邏輯分離出來。MVCMVC架構(gòu)具有以下優(yōu)點:(架構(gòu)具有以下優(yōu)點:(1 1)多視圖使用)多視圖使用同一模型,及時地得到模型數(shù)據(jù)變化,從而使所有相關(guān)聯(lián)的視圖和控同一模型,及時地得到模型數(shù)據(jù)變化,從而使所有相關(guān)聯(lián)的視圖和控制器做到同步;(制器做到同步;(2 2)MVCMVC三個層各施其職,互不干擾,并

29、且有利于開三個層各施其職,互不干擾,并且有利于開發(fā)的分工;(發(fā)的分工;(3 3)容易支持新類型的客戶端,只需寫一個新的視圖和控)容易支持新類型的客戶端,只需寫一個新的視圖和控制,就可連接到現(xiàn)存的業(yè)務(wù)模型中。制,就可連接到現(xiàn)存的業(yè)務(wù)模型中。 16J2EEJ2EE多層體系結(jié)構(gòu)多層體系結(jié)構(gòu)n本章的冰魚論壇管理系統(tǒng)案例,將采用本章的冰魚論壇管理系統(tǒng)案例,將采用Model2Model2的的MVCMVC架構(gòu)來實現(xiàn)?,F(xiàn)在,根據(jù)架構(gòu)來實現(xiàn)?,F(xiàn)在,根據(jù)前面的需求分析,設(shè)計出論壇系統(tǒng)的總體結(jié)構(gòu)圖,如圖前面的需求分析,設(shè)計出論壇系統(tǒng)的總體結(jié)構(gòu)圖,如圖4-84-8所示。所示。n冰魚論壇管理系統(tǒng)由五個子系統(tǒng)構(gòu)成,并且除

30、了注冊登錄功能模塊有所不同,冰魚論壇管理系統(tǒng)由五個子系統(tǒng)構(gòu)成,并且除了注冊登錄功能模塊有所不同,其它子系統(tǒng)或功能塊的處理與實現(xiàn)都是相似的增刪改查功能。因此,這里將仔其它子系統(tǒng)或功能塊的處理與實現(xiàn)都是相似的增刪改查功能。因此,這里將仔細(xì)討論用戶注冊登錄和版塊管理的功能。對于帖子管理、友情管理等子系統(tǒng)將細(xì)討論用戶注冊登錄和版塊管理的功能。對于帖子管理、友情管理等子系統(tǒng)將在這里略去,讀者可以參考附件光盤上的源代碼。在這里略去,讀者可以參考附件光盤上的源代碼。n然后,根據(jù)需求分析文檔,設(shè)計出注冊登錄系統(tǒng)的整體體系結(jié)構(gòu)和版塊管理子然后,根據(jù)需求分析文檔,設(shè)計出注冊登錄系統(tǒng)的整體體系結(jié)構(gòu)和版塊管理子系統(tǒng)的

31、整體體系結(jié)構(gòu),它們均分為四層:表示邏輯層、控制邏輯層、數(shù)據(jù)表示系統(tǒng)的整體體系結(jié)構(gòu),它們均分為四層:表示邏輯層、控制邏輯層、數(shù)據(jù)表示層、數(shù)據(jù)持久層。層、數(shù)據(jù)持久層。n由圖由圖4-104-10可知版塊管理子系統(tǒng)用可知版塊管理子系統(tǒng)用MVCMVC模式設(shè)計出來的流程如下:管理員在模式設(shè)計出來的流程如下:管理員在ViewView層(視圖層)層(視圖層)JSPJSP頁面中輸入版塊相關(guān)信息后,由頁面中輸入版塊相關(guān)信息后,由ControlControl層(控制層)中的層(控制層)中的BoardServletBoardServlet利用利用requestrequest獲取獲取JSPJSP頁面中表單的版塊相關(guān)信息

32、以及判斷頁面中表單的版塊相關(guān)信息以及判斷actionaction的行為(增刪改查),然后再傳遞給的行為(增刪改查),然后再傳遞給ModelModel層(模型層)的層(模型層)的BoardBeanBoardBean進(jìn)行版塊信息的封裝,接著進(jìn)行版塊信息的封裝,接著BoardServletBoardServlet再調(diào)用模型層中已封裝了所有再調(diào)用模型層中已封裝了所有SQLSQL語語句句BoardDataBeanBoardDataBean中相應(yīng)的方法對數(shù)據(jù)庫進(jìn)行相應(yīng)的操作。中相應(yīng)的方法對數(shù)據(jù)庫進(jìn)行相應(yīng)的操作。n由以上流程可以看出,由以上流程可以看出,MVCMVC設(shè)計模式的一個明顯優(yōu)點是,三個層次各司其職

33、,設(shè)計模式的一個明顯優(yōu)點是,三個層次各司其職,互不干擾。互不干擾。 17J2EEJ2EE多層體系結(jié)構(gòu)多層體系結(jié)構(gòu)nViewView層(層(JSPJSP頁面)負(fù)責(zé)在界面上表現(xiàn),它是通過頁面)負(fù)責(zé)在界面上表現(xiàn),它是通過ModelModel(模型)模型)訪問企業(yè)數(shù)據(jù)并指定這些數(shù)據(jù)的顯示。訪問企業(yè)數(shù)據(jù)并指定這些數(shù)據(jù)的顯示。nControlControl層(層(ServletServlet)負(fù)責(zé)處理與視圖的交互轉(zhuǎn)化成模型執(zhí)行的負(fù)責(zé)處理與視圖的交互轉(zhuǎn)化成模型執(zhí)行的動作,用戶可以通過按鈕或菜單等,來提交在動作,用戶可以通過按鈕或菜單等,來提交在WebWeb應(yīng)用中應(yīng)用中GETGET和和POST HTTPPOS

34、T HTTP請求。請求。nModelModel層(層(JavaBeanJavaBean)負(fù)責(zé)實現(xiàn)業(yè)務(wù)邏輯的封裝,很好的分離了負(fù)責(zé)實現(xiàn)業(yè)務(wù)邏輯的封裝,很好的分離了后臺業(yè)務(wù)邏輯和前臺表示邏輯,提高了程序的可維護(hù)性。后臺業(yè)務(wù)邏輯和前臺表示邏輯,提高了程序的可維護(hù)性。n另外,另外,MVCMVC模式也有利于軟件開發(fā)中的分工,對于擅長于網(wǎng)頁設(shè)模式也有利于軟件開發(fā)中的分工,對于擅長于網(wǎng)頁設(shè)計界面的美工,可以負(fù)責(zé)計界面的美工,可以負(fù)責(zé)ViewView層,而不必熟悉層,而不必熟悉JavaJava;熟悉熟悉JavaJava的的程序員主要負(fù)責(zé)程序員主要負(fù)責(zé)ControlControl層和業(yè)務(wù)邏輯層。這樣的分工合作,

35、達(dá)層和業(yè)務(wù)邏輯層。這樣的分工合作,達(dá)到開發(fā)資源的最優(yōu)配置,充分發(fā)揮每個人的專長到開發(fā)資源的最優(yōu)配置,充分發(fā)揮每個人的專長.18數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 n冰魚論壇系統(tǒng)通過數(shù)據(jù)庫連接中間件冰魚論壇系統(tǒng)通過數(shù)據(jù)庫連接中間件JDBCJDBC,來訪問數(shù)據(jù)庫。來訪問數(shù)據(jù)庫。n幾乎在所有的幾乎在所有的WebWeb應(yīng)用程序中,都要訪問存儲在數(shù)據(jù)庫中的信息,應(yīng)用程序中,都要訪問存儲在數(shù)據(jù)庫中的信息,J2EEJ2EE提供了一個標(biāo)準(zhǔn)接口提供了一個標(biāo)準(zhǔn)接口JDBCJDBC來進(jìn)行數(shù)據(jù)庫的訪問操作。來進(jìn)行數(shù)據(jù)庫的訪問操作。n要利用要利用JDBCJDBC訪問數(shù)據(jù)庫,首先必須在機(jī)器上安裝一個數(shù)據(jù)庫管理系統(tǒng),訪問數(shù)據(jù)庫,首先必須

36、在機(jī)器上安裝一個數(shù)據(jù)庫管理系統(tǒng),并將數(shù)據(jù)庫的并將數(shù)據(jù)庫的JDBCJDBC驅(qū)動程序添加到驅(qū)動程序添加到J2EEJ2EE應(yīng)用服務(wù)器的應(yīng)用服務(wù)器的JavaJava編譯器路徑編譯器路徑中。中。n冰魚論壇管理系統(tǒng)采用的是冰魚論壇管理系統(tǒng)采用的是MySQLMySQL數(shù)據(jù)庫管理系統(tǒng),因此還需要數(shù)據(jù)庫管理系統(tǒng),因此還需要MySQLMySQL的驅(qū)動程序,該論壇系統(tǒng)所用的驅(qū)動程序為:的驅(qū)動程序,該論壇系統(tǒng)所用的驅(qū)動程序為:mysql-connector-mysql-connector-java-3.1.12-bin.jarjava-3.1.12-bin.jar,你可以從網(wǎng)站你可以從網(wǎng)站http:/http:/下載

37、而得到它。再將該驅(qū)動程序下載而得到它。再將該驅(qū)動程序拷貝到拷貝到Tomcat_HomeTomcat_Home(TomcatTomcat的安裝目錄)下的的安裝目錄)下的commonlibcommonlib子目錄下子目錄下即可。由于即可。由于MySQLMySQL并沒有提供界面操作,對于許多人來說,靠輸入并沒有提供界面操作,對于許多人來說,靠輸入SQLSQL命令來訪問數(shù)據(jù)庫,顯得十分不方便。為此,可以安裝數(shù)據(jù)管理工具命令來訪問數(shù)據(jù)庫,顯得十分不方便。為此,可以安裝數(shù)據(jù)管理工具M(jìn)ySQLMySQL-front-front,或者或者ysqlysql官方提供的官方提供的MySQLMySQL Query B

38、rowser Query Browser工具,這工具,這些工具的特點就是可視化,所有操作完全界面化,使些工具的特點就是可視化,所有操作完全界面化,使MySQLMySQL管理變得管理變得較為簡單。較為簡單。n這里應(yīng)當(dāng)注意的是,數(shù)據(jù)庫管理本身并不是一件容易的事情,只能通這里應(yīng)當(dāng)注意的是,數(shù)據(jù)庫管理本身并不是一件容易的事情,只能通過可視化界面管理,讓操作簡單方便而已。過可視化界面管理,讓操作簡單方便而已。 19數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計n設(shè)計好系統(tǒng)數(shù)據(jù)庫后,便可以通過使用設(shè)計好系統(tǒng)數(shù)據(jù)庫后,便可以通過使用MySQLMySQL-font-font管管理工具,來創(chuàng)建冰魚論壇的數(shù)據(jù)庫。步驟如下:理工具,來創(chuàng)建冰

39、魚論壇的數(shù)據(jù)庫。步驟如下:n(1 1)啟動)啟動MySQL5.1MySQL5.1數(shù)據(jù)庫服務(wù)器:數(shù)據(jù)庫服務(wù)器:n首先,打開【開始】菜單選擇【運行】,在彈出的運首先,打開【開始】菜單選擇【運行】,在彈出的運行窗口中輸入行窗口中輸入“services.mscservices.msc /s” /s”,如圖如圖4-114-11所示,所示,點擊【確定】按鈕即打開系統(tǒng)服務(wù)。再在【服務(wù)】窗點擊【確定】按鈕即打開系統(tǒng)服務(wù)。再在【服務(wù)】窗口中找到口中找到MySQLMySQL選項(如圖選項(如圖4-124-12),點擊【啟動】即可),點擊【啟動】即可啟動啟動MySQLMySQL服務(wù)。服務(wù)。n(2 2)創(chuàng)建冰魚論壇數(shù)

40、據(jù)庫:)創(chuàng)建冰魚論壇數(shù)據(jù)庫:n接著打開數(shù)據(jù)庫管理工具接著打開數(shù)據(jù)庫管理工具M(jìn)ySQLMySQL-Front-Front,如圖如圖4-134-13所示,所示,點擊窗口中的【點擊窗口中的【SQLSQL編輯器】,把冰魚論壇管理系統(tǒng)的編輯器】,把冰魚論壇管理系統(tǒng)的SQLSQL腳本復(fù)制進(jìn)來,然后執(zhí)行腳本復(fù)制進(jìn)來,然后執(zhí)行SQLSQL腳本,系統(tǒng)的數(shù)據(jù)庫腳本,系統(tǒng)的數(shù)據(jù)庫就創(chuàng)建完成了。就創(chuàng)建完成了。 20數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計窗口窗口 21概要設(shè)計說明書(概要設(shè)計說明書(Architectural Design SpecificationArchitectural Design Specification)圖

41、圖4-15 4-15 用戶登錄系統(tǒng)時序圖用戶登錄系統(tǒng)時序圖 22圖圖4-16 4-16 添加版塊時序圖添加版塊時序圖 23圖圖4-17 4-17 數(shù)據(jù)表關(guān)系數(shù)據(jù)表關(guān)系CDMCDM圖圖 24系統(tǒng)目錄結(jié)構(gòu)系統(tǒng)目錄結(jié)構(gòu) 25數(shù)據(jù)庫連接實現(xiàn)數(shù)據(jù)庫連接實現(xiàn) n冰魚論壇管理系統(tǒng)經(jīng)常要訪問存儲在數(shù)據(jù)庫中冰魚論壇管理系統(tǒng)經(jīng)常要訪問存儲在數(shù)據(jù)庫中的信息,幾乎所有的功能操作都需要實現(xiàn)對數(shù)的信息,幾乎所有的功能操作都需要實現(xiàn)對數(shù)據(jù)庫的訪問操作,因此首先要建立與數(shù)據(jù)庫的據(jù)庫的訪問操作,因此首先要建立與數(shù)據(jù)庫的連接。連接。n從達(dá)到代碼重用的角度出發(fā),該系統(tǒng)實現(xiàn)了公從達(dá)到代碼重用的角度出發(fā),該系統(tǒng)實現(xiàn)了公用的數(shù)據(jù)庫連接類

42、,以備在系統(tǒng)的其它用的數(shù)據(jù)庫連接類,以備在系統(tǒng)的其它JavaJava程程序中直接調(diào)用。序中直接調(diào)用。nConn.javaConn.java連接完整的代碼如程序連接完整的代碼如程序4-24-2所示所示. . 26用戶注冊登錄功能實現(xiàn)用戶注冊登錄功能實現(xiàn) n首先實現(xiàn)用戶注冊功能,該功能利用首先實現(xiàn)用戶注冊功能,該功能利用MVCMVC設(shè)計模式實現(xiàn)。設(shè)計模式實現(xiàn)。其中的其中的ViewView(視圖層)由三個視圖層)由三個jspjsp頁面組成,分別為頁面組成,分別為reg.jspreg.jsp、adduser.jspadduser.jsp、regsuccess.jspregsuccess.jsp。其中的

43、其中的reg.jspreg.jsp文件顯示了論壇注冊協(xié)議,只有同意該協(xié)議才文件顯示了論壇注冊協(xié)議,只有同意該協(xié)議才能進(jìn)入下一步的注冊頁面能進(jìn)入下一步的注冊頁面adduser.jspadduser.jsp。用戶信息注冊用戶信息注冊頁面頁面adduser.jspadduser.jsp主要由一個表單主要由一個表單formform組成,該表單組成,該表單formform利用了利用了postpost請求方法,將用戶信息傳遞給請求方法,將用戶信息傳遞給ControlControl(控制層)中的控制層)中的ServletServlet。如果用戶注冊成功,則轉(zhuǎn)向如果用戶注冊成功,則轉(zhuǎn)向regsuccess.j

44、spregsuccess.jsp頁面文件,并提示注冊成功。如果用頁面文件,并提示注冊成功。如果用戶注冊失敗,依然轉(zhuǎn)向戶注冊失敗,依然轉(zhuǎn)向regsuccess.jspregsuccess.jsp頁面,不過在頁面,不過在該頁面上提示的是注冊失敗的原因。該頁面上提示的是注冊失敗的原因。n完整的完整的ViewView層代碼,如程序?qū)哟a,如程序4-34-3、程序、程序4-44-4、程序、程序4-54-5所所示示. . 27版塊管理子系統(tǒng)實現(xiàn)版塊管理子系統(tǒng)實現(xiàn) n該子系統(tǒng)實現(xiàn)冰魚論壇系統(tǒng)的后臺對版塊的增刪改管該子系統(tǒng)實現(xiàn)冰魚論壇系統(tǒng)的后臺對版塊的增刪改管理。理。ViewView層中關(guān)于增刪改的操作主要由

45、層中關(guān)于增刪改的操作主要由admin_addboard.jspadmin_addboard.jsp、admin_editboard.jspadmin_editboard.jsp和和admin_delboard.jspadmin_delboard.jsp頁面組成。頁面組成。ControlControl層主要由層主要由BoardServletBoardServlet實現(xiàn),實現(xiàn),ModelModel層主要由層主要由BoardBeanBoardBean和和BoardDataBeanBoardDataBean實現(xiàn)。實現(xiàn)。n由于前面的用戶注冊登錄功能已經(jīng)詳細(xì)講解了由于前面的用戶注冊登錄功能已經(jīng)詳細(xì)講解了MVCMVC模式模式的實現(xiàn)方法,這里就不再重復(fù)講解,只給出程序代碼的實現(xiàn)方法,這里就不再重復(fù)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論