版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1網(wǎng)上論壇系統(tǒng)實踐指南網(wǎng)上論壇系統(tǒng)實踐指南 2導讀導讀n介紹網(wǎng)上論壇系統(tǒng)的立項、需求、設計和編程實現(xiàn),重點是介紹網(wǎng)上論壇系統(tǒng)的立項、需求、設計和編程實現(xiàn),重點是J2EE下的系統(tǒng)整體架構設計、數(shù)據(jù)庫設計、下的系統(tǒng)整體架構設計、數(shù)據(jù)庫設計、JDBC數(shù)據(jù)庫連數(shù)據(jù)庫連接中間件的連接方法、用戶注冊登錄功能和版塊管理功能的接中間件的連接方法、用戶注冊登錄功能和版塊管理功能的編程實現(xiàn)源代碼。編程實現(xiàn)源代碼。n根據(jù)文獻根據(jù)文獻1的文檔制作標準,本章還給出了詳細而標準的文檔制作標準,本章還給出了詳細而標準的需求分析文檔和系統(tǒng)設計文檔。的需求分析文檔和系統(tǒng)設計文檔。n本章的重要性與先進性在于:網(wǎng)上論壇系統(tǒng)是在當今
2、最先進本章的重要性與先進性在于:網(wǎng)上論壇系統(tǒng)是在當今最先進的的J2EE平臺下設計的,程序是用平臺下設計的,程序是用Java實現(xiàn)的,核心源碼以實現(xiàn)的,核心源碼以文字的方式提供,全部源碼在附帶的光盤上給出。文字的方式提供,全部源碼在附帶的光盤上給出。n作為學生實習的項目,網(wǎng)上論壇系統(tǒng)的規(guī)模作為學生實習的項目,網(wǎng)上論壇系統(tǒng)的規(guī)模(或工作量或工作量)不大不大不小,既非常合適,又極具新意,希望將學生劃分為多個項不小,既非常合適,又極具新意,希望將學生劃分為多個項目組,每組目組,每組3-5人,確定人,確定1名項目經(jīng)理,按照需求、設計、名項目經(jīng)理,按照需求、設計、美工、編程、測試進行分工,組員之間既分工又協(xié)
3、作,一邊美工、編程、測試進行分工,組員之間既分工又協(xié)作,一邊上課,一邊看書,一邊模仿著做項目,用上課,一邊看書,一邊模仿著做項目,用1-2個月完成這項個月完成這項任務。驗收內容包括需求文檔、設計文檔、源代碼、可執(zhí)行任務。驗收內容包括需求文檔、設計文檔、源代碼、可執(zhí)行程序、測試文檔、用戶指南。程序、測試文檔、用戶指南。 3本章對讀者的要求本章對讀者的要求 要要 求求具具 體體 內內 容容了了 解解1 1)網(wǎng)上論壇系統(tǒng)立項背景網(wǎng)上論壇系統(tǒng)立項背景2 2)網(wǎng)上論壇系統(tǒng)目錄結構)網(wǎng)上論壇系統(tǒng)目錄結構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)設計文檔設計文檔 關關 注注 1)論壇系統(tǒng)整體架構設計和網(wǎng)上論壇系統(tǒng)數(shù)據(jù)庫設計論壇系統(tǒng)整體架構設計和網(wǎng)上論壇系統(tǒng)數(shù)據(jù)庫設計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上的一種交互性極強的、網(wǎng)友喜聞樂上的一種交互性極強的、網(wǎng)友喜聞樂見的電子信息服務系統(tǒng),提供一塊公共電子白板,每個用戶都可見的電子信息服務系統(tǒng),提供一塊公共電子白板,每個用戶都可以在上面書寫,發(fā)布各自的信息或提出不同的看法,以便與其它以在上面書寫,發(fā)布各自的信息或提出不同的看法,以便與其它用戶進行交流討論。用戶進行交流討論。nJ2EEJ2EE技術具有許多顯著的優(yōu)點,所以我們采用技術具有許多顯著的優(yōu)點,所以我們采用J2EEJ2EE平臺來開發(fā)。平臺來開發(fā)。近兩年來也開始流行起新的網(wǎng)絡編程腳本語言近兩年來也開始流行起新的網(wǎng)絡
6、編程腳本語言ASP.NETASP.NET。ASP.NETASP.NET和和JSPJSP同樣是屬于編譯型的,即在第一次運行同樣是屬于編譯型的,即在第一次運行WEBWEB應用時將代碼編應用時將代碼編譯,以后重新運行就不再進行編譯了,除非代碼發(fā)生改變。譯,以后重新運行就不再進行編譯了,除非代碼發(fā)生改變。 n冰魚論壇管理系統(tǒng)采用了冰魚論壇管理系統(tǒng)采用了J2EEJ2EE設計模式中的設計模式中的MVCMVCModel 2Model 2模式,模式,采用采用MySQLMySQL做數(shù)據(jù)庫服務器。由于前面的章節(jié)已詳細講解了需求做數(shù)據(jù)庫服務器。由于前面的章節(jié)已詳細講解了需求分析、數(shù)據(jù)庫設計等方面,本章對冰魚論壇管理
7、系統(tǒng)的討論,重分析、數(shù)據(jù)庫設計等方面,本章對冰魚論壇管理系統(tǒng)的討論,重點放在點放在J2EEJ2EE系統(tǒng)架構設計及具體實現(xiàn)上,而對需求分析及系統(tǒng)測系統(tǒng)架構設計及具體實現(xiàn)上,而對需求分析及系統(tǒng)測試不作詳細介紹。試不作詳細介紹。 5系統(tǒng)需求分析系統(tǒng)需求分析 n需求分析就是對顧客的需求進行定義或確定,這一過程十分重要,需求分析就是對顧客的需求進行定義或確定,這一過程十分重要,而且有許多工作看似容易,做起來很難。因為客戶的需求具有動而且有許多工作看似容易,做起來很難。因為客戶的需求具有動態(tài)性,甚至有個別用戶朝三暮四地變化;同時客戶的需求具有模態(tài)性,甚至有個別用戶朝三暮四地變化;同時客戶的需求具有模糊性,
8、有些客戶對業(yè)務流程表達不規(guī)范,對需求表達不清楚不明糊性,有些客戶對業(yè)務流程表達不規(guī)范,對需求表達不清楚不明確,甚至自己都不清楚真正的需求是什么。所以唯一不變的是變確,甚至自己都不清楚真正的需求是什么。所以唯一不變的是變化!化!n論壇具有的最基本模塊有:論壇具有的最基本模塊有:n(1) (1) 用戶模塊主要包括用戶登錄、注冊、用戶資料修改等;用戶模塊主要包括用戶登錄、注冊、用戶資料修改等;n(2) (2) 版塊模塊主要實現(xiàn)對論壇版塊的管理,如增刪改等;版塊模塊主要實現(xiàn)對論壇版塊的管理,如增刪改等;n(3) (3) 帖子模塊主要實現(xiàn)顯示帖子內容,斑竹或管理員能進行相應帖子模塊主要實現(xiàn)顯示帖子內容,
9、斑竹或管理員能進行相應管理;管理;n(4) (4) 友情鏈接主要用于其他站長申請友情鏈接;友情鏈接主要用于其他站長申請友情鏈接;n(5) (5) 廣告模塊主要用于論壇放置廣告,并進行相應管理。廣告模塊主要用于論壇放置廣告,并進行相應管理。 6系統(tǒng)需求分析系統(tǒng)需求分析n盡管需求分析過程的工作很多,但最主要的是完成以下盡管需求分析過程的工作很多,但最主要的是完成以下8 8項任務:項任務:n第第1 1項任務:畫出冰魚論壇管理系統(tǒng)的組織結構圖,由于論壇的組織項任務:畫出冰魚論壇管理系統(tǒng)的組織結構圖,由于論壇的組織結構是以角色的組成為結構的,因此列出角色結構就可以了。畫出了結構是以角色的組成為結構的,因
10、此列出角色結構就可以了。畫出了組織結構圖,就可以了解到論壇的角色組成,為往后的權限分配和開組織結構圖,就可以了解到論壇的角色組成,為往后的權限分配和開發(fā)各個功能模塊奠定了基礎。發(fā)各個功能模塊奠定了基礎。n第第2 2項任務:畫出冰魚論壇管理系統(tǒng)的業(yè)務操作流程圖,即業(yè)務操作項任務:畫出冰魚論壇管理系統(tǒng)的業(yè)務操作流程圖,即業(yè)務操作模型,重點是業(yè)務操作的流水步驟。模型,重點是業(yè)務操作的流水步驟。n第第3 3項任務:列出論壇系統(tǒng)的功能點列表,即功能模型。項任務:列出論壇系統(tǒng)的功能點列表,即功能模型。n第第4 4項任務:列出論壇系統(tǒng)的性能點列表,即性能模型。項任務:列出論壇系統(tǒng)的性能點列表,即性能模型。n
11、第第5 5項任務:列出系統(tǒng)的接口列表,即接口模型。由于冰魚論壇管理項任務:列出系統(tǒng)的接口列表,即接口模型。由于冰魚論壇管理系統(tǒng)不需要與其它系統(tǒng)或設備進行交互、連接等,因此此項需求任務系統(tǒng)不需要與其它系統(tǒng)或設備進行交互、連接等,因此此項需求任務在該論壇系統(tǒng)中略去。在該論壇系統(tǒng)中略去。n第第6 6項任務:確定冰魚論壇管理系統(tǒng)的運行環(huán)境,即環(huán)境模型。項任務:確定冰魚論壇管理系統(tǒng)的運行環(huán)境,即環(huán)境模型。n第第7 7項任務:約定冰魚論壇管理系統(tǒng)的界面,即界面模型。項任務:約定冰魚論壇管理系統(tǒng)的界面,即界面模型。n第第8 8項任務:對冰魚論壇管理系統(tǒng)的開發(fā)工期、費用、開發(fā)進度、系項任務:對冰魚論壇管理系統(tǒng)
12、的開發(fā)工期、費用、開發(fā)進度、系統(tǒng)風險等問題進行分析與評估。統(tǒng)風險等問題進行分析與評估。 7需求規(guī)格說明書(需求規(guī)格說明書(Requirements SpecificationRequirements Specification) n1 1概述(概述(SummarySummary) n1.1 1.1 用戶簡介用戶簡介( (User Synopsis)User Synopsis)n現(xiàn)實生活中的交流存在時間和空間上的局限性,交流人群范圍的狹小,現(xiàn)實生活中的交流存在時間和空間上的局限性,交流人群范圍的狹小,以及間斷的交流,不能保證信息的準確性和可取性。因此,用戶需要以及間斷的交流,不能保證信息的準確性
13、和可取性。因此,用戶需要通過網(wǎng)上論壇的交流擴大交流面,同時可以從多方面獲得自己的及時通過網(wǎng)上論壇的交流擴大交流面,同時可以從多方面獲得自己的及時需求。本系統(tǒng)面向所有樂于參與交流活動的廣大網(wǎng)友,用戶角色大致需求。本系統(tǒng)面向所有樂于參與交流活動的廣大網(wǎng)友,用戶角色大致分為三類:普通用戶、管理員、斑竹(也稱為版主,以下均稱為斑分為三類:普通用戶、管理員、斑竹(也稱為版主,以下均稱為斑竹)。竹)。 n1.2 1.2 項目目的和目標項目目的和目標( (Purpose and Aim of Project)Purpose and Aim of Project)n信息時代迫切要求信息傳播速度加快,局部范圍的
14、信息交流只會減緩信息時代迫切要求信息傳播速度加快,局部范圍的信息交流只會減緩前進的步伐。本系統(tǒng)的目的在于為分散于五湖四海的人提供一個共同前進的步伐。本系統(tǒng)的目的在于為分散于五湖四海的人提供一個共同交流、學習、傾吐心聲的平臺,實現(xiàn)來自不同地方用戶的極強的信息交流、學習、傾吐心聲的平臺,實現(xiàn)來自不同地方用戶的極強的信息互動性,用戶在獲得自己所需要的信息的同時也可以廣交朋友,拓寬互動性,用戶在獲得自己所需要的信息的同時也可以廣交朋友,拓寬自己的視野和擴大自己的社交面。自己的視野和擴大自己的社交面。n1.3 1.3 術語定義術語定義( (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 相關文檔相關文檔( (Related Documents)Related Documents)n【1 1】IceFish BBSIce
16、Fish BBS項目開發(fā)計劃書項目開發(fā)計劃書n【2 2】IceFishIceFish BBS BBS概要設計說明書概要設計說明書n【3 3】IceFishIceFish BBS BBS詳細設計說明書。詳細設計說明書。n1.61.6版本更新信息版本更新信息( (Version Updated Record)Version Updated Record) n2.2.目標系統(tǒng)描述目標系統(tǒng)描述( (System in Target)System in Target)n2.12.1組織結構與職責組織結構與職責( (Organizing Framework and Function)Organizing
17、Framework and Function)n本系統(tǒng)用戶的組織結構圖如圖本系統(tǒng)用戶的組織結構圖如圖4-34-3所示。所示。n2.22.2角色定義角色定義( (Role Definition)Role Definition)n用戶在系統(tǒng)中扮演的角色,以及可以執(zhí)行的職責,如表用戶在系統(tǒng)中扮演的角色,以及可以執(zhí)行的職責,如表4-34-3所示。所示。 n2.32.3作業(yè)流程作業(yè)流程( (業(yè)務模型業(yè)務模型)()(Busywork Flow)(Operation Model)Busywork Flow)(Operation Model)n系統(tǒng)總體業(yè)務流程圖,如圖系統(tǒng)總體業(yè)務流程圖,如圖4-84-8所示。
18、對于每一個小的業(yè)務流程圖,需要單獨畫所示。對于每一個小的業(yè)務流程圖,需要單獨畫出,為了節(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.目標系統(tǒng)功能需求目標系統(tǒng)功能需求( (Function of Target System)Function of Target System)104. 4. 目標系統(tǒng)性能需求目標系統(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. 目標系統(tǒng)界面與接口需求目標系統(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應用開發(fā)環(huán)境分為兩大類:基于命令行的開發(fā)環(huán)境和集成開應用開發(fā)環(huán)境分為兩大類:基于命令行的開發(fā)環(huán)境和集成開發(fā)環(huán)境?;诿钚械拈_發(fā)環(huán)境利用簡單的文本編輯工具寫程序
21、代碼,發(fā)環(huán)境?;诿钚械拈_發(fā)環(huán)境利用簡單的文本編輯工具寫程序代碼,并使用并使用JavaJava命令進行編譯、發(fā)布、運行。常見的集成開發(fā)環(huá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服務器的支持,服務器的支持,這里選擇使用開源免費的這里選擇使用開源免費的TomcatTomcat。另外,還采用免費的另外,還采用免費的MySQLMySQL作為數(shù)據(jù)庫作為數(shù)據(jù)庫服務器。服務器。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應用程序的基礎。應用程序的基礎。Eclipse3.1Eclipse3.1可以到可以到下載,下載,Tomcat5.5.15Tomcat5.5.15可以到可以到 下載,下載,MySQL5.1MySQL5.1可以可以到到http:/http:/下載。當然,以上介紹的版本可能已經(jīng)不是最下載。當然,以上介紹的版本可能已經(jīng)不是最新版本,讀者可以從它們的官方
24、網(wǎng)站選擇下載最新版本。新版本,讀者可以從它們的官方網(wǎng)站選擇下載最新版本。n安裝過程:首先安裝安裝過程:首先安裝JDKJDK,可以選擇目標安裝位置,其它的步驟可以按默可以選擇目標安裝位置,其它的步驟可以按默認選項進行安裝;接著安裝認選項進行安裝;接著安裝TomcatTomcat和和MySQLMySQL,可以都按照默認選項進行安可以都按照默認選項進行安裝;最后是裝;最后是EclipseEclipse,直接從官方網(wǎng)站下載的壓縮包解壓就行了,第一次直接從官方網(wǎng)站下載的壓縮包解壓就行了,第一次運行時會自動找出系統(tǒng)中適合運行時會自動找出系統(tǒng)中適合EclipseEclipse運行的運行的JavaJava環(huán)境
25、。環(huán)境。 14整體架構設計整體架構設計 nJavaJava是一門純面向對象的編程語言,用來編寫各種應是一門純面向對象的編程語言,用來編寫各種應用程序。用程序。n與與JavaJava不同的是,不同的是,J2EEJ2EE是一種體系結構,而不是一門是一種體系結構,而不是一門編程語言。編程語言。nJ2EEJ2EE是一個標準中間件體系結構,旨在簡化和規(guī)范分是一個標準中間件體系結構,旨在簡化和規(guī)范分布式多層企業(yè)應用系統(tǒng)的開發(fā)和部署。布式多層企業(yè)應用系統(tǒng)的開發(fā)和部署。n如圖如圖4-74-7為為J2EEJ2EE多層體系結構,包括了客戶層、表示層、多層體系結構,包括了客戶層、表示層、業(yè)務邏輯層和企業(yè)信息系統(tǒng)層。
26、業(yè)務邏輯層和企業(yè)信息系統(tǒng)層。nJ2EEJ2EE體系結構的實施顯著地提高了企業(yè)應用系統(tǒng)的可體系結構的實施顯著地提高了企業(yè)應用系統(tǒng)的可移植性、安全性、可伸縮性、負載平衡和可重用性。移植性、安全性、可伸縮性、負載平衡和可重用性。 15J2EEJ2EE多層體系結構多層體系結構nJ2EEJ2EE架構開發(fā)應用系統(tǒng)主要有兩種類型:架構開發(fā)應用系統(tǒng)主要有兩種類型:Model1Model1和和Model2Model2。nModel1Model1為三層體系結構,以為三層體系結構,以JSPJSP為中心進行開發(fā),在為中心進行開發(fā),在JSPJSP頁面中同時實頁面中同時實現(xiàn)顯示、業(yè)務邏輯和流程控制。這種開發(fā)模式便于掌握且
27、開發(fā)快速,現(xiàn)顯示、業(yè)務邏輯和流程控制。這種開發(fā)模式便于掌握且開發(fā)快速,然而從軟件工程化的角度來看,它存在著一些不足之處:(然而從軟件工程化的角度來看,它存在著一些不足之處:(1 1)由一組)由一組JSPJSP頁面實現(xiàn)一個業(yè)務流程,在進行改動時要同時改進多個地方,不便頁面實現(xiàn)一個業(yè)務流程,在進行改動時要同時改進多個地方,不便于應用擴展和升級;(于應用擴展和升級;(2 2)業(yè)務邏輯和表示邏輯混合在)業(yè)務邏輯和表示邏輯混合在JSPJSP頁面中,不頁面中,不利于應用系統(tǒng)業(yè)務的重用和改動;(利于應用系統(tǒng)業(yè)務的重用和改動;(3 3)對于大型應用程序,隨著后期)對于大型應用程序,隨著后期開發(fā),開發(fā),JSPJ
28、SP會變得臃腫笨重,應用系統(tǒng)的可維護性會嚴重惡化。會變得臃腫笨重,應用系統(tǒng)的可維護性會嚴重惡化。nModel2Model2是基于是基于MVCMVC(Model-View-ControlModel-View-Control)模式的框架,很好地將業(yè)務模式的框架,很好地將業(yè)務邏輯和表示邏輯分離出來。邏輯和表示邏輯分離出來。MVCMVC架構具有以下優(yōu)點:(架構具有以下優(yōu)點:(1 1)多視圖使用)多視圖使用同一模型,及時地得到模型數(shù)據(jù)變化,從而使所有相關聯(lián)的視圖和控同一模型,及時地得到模型數(shù)據(jù)變化,從而使所有相關聯(lián)的視圖和控制器做到同步;(制器做到同步;(2 2)MVCMVC三個層各施其職,互不干擾,并
29、且有利于開三個層各施其職,互不干擾,并且有利于開發(fā)的分工;(發(fā)的分工;(3 3)容易支持新類型的客戶端,只需寫一個新的視圖和控)容易支持新類型的客戶端,只需寫一個新的視圖和控制,就可連接到現(xiàn)存的業(yè)務模型中。制,就可連接到現(xiàn)存的業(yè)務模型中。 16J2EEJ2EE多層體系結構多層體系結構n本章的冰魚論壇管理系統(tǒng)案例,將采用本章的冰魚論壇管理系統(tǒng)案例,將采用Model2Model2的的MVCMVC架構來實現(xiàn)?,F(xiàn)在,根據(jù)架構來實現(xiàn)?,F(xiàn)在,根據(jù)前面的需求分析,設計出論壇系統(tǒng)的總體結構圖,如圖前面的需求分析,設計出論壇系統(tǒng)的總體結構圖,如圖4-84-8所示。所示。n冰魚論壇管理系統(tǒng)由五個子系統(tǒng)構成,并且除
30、了注冊登錄功能模塊有所不同,冰魚論壇管理系統(tǒng)由五個子系統(tǒng)構成,并且除了注冊登錄功能模塊有所不同,其它子系統(tǒng)或功能塊的處理與實現(xiàn)都是相似的增刪改查功能。因此,這里將仔其它子系統(tǒng)或功能塊的處理與實現(xiàn)都是相似的增刪改查功能。因此,這里將仔細討論用戶注冊登錄和版塊管理的功能。對于帖子管理、友情管理等子系統(tǒng)將細討論用戶注冊登錄和版塊管理的功能。對于帖子管理、友情管理等子系統(tǒng)將在這里略去,讀者可以參考附件光盤上的源代碼。在這里略去,讀者可以參考附件光盤上的源代碼。n然后,根據(jù)需求分析文檔,設計出注冊登錄系統(tǒng)的整體體系結構和版塊管理子然后,根據(jù)需求分析文檔,設計出注冊登錄系統(tǒng)的整體體系結構和版塊管理子系統(tǒng)的
31、整體體系結構,它們均分為四層:表示邏輯層、控制邏輯層、數(shù)據(jù)表示系統(tǒng)的整體體系結構,它們均分為四層:表示邏輯層、控制邏輯層、數(shù)據(jù)表示層、數(shù)據(jù)持久層。層、數(shù)據(jù)持久層。n由圖由圖4-104-10可知版塊管理子系統(tǒng)用可知版塊管理子系統(tǒng)用MVCMVC模式設計出來的流程如下:管理員在模式設計出來的流程如下:管理員在ViewView層(視圖層)層(視圖層)JSPJSP頁面中輸入版塊相關信息后,由頁面中輸入版塊相關信息后,由ControlControl層(控制層)中的層(控制層)中的BoardServletBoardServlet利用利用requestrequest獲取獲取JSPJSP頁面中表單的版塊相關信息
32、以及判斷頁面中表單的版塊相關信息以及判斷actionaction的行為(增刪改查),然后再傳遞給的行為(增刪改查),然后再傳遞給ModelModel層(模型層)的層(模型層)的BoardBeanBoardBean進行版塊信息的封裝,接著進行版塊信息的封裝,接著BoardServletBoardServlet再調用模型層中已封裝了所有再調用模型層中已封裝了所有SQLSQL語語句句BoardDataBeanBoardDataBean中相應的方法對數(shù)據(jù)庫進行相應的操作。中相應的方法對數(shù)據(jù)庫進行相應的操作。n由以上流程可以看出,由以上流程可以看出,MVCMVC設計模式的一個明顯優(yōu)點是,三個層次各司其職
33、,設計模式的一個明顯優(yōu)點是,三個層次各司其職,互不干擾。互不干擾。 17J2EEJ2EE多層體系結構多層體系結構nViewView層(層(JSPJSP頁面)負責在界面上表現(xiàn),它是通過頁面)負責在界面上表現(xiàn),它是通過ModelModel(模型)模型)訪問企業(yè)數(shù)據(jù)并指定這些數(shù)據(jù)的顯示。訪問企業(yè)數(shù)據(jù)并指定這些數(shù)據(jù)的顯示。nControlControl層(層(ServletServlet)負責處理與視圖的交互轉化成模型執(zhí)行的負責處理與視圖的交互轉化成模型執(zhí)行的動作,用戶可以通過按鈕或菜單等,來提交在動作,用戶可以通過按鈕或菜單等,來提交在WebWeb應用中應用中GETGET和和POST HTTPPOS
34、T HTTP請求。請求。nModelModel層(層(JavaBeanJavaBean)負責實現(xiàn)業(yè)務邏輯的封裝,很好的分離了負責實現(xiàn)業(yè)務邏輯的封裝,很好的分離了后臺業(yè)務邏輯和前臺表示邏輯,提高了程序的可維護性。后臺業(yè)務邏輯和前臺表示邏輯,提高了程序的可維護性。n另外,另外,MVCMVC模式也有利于軟件開發(fā)中的分工,對于擅長于網(wǎng)頁設模式也有利于軟件開發(fā)中的分工,對于擅長于網(wǎng)頁設計界面的美工,可以負責計界面的美工,可以負責ViewView層,而不必熟悉層,而不必熟悉JavaJava;熟悉熟悉JavaJava的的程序員主要負責程序員主要負責ControlControl層和業(yè)務邏輯層。這樣的分工合作,
35、達層和業(yè)務邏輯層。這樣的分工合作,達到開發(fā)資源的最優(yōu)配置,充分發(fā)揮每個人的專長到開發(fā)資源的最優(yōu)配置,充分發(fā)揮每個人的專長.18數(shù)據(jù)庫設計數(shù)據(jù)庫設計 n冰魚論壇系統(tǒng)通過數(shù)據(jù)庫連接中間件冰魚論壇系統(tǒng)通過數(shù)據(jù)庫連接中間件JDBCJDBC,來訪問數(shù)據(jù)庫。來訪問數(shù)據(jù)庫。n幾乎在所有的幾乎在所有的WebWeb應用程序中,都要訪問存儲在數(shù)據(jù)庫中的信息,應用程序中,都要訪問存儲在數(shù)據(jù)庫中的信息,J2EEJ2EE提供了一個標準接口提供了一個標準接口JDBCJDBC來進行數(shù)據(jù)庫的訪問操作。來進行數(shù)據(jù)庫的訪問操作。n要利用要利用JDBCJDBC訪問數(shù)據(jù)庫,首先必須在機器上安裝一個數(shù)據(jù)庫管理系統(tǒng),訪問數(shù)據(jù)庫,首先必須
36、在機器上安裝一個數(shù)據(jù)庫管理系統(tǒng),并將數(shù)據(jù)庫的并將數(shù)據(jù)庫的JDBCJDBC驅動程序添加到驅動程序添加到J2EEJ2EE應用服務器的應用服務器的JavaJava編譯器路徑編譯器路徑中。中。n冰魚論壇管理系統(tǒng)采用的是冰魚論壇管理系統(tǒng)采用的是MySQLMySQL數(shù)據(jù)庫管理系統(tǒng),因此還需要數(shù)據(jù)庫管理系統(tǒng),因此還需要MySQLMySQL的驅動程序,該論壇系統(tǒng)所用的驅動程序為:的驅動程序,該論壇系統(tǒng)所用的驅動程序為:mysql-connector-mysql-connector-java-3.1.12-bin.jarjava-3.1.12-bin.jar,你可以從網(wǎng)站你可以從網(wǎng)站http:/http:/下載
37、而得到它。再將該驅動程序下載而得到它。再將該驅動程序拷貝到拷貝到Tomcat_HomeTomcat_Home(TomcatTomcat的安裝目錄)下的的安裝目錄)下的commonlibcommonlib子目錄下子目錄下即可。由于即可。由于MySQLMySQL并沒有提供界面操作,對于許多人來說,靠輸入并沒有提供界面操作,對于許多人來說,靠輸入SQLSQL命令來訪問數(shù)據(jù)庫,顯得十分不方便。為此,可以安裝數(shù)據(jù)管理工具命令來訪問數(shù)據(jù)庫,顯得十分不方便。為此,可以安裝數(shù)據(jù)管理工具MySQLMySQL-front-front,或者或者ysqlysql官方提供的官方提供的MySQLMySQL Query B
38、rowser Query Browser工具,這工具,這些工具的特點就是可視化,所有操作完全界面化,使些工具的特點就是可視化,所有操作完全界面化,使MySQLMySQL管理變得管理變得較為簡單。較為簡單。n這里應當注意的是,數(shù)據(jù)庫管理本身并不是一件容易的事情,只能通這里應當注意的是,數(shù)據(jù)庫管理本身并不是一件容易的事情,只能通過可視化界面管理,讓操作簡單方便而已。過可視化界面管理,讓操作簡單方便而已。 19數(shù)據(jù)庫設計數(shù)據(jù)庫設計n設計好系統(tǒng)數(shù)據(jù)庫后,便可以通過使用設計好系統(tǒng)數(shù)據(jù)庫后,便可以通過使用MySQLMySQL-font-font管管理工具,來創(chuàng)建冰魚論壇的數(shù)據(jù)庫。步驟如下:理工具,來創(chuàng)建冰
39、魚論壇的數(shù)據(jù)庫。步驟如下:n(1 1)啟動)啟動MySQL5.1MySQL5.1數(shù)據(jù)庫服務器:數(shù)據(jù)庫服務器:n首先,打開【開始】菜單選擇【運行】,在彈出的運首先,打開【開始】菜單選擇【運行】,在彈出的運行窗口中輸入行窗口中輸入“services.mscservices.msc /s” /s”,如圖如圖4-114-11所示,所示,點擊【確定】按鈕即打開系統(tǒng)服務。再在【服務】窗點擊【確定】按鈕即打開系統(tǒng)服務。再在【服務】窗口中找到口中找到MySQLMySQL選項(如圖選項(如圖4-124-12),點擊【啟動】即可),點擊【啟動】即可啟動啟動MySQLMySQL服務。服務。n(2 2)創(chuàng)建冰魚論壇數(shù)
40、據(jù)庫:)創(chuàng)建冰魚論壇數(shù)據(jù)庫:n接著打開數(shù)據(jù)庫管理工具接著打開數(shù)據(jù)庫管理工具MySQLMySQL-Front-Front,如圖如圖4-134-13所示,所示,點擊窗口中的【點擊窗口中的【SQLSQL編輯器】,把冰魚論壇管理系統(tǒng)的編輯器】,把冰魚論壇管理系統(tǒng)的SQLSQL腳本復制進來,然后執(zhí)行腳本復制進來,然后執(zhí)行SQLSQL腳本,系統(tǒng)的數(shù)據(jù)庫腳本,系統(tǒng)的數(shù)據(jù)庫就創(chuàng)建完成了。就創(chuàng)建完成了。 20數(shù)據(jù)庫設計數(shù)據(jù)庫設計窗口窗口 21概要設計說明書(概要設計說明書(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ù)表關系數(shù)據(jù)表關系CDMCDM圖圖 24系統(tǒng)目錄結構系統(tǒng)目錄結構 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從達到代碼重用的角度出發(fā),該系統(tǒng)實現(xiàn)了公從達到代碼重用的角度出發(fā),該系統(tǒng)實現(xiàn)了公用的數(shù)據(jù)庫連接類
42、,以備在系統(tǒng)的其它用的數(shù)據(jù)庫連接類,以備在系統(tǒng)的其它JavaJava程程序中直接調用。序中直接調用。nConn.javaConn.java連接完整的代碼如程序連接完整的代碼如程序4-24-2所示所示. . 26用戶注冊登錄功能實現(xiàn)用戶注冊登錄功能實現(xiàn) n首先實現(xiàn)用戶注冊功能,該功能利用首先實現(xiàn)用戶注冊功能,該功能利用MVCMVC設計模式實現(xiàn)。設計模式實現(xiàn)。其中的其中的ViewView(視圖層)由三個視圖層)由三個jspjsp頁面組成,分別為頁面組成,分別為reg.jspreg.jsp、adduser.jspadduser.jsp、regsuccess.jspregsuccess.jsp。其中的
43、其中的reg.jspreg.jsp文件顯示了論壇注冊協(xié)議,只有同意該協(xié)議才文件顯示了論壇注冊協(xié)議,只有同意該協(xié)議才能進入下一步的注冊頁面能進入下一步的注冊頁面adduser.jspadduser.jsp。用戶信息注冊用戶信息注冊頁面頁面adduser.jspadduser.jsp主要由一個表單主要由一個表單formform組成,該表單組成,該表單formform利用了利用了postpost請求方法,將用戶信息傳遞給請求方法,將用戶信息傳遞給ControlControl(控制層)中的控制層)中的ServletServlet。如果用戶注冊成功,則轉向如果用戶注冊成功,則轉向regsuccess.j
44、spregsuccess.jsp頁面文件,并提示注冊成功。如果用頁面文件,并提示注冊成功。如果用戶注冊失敗,依然轉向戶注冊失敗,依然轉向regsuccess.jspregsuccess.jsp頁面,不過在頁面,不過在該頁面上提示的是注冊失敗的原因。該頁面上提示的是注冊失敗的原因。n完整的完整的ViewView層代碼,如程序層代碼,如程序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層中關于增刪改的操作主要由
45、層中關于增刪改的操作主要由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)詳細講解了由于前面的用戶注冊登錄功能已經(jīng)詳細講解了MVCMVC模式模式的實現(xiàn)方法,這里就不再重復講解,只給出程序代碼的實現(xiàn)方法,這里就不再重復
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寵物店前臺接待合同模板
- 國際分析設備租賃協(xié)議
- 團購協(xié)議模板
- 工廠空調系統(tǒng)安裝合同
- 機場對講系統(tǒng)安裝協(xié)議
- 電子競技公司租賃協(xié)議
- 生態(tài)農業(yè)攪拌站招標文件
- 醫(yī)學實驗室樣本保存
- 教育設施施工總價承包合同
- 購物中心擴建敲墻合同
- 中小學教師教育教學水平能力測試成績單
- 骨科細化分級護理標準
- 互聯(lián)網(wǎng)醫(yī)院整體方案介紹-PPT
- 4.2.1指數(shù)函數(shù)的概念 課件(共21張PPT)
- 嬰幼兒盥洗照料(嬰幼兒回應性照護課件)
- 銀杏樹介紹-課件
- 《化學與生活》課程標準
- 浙江臺州三門縣委政法委員會下屬事業(yè)單位選聘工作人員筆試題庫含答案解析
- 社區(qū)老年食堂運營方案策劃
- 熒光光纖測溫監(jiān)測系統(tǒng)-高壓柜 環(huán)網(wǎng)柜
- 國家衛(wèi)生健康委臨床檢驗中心室間質量評價標準2023年
評論
0/150
提交評論