畢業(yè)設計----論壇的設計與實現(xiàn)_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  NO        </p><p><b>  畢業(yè)論文(設計)</b></p><p>  專  業(yè) 計算機科學與技術 </p><p>  課  程 </p><p>  題  目 論壇的設計與實現(xiàn) <

2、;/p><p>  姓  名 </p><p>  學  號 </p><p>  指導老師 </p><p>  畢業(yè)論文(設計)內(nèi)容摘要</p><p>  以上

3、是A4模塊的封面 正文中的是16K的封面</p><p>  NO        </p><p><b>  畢業(yè)論文(設計)</b></p><p>  ?! I(yè) 計算機科學與技術 </p><p>  課  程 </p><p>  題  目

4、 論壇的設計與實現(xiàn) </p><p>  姓  名 </p><p>  學  號 </p><p>  指導老師 </p><p><b>  二00九年十二月</b></p><p>

5、  畢業(yè)論文(設計)內(nèi)容摘要</p><p><b>  前 言</b></p><p>  1978年在美國芝加哥開發(fā)出一套基于8080芯片的CBBS/Chicago(Computerized Bulletin Board System/Chicago),此乃最早的一套BBS系統(tǒng)。BBS發(fā)展至今,目前世界上業(yè)余的BBS網(wǎng)絡除了FidoNet(惠多網(wǎng))以外,幾個較具知

6、名度的還有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è)

7、BBS站要交納一筆費用,而商業(yè)站所能提供的服務與業(yè)余站相比,并沒有什么優(yōu)勢,所以其用戶數(shù)量不多。多數(shù)業(yè)余BBS站的站長,基于個人關系,每天都互相交換電子郵件,漸漸地形成了一個全國性的電子郵件網(wǎng)絡China FidoNet(中國惠多網(wǎng))。于是,各地的用戶都可以通過本地的業(yè)余BBS站與遠</p><p>  BBS是互聯(lián)網(wǎng)一種人與人之間交互的必備工具,特別是做網(wǎng)站必備。以前我們一直用留言本形式,但是隨著您的

8、網(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)站幾乎都擁有自己

9、的BBS或者BBS鏈接, BBS社區(qū)提供給用戶的服務是全面而且非常友好的,用戶在社區(qū)中可以根據(jù)自己的喜好設置不同的顯示風格,根據(jù)自己的需求定制各種服務。</p><p><b>  目 錄</b></p><p>  第1章 需求分析1</p><p><b>  1.1用例分析1</b></p><

10、;p>  1.2業(yè)務/機構劃分3</p><p><b>  1.3業(yè)務流程4</b></p><p>  1.4實體-關系分析4</p><p>  1.5實體屬性和職責5</p><p>  第2章 設計方案6</p><p><b>  2.1系統(tǒng)結(jié)構6</

11、b></p><p>  2.2系統(tǒng)架構選擇7</p><p>  2.3設計模式選擇8</p><p>  2.4技術路線選擇10</p><p>  2.3.1 WebLogic服務器的選擇10</p><p>  2.3.2 Java應用開發(fā)工具選擇10</p><p> 

12、 2.3.3 網(wǎng)頁設計工具選擇11</p><p>  2.3.4 MySQL數(shù)據(jù)庫服務器的選擇12</p><p>  第3章 系統(tǒng)實現(xiàn)12</p><p>  3.1系統(tǒng)文件功能13</p><p>  3.2主要類和接口15</p><p>  3.3主要系統(tǒng)界面16</p><p

13、>  3.4文件的打包和部署20</p><p>  3.5設計難題及解決辦法21</p><p>  3.5.1系統(tǒng)后臺與前臺的設計21</p><p>  3.5.2頁面內(nèi)容的分塊設計21</p><p>  3.5.3數(shù)據(jù)庫連接池的方便管理21</p><p>  3.5.4組件技術使分層清晰2

14、2</p><p><b>  總 結(jié)22</b></p><p><b>  參考文獻23</b></p><p><b>  第1章 需求分析</b></p><p>  論壇能夠為社區(qū)提供一個自由的空間,來方便大家交流。最初,論壇只是用于發(fā)布公告信息、討論問題的在線交

15、流平臺,后來,隨著網(wǎng)絡的普及,論壇的功能越來越豐富,受到廣大網(wǎng)民的歡迎。因此商業(yè)網(wǎng)站也對論壇重視起來,紛紛在自己的網(wǎng)站上開辟論壇,作為與網(wǎng)民交流的園地。同時,在線技術支持和在線服務也在論壇中開展起來。</p><p><b>  1.1用例分析</b></p><p>  在論壇里,人們之間的交流打破了空間,時間的限制。在與別人進行交往時,無須考慮自身的年齡,學歷,知

16、識,社會地位,財富,外貌,健康狀況,也無從知道交談的對方的真實社會身份。這樣,參與討論的人可以處于一個平等的位置與其他人進行任何問題的探討。論壇往往是由一些有志于此道的愛好者建立,對所有人都免費開放。而且,由于BBS的參與人眾多,因此各方面的話題都不乏熱心者。我們當然可以利用它來解決學習中的一些疑惑,也可以把自己的心事吐露出來。 圖1-1是論壇的用例分析。</p><p>  圖1-1論壇的用例分析</p&

17、gt;<p>  我們來分析每類對象的相關操作,設計對象的功能實現(xiàn)接口,既設計對象的操作類的方法或者說是功能函數(shù)。</p><p>  論壇類只有設置參數(shù)一個方法,既把設置一組參數(shù)作為一個方法,也可以把設置一個參數(shù)作為一個方法。圖1-2是論壇對象的用例分析。</p><p>  圖1-2論壇對象的用例分析</p><p>  版塊實體類有了瀏覽列表和管

18、理兩個方法,管理方法又可分為創(chuàng)建、修改、和刪除三個子方法,圖1-3是板塊對象的用例分析,管理員可以管理版塊和瀏覽版塊列表,而用戶只能瀏覽版塊列表。</p><p>  圖1-3版塊對象的用例分析</p><p>  帖子類有瀏覽、發(fā)帖、回帖、搜索和管理5個方法,瀏覽方法,瀏覽方法又可分為列表和查看兩個子方法,管理方法又可分為編輯、刪除、置頂、轉(zhuǎn)移、指定精華5個子方法。圖1-4是帖子對象的用

19、例分析,只有管理員可以管理帖子,一般用戶是沒有這個權限的。</p><p>  圖1-4帖子對象的用例分析</p><p>  用戶類有注冊、登陸和管理3個方法,管理方法又分為添加、刪除和設置權限3個子方法。圖1-5是用戶對象的用例分析,用戶的信息和權限是由管理員來設置管理的。</p><p>  圖1-5用戶對象的用例分析</p><p>

20、  1.2業(yè)務/機構劃分</p><p>  像日常生活中的黑板報一樣,論壇按不同的主題分為許多版塊,版面的設立依據(jù)是大多數(shù)擁護的要求和喜好,用戶可以閱讀別人關于某個主題的看法,也可以將自己的想法毫無保留地帖到論壇中。一般來說,論壇也提供郵件功能,如果需要私下的交流,也可以將想說的話直接發(fā)到某個人的電子信箱中。</p><p>  用戶在前臺的注冊、登陸,以及修改個人的注冊信息組合成注冊登

21、陸模塊;用戶瀏覽版塊、瀏覽主題帖列表、查看帖子組成合成瀏覽模塊;用戶發(fā)帖、回帖、編輯發(fā)布的帖子組合成發(fā)帖回帖模塊;管理員編輯帖子、刪除帖子、轉(zhuǎn)移帖子、置頂帖子和指定精華帖組合成管理帖子模塊。</p><p><b>  1.3業(yè)務流程</b></p><p>  用戶注冊登陸進入論壇,就某個話題展開討論,通過發(fā)帖功能發(fā)布新的話題,通過回帖功能回復已有的話題,通過搜索功

22、能查找已有的話題。管理員要管理論壇,軟件需要具有的功能有創(chuàng)建、編輯、刪除論壇的版塊,管理注冊的用戶,管理帖子,設置論壇基本參數(shù)。這樣的流程決定了論壇所具有的功能,圖1-6表示論壇功能流程。</p><p>  圖1-6 論壇功能流程</p><p>  1.4實體-關系分析</p><p>  每個模塊的功能,真實反映需求,通過對需求的認真分析,可以設計出符合要求的

23、單獨模塊。對于論壇來說,聯(lián)系各個模塊的主線是使用者的權限,用戶能使用論壇的那些功能由用戶權限決定。論壇的每個功能都與相應的權限對應。</p><p>  瀏覽版塊與發(fā)帖回帖模塊、管理帖子模塊關聯(lián),是由論壇的系統(tǒng)流程決定的,圖1-7是帖子相關模塊關系。</p><p>  圖1-7帖子相關模塊關系</p><p>  管理版塊模塊與瀏覽模塊關聯(lián),是由帖子與版塊的父子關

24、系決定的,帖子依附于版塊,先有版塊,后有帖子,帖子必須發(fā)表在某個版塊中,圖1-8是管理板塊模塊與瀏覽模塊的關系。</p><p>  圖1-8 管理版塊模塊與瀏覽模塊的關系</p><p>  管理用戶模塊與注冊登陸模塊關聯(lián),是由同一類對象——用戶決定的,注冊后獲得論壇的身份,后成為用戶,所有的用戶需要接受管理員的管理,用戶登錄證明自己在論壇中的身份,圖1-9是管理用戶模塊與注冊登錄模塊的

25、關系。</p><p>  圖1-9管理用戶模塊與注冊登陸模塊的關系</p><p>  1.5實體屬性和職責</p><p>  表1-5-1是網(wǎng)上論壇實體目錄表</p><p>  表1-5-1 網(wǎng)上論壇實體目錄表</p><p>  下圖以“管理員”為例,說明實體條目的具體編制方法,圖1-5-2 表示了實體條目的

26、編制方法。</p><p>  1-5-2實體條目的編制方法</p><p><b>  第2章 設計方案</b></p><p>  上一節(jié)中確定了論壇系統(tǒng)的設計思路,分析了論壇系統(tǒng)的整體需求。但是只知道需求是不行的,整體需求是對系統(tǒng)目標的一個模糊描述。要實現(xiàn)一個系統(tǒng),還需要從需求分析上升到軟件設計階段。</p><p&g

27、t;<b>  2.1系統(tǒng)結(jié)構</b></p><p>  從需求分析中得知,可以將功能分為前臺和后臺兩類,因此模塊也分為兩大類:前臺模塊和后臺模塊。</p><p>  用戶在前臺注冊、登陸,以及修改個人的注冊信息組合成注冊登錄模塊;用戶瀏覽版塊、瀏覽主題帖列表、查看帖子組成合成瀏覽模塊;用戶發(fā)帖、回帖、編輯發(fā)布的帖子組合成發(fā)帖回帖模塊;管理員編輯帖子、刪除帖子、轉(zhuǎn)

28、移帖子、置頂帖子和指定精華帖組合成管理帖子模塊。以上4個模塊組成前臺的功能模塊。</p><p>  后臺模塊都是與管理員相關的,設置論壇參數(shù)單獨為論壇設置模塊;創(chuàng)建、修改和刪除版塊為管理版塊模塊;添加、刪除和設置權限為管理用戶模塊。圖2-1表示了論壇的模塊體系。</p><p>  圖2-1論壇的模塊體系</p><p><b>  2.2系統(tǒng)架構選擇&

29、lt;/b></p><p>  本系統(tǒng)將采用三層架構。所謂三層架構即三層體系結(jié)構,顧名思義,我們將運用程序從整體上分為三個獨立而又彼此相關聯(lián)的層次,這三層分別是:界面層、業(yè)務邏輯層、數(shù)據(jù)層。</p><p>  (1)界面層:界面層就是運用程序與用戶的操作接口,提供給用戶一個視覺上的界面,通過界面層,用戶輸入數(shù)據(jù)、獲取數(shù)據(jù)。界面層同時也提供一定的安全性,確保用戶不會看到機密的信息。

30、比如說:網(wǎng)頁。在用戶層,常用到的技術如:HTML、CSS、JavaScript、ASP/asp.net等。</p><p>  (2)業(yè)務邏輯層:業(yè)務邏輯層就是將一些業(yè)務處理的邏輯與規(guī)則經(jīng)過封裝,它提供一些接口與用戶層與數(shù)據(jù)層進行交互,是界面層和數(shù)據(jù)層的橋梁,它響應界面層的用戶請求,執(zhí)行任務并從數(shù)據(jù)層抓取數(shù)據(jù),并將必要的數(shù)據(jù)傳送給界面層。在業(yè)務邏輯層,當今比較流行的技術和規(guī)范,如:Microsoft的COM/DC

31、OM/COM+/NET組件,SUN 的 EJB等。</p><p>  (3)數(shù)據(jù)層:數(shù)據(jù)層主要是提供業(yè)務邏輯層的數(shù)據(jù)接口和后臺的數(shù)據(jù)管理,數(shù)據(jù)層定義、維護數(shù)據(jù)的完整性、安全性,它響應邏輯層的請求,訪問數(shù)據(jù)。這一層通常由大型的數(shù)據(jù)庫服務器實現(xiàn),比較典型的數(shù)據(jù)庫管理系統(tǒng)有:SQL Sercer 2000/2005 、Orcale 8i/9i,DB2等。</p><p><b>  

32、圖2-2三層架構</b></p><p><b>  2.3設計模式選擇</b></p><p>  用JSP開發(fā)的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒng)上運行。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變的迅速和容易。JSP技術是Servlets技術的擴展。</p>

33、<p>  JDBC(Java DataBase Connectivity)是Java語言為了支持SQL功能而提供的與數(shù)據(jù)庫相連的用戶接口。JDBC由一組Java語言編寫的類和接口組成,使用內(nèi)嵌式的SQL,主要實現(xiàn)三方面的功能:建立與數(shù)據(jù)庫的連接,執(zhí)行SQL聲明及處理SQL執(zhí)行結(jié)果。JDBC是建立在ODBC的基礎上,實際上可視為ODBC的Java語言翻譯形式。</p><p>  JDBC支持的兩種

34、模型如下。</p><p>  兩層模型:JDBC支持兩層模型,圖2-3 是JDBC支持的兩層模型。</p><p>  圖2-3 JDBC支持的兩層模型</p><p>  三層模型:JDBC支持的三層模型,圖2-4 是JDBC支持的三層模型。</p><p>  圖2-4JDBC支持的三層模型</p><p>  

35、基于JSP的網(wǎng)站建設目前主要有兩種基本的開發(fā)模式:兩層模型和三層模型。目前市場上的軟件開發(fā)者大都基于這兩種基本的框架形成自己的開發(fā)模式,但是都不同程度地存在編碼重復現(xiàn)象。針對開發(fā)代碼重復的問題,圖2-5表示了設計模式。</p><p><b>  圖2-5設計模式</b></p><p>  此種模式對于基本的數(shù)據(jù)庫應用和基本的頁面都能夠通過參數(shù)來實現(xiàn),對于頁面和數(shù)據(jù)

36、庫的設計復雜的情況,此種設計也針對一些特殊情況進行了處理設計。為了適應特殊的需要,比如應用時需要的頁面沒有相應的模板、Word插件的處理等,此種設計也提供了擴展的能力,應用時可以根據(jù)自己的特殊需要來添加相應的JSP模板文件。</p><p><b>  2.4技術路線選擇</b></p><p>  俗話說:工欲善其事,必先利其器。我選擇了WebLogic作為應用服務

37、器,同樣的Borland JBuilder全球最具威力之Java開發(fā)環(huán)境JBuilder也被選擇作為開發(fā)工具,而數(shù)據(jù)庫則選用MySQL。</p><p>  2.3.1WebLogic服務器的選擇</p><p>  本設計項目的應用服務器選擇WebLogic Platform 8.1。Platform 8.1 簡體中文版是BEA 公司2004年2月9日發(fā)布的應用服務器平臺。BEA 公司的

38、WebLogic 企業(yè)應用平臺軟件可提供統(tǒng)一的、簡便的和可擴展的應用基礎結(jié)構,為企業(yè)節(jié)省了時間和資金,確保企業(yè)軟件更和諧地協(xié)同工作,可讓企業(yè)軟件開發(fā)人員和IT工作人員更富效率,更少失誤,并且其敏捷性讓企業(yè)能夠快速地適應新的軟件需求,避免以往那些導致大量軟件項目失敗的復雜性。為此選用該應用服務器軟件構建和運行網(wǎng)上商城應用系統(tǒng)。其優(yōu)點主要體現(xiàn)在流程、訪問、變化三個方面:</p><p>  (1)優(yōu)化端到端的流程,使

39、企業(yè)更有效率;</p><p>  (2)改進信息訪問方式,增強業(yè)務響應能力;</p><p>  (3)借助正確的決策標準,適應業(yè)務的各種變化。</p><p>  2.3.2Java應用開發(fā)工具選擇</p><p>  對于Java的開發(fā),Borland JBuilder全球最具威力之Java開發(fā)環(huán)境,相較過去版本,JBuilder提供更

40、多省時工具與精靈,讓您團隊生產(chǎn)力提升至極限,協(xié)助您在最短時間內(nèi)開發(fā)更好的軟件。這僅是完整Borland解決方案的一部份, JBuilder Enterprise以融入應用程序開發(fā)周期(applicationlifecycle)為第一要務,能夠使用您現(xiàn)有之技術投資,并給您最大的自由與彈性,讓您以自己的方式與流程完成工作。BorlandOptimizeitSuite已包含于 JBuilderEnterprise版中:JBuilder所包含之

41、創(chuàng)新工具與加值功能將企業(yè)級Java開發(fā)提升至新境界。加速Java開發(fā)之最佳工具:視覺化設計工具,讓您快速、順暢地建構EJB,全新DataTransferObject(DTO)與SessionFaade精靈協(xié)助您用戶端程序碼簡單而正確地使用EJB。JBuilder與BorlandTogetherEditionforJBuilder雙向塑模(two-waymodeling)能力,使得UML圖形與程序碼能夠雙向自動同步,您可以運用UML技術建

42、</p><p>  2.3.3網(wǎng)頁設計工具選擇</p><p>  本項目的界面設計軟件工具選用Dreamweaver MX。Macromedia公司推出的Dreamweaver MX中文版,不僅是專業(yè)人員制作網(wǎng)站的首選工具,而且普及到廣大網(wǎng)頁制作愛好者中,相對于其它網(wǎng)頁制作工具和以前版本,有以下這些優(yōu)勢: </p><p>  (1)對簡體中文良好的支持

43、,不會出現(xiàn)一些不兼容中文的現(xiàn)象。例如,在早期的Dreamweaver4.0中,制作Flash按鈕時會出現(xiàn)亂碼。</p><p>  (2)使用Dreamweaver MX中文版,可以在可視化界面制作出ASP,ASP,NET,JSP,PHP, ColdFusion站點。</p><p>  (3)Dreamweaver MX中文版自帶大量模板,簡化了用戶的制作過程。 </p>

44、<p>  (4)Dreamweaver MX中文版支持數(shù)量眾多的第三方插件,大大增強了Dreamweaver MX的功能。 </p><p>  (5)通過配置 Dreamweaver MX 生成符合 XHTML 的代碼,確保用最新的 HTML 設計標準及時更新站點。</p><p>  2.3.4 MySQL數(shù)據(jù)庫服務器的選擇</p><p>  本設

45、計項目的數(shù)據(jù)庫選擇MySQL。MySQL 是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務器。SQL(結(jié)構化查詢語言)是世界上最流行的和標準化的數(shù)據(jù)庫語言。 MySQL 是以一個客戶機/服務器結(jié)構的實現(xiàn),它由一個服務器守護程序和很多不同的客戶程序和庫組成。</p><p>  MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫服務器。SQL(結(jié)構化查詢語言)是世界上最流行的和標準化的數(shù)據(jù)庫語言。MySQL是以一個客戶機/

46、服務器結(jié)構的實現(xiàn),它由一個服務器守護程序和很多不同的客戶程序和庫組成。</p><p>  SQL是一種標準化的語言,它使得存儲、更新和存取信息更容易。例如,你能用SQL語言為一個網(wǎng)站檢索產(chǎn)品信息及存儲顧客信息,同時MySQL也足夠快和靈活以允許你存儲記錄文件和圖像。</p><p>  MySQL 主要目標是快速、健壯和易用。最初是因為我們需要這樣一個SQL服務器,它能處理與任

47、何可不昂貴硬件平臺上提供數(shù)據(jù)庫的廠家在一個數(shù)量級上的大型數(shù)據(jù)庫,但速度更快,MySQL就開發(fā)出來。自1996年以來,我們一直都在使用MySQL,其環(huán)境有超過 40 個數(shù)據(jù)庫,包含 10,000個表,其中500多個表超過7百萬行,這大約有100 個字節(jié)(GB)的關鍵應用數(shù)據(jù)。</p><p>  MySQL建立的基礎是業(yè)已用在高要求的生產(chǎn)環(huán)境多年的一套實用例程。盡管MySQL

48、仍在開發(fā)中,但它已經(jīng)提供一個豐富和極其有用的功能集。</p><p><b>  第3章 系統(tǒng)實現(xiàn)</b></p><p>  本系統(tǒng)是采用JSP+JavaBean+Servlet開發(fā)的. 具有Java語言跨平臺的特性,可以方便的運行在Windows、Linux、Unix等操作系統(tǒng)上。 支持MySQL、Oracle、SQL server數(shù)據(jù)庫,如需要還可以方便的擴充其

49、他數(shù)據(jù)庫的支持。系統(tǒng)整體系統(tǒng)結(jié)構清晰,擴展性良好。支持集群運行,同時做到負載均衡。同時運用了多種設計模式,具有內(nèi)核穩(wěn)定、界面簡潔、功能強大、操作方便、數(shù)據(jù)安全等特點。</p><p><b>  3.1系統(tǒng)文件功能</b></p><p>  本設計的主目錄是bbs,在Weblogic服務器中發(fā)布和部署的Web應用放在它的bbs子目錄下。本設計所編寫的人事管理系統(tǒng)是一

50、個Java Web應用, 它由一組Servlet、JSP和與其相關的class組成。每種組件在Web應用中都有固定的存放目錄。目錄結(jié)構如表3-1網(wǎng)上論壇Web應用文件目錄結(jié)構表所示。</p><p>  表3-1網(wǎng)上論壇Web應用文件目錄結(jié)構表</p><p>  從上表可以看出,在src目錄下存放著所有的.jsp文件;在WEB-INF目錄下存放著與Web應用配置信息有關的web.xml文

51、件和與Web服務器配置信息有關的server.xml文件;在foundation目錄下的四個子目錄中分別存放著連接數(shù)據(jù)庫、處理數(shù)據(jù)的Java文件和處理字符、日期、數(shù)據(jù)轉(zhuǎn)換、調(diào)試及異常處理的Java文件;在common目錄下存放著共用的接口和表單類及實現(xiàn)郵件收發(fā)、表單校驗等功能的Java文件,其子目錄upload中存放的是smartupload插件文件,主要用來實現(xiàn)圖片的上傳、下載等功能。</p><p><

52、b>  3.2主要類和接口</b></p><p>  DataBaseMySQL類的UML圖,圖3-1是DataBaseMySQL類的UML圖。</p><p>  圖3-1DataBaseAccess類的UML圖</p><p>  本系統(tǒng)可以通過DataBaseMySQL類實現(xiàn)對不同類型的數(shù)據(jù)庫的連接和數(shù)據(jù)訪問。由上圖可以看出,DataBas

53、eMySQL類由java.lang類包的Object類擴展而來。調(diào)用它的getDB2Connection()方法、getInformixConnection()方法、getMySqlConnection()方法、getOracleConnection()方法、getSQLServerConnection()方法和getSybaseConnection()方法可以分別實現(xiàn)對DB2、Informix、MySql、Oracle、SQL Ser

54、ver和Sybase數(shù)據(jù)庫的連接。</p><p>  DataBaseMySQL類也可以被MySQLCommand類的實例調(diào)用,以執(zhí)行SQL命令,查詢數(shù)據(jù)庫的數(shù)據(jù)。DataBaseMySQL類可以調(diào)用java.lang類包里的Exception類、String類、StringBuffer類做異常處理、字符串處理和字符串緩沖等。DataBaseAccess類還可以調(diào)用Connection對象、DriverMana

55、ger類和SQLException類的實例連接數(shù)據(jù)庫,并處理執(zhí)行SQL語句時出現(xiàn)的異常。此外,DataBaseMySQL類還可以調(diào)用Properties類做對象屬性的獲取和設置處理。調(diào)用Context對象和InitContext類來為應用創(chuàng)建上下文環(huán)境,并對其做初始化處理。還可以調(diào)用DataSource對象訪問數(shù)據(jù)源。</p><p><b>  3.3主要系統(tǒng)界面</b></p>

56、;<p>  下面僅將用戶登錄界面、發(fā)帖界面、投票界面、搜索界面列出。</p><p><b>  (1)用戶登錄界面</b></p><p>  圖3-2是用戶登陸界面,是本系統(tǒng)的用戶登陸界面,數(shù)據(jù)庫中已經(jīng)存在用戶的信息。該模塊在用戶登陸時要進行用戶名和密碼的有效性校驗,查詢用戶表,如果該用戶存在則讓他進入主頁,如果不存在或者密碼有誤,回到登陸頁以便用

57、戶再次輸入用戶名及密碼登陸。</p><p>  圖3-2用戶登陸界面</p><p>  如果用戶是首次訪問此論壇,還沒有注冊,可以單擊[沒有注冊]按鈕進入新用戶注冊界面進行注冊,這是給用戶進入論壇的一個通道,是任何論壇都不可缺少的部分。如果已經(jīng)注冊了的用戶在登陸時忘記了密碼,則可單擊[忘記論壇密碼]按鈕,系統(tǒng)應該提示用戶輸入密碼提示等幫用戶找回密碼,這是個比較人性化的設計。</p

58、><p><b>  (2)發(fā)帖界面</b></p><p>  當?shù)顷戇M來想說話的時候,自然會想到怎么才能說,怎么發(fā)帖子呢?</p><p>  圖3-3是發(fā)帖界面,是發(fā)帖子的界面,這里只允許會員發(fā)表新帖子,需要填寫的新帖子信息包括:用戶名、密碼、主題、當前心情、具體內(nèi)容等,這也是帖子表里應該有的最基本信息。其中標題下不能超過200個漢字,要進行

59、校驗。針對“當前心情”,本論壇提供了一些心情圖片,用戶只需選擇一個即可?!皟?nèi)容”是指書寫帖子內(nèi)容時輸入框支持什么不支持什么等。具體內(nèi)容輸入框上的按鈕可以對輸入的內(nèi)容進行字體等方面的設置。輸入框下方還提供了一些小圖片,用戶單擊表情圖標就可在帖子中加入相應的表情?!案呒壴O置”中的簽名顯示還是不顯示或者匿名看作者而定,可以選擇也可以不選。所有內(nèi)容填寫完畢后,單擊[發(fā)表]按鈕則數(shù)據(jù)庫中相應的帖子表增加一條記錄,用戶帖子發(fā)表成功。</p&g

60、t;<p><b>  圖3-3發(fā)帖界面</b></p><p><b>  (3)投票界面</b></p><p>  當看到一個比較不錯的帖子,要對其進行評論時,就可以對其發(fā)起投票,這是發(fā)起投票的設計初衷。投票表與帖子表相似,也相當于一個帖子,只是要針對某個具體的帖子進行操作。</p><p>  圖3-

61、4是投票界面,發(fā)起投票的界面與帖子表的界面相似,也只允許會員發(fā)表對帖子的投票,需要填寫的投票信息包括:用戶名、密碼、帖子主題、投票項目、當前心情、具體內(nèi)容等,其中標題不能超過200個漢字,要進行校驗。針對“當前心情”,本論壇提供了一些心情圖片,用戶只需選擇一個即可。“投票項目”內(nèi)設置一些投票項目,但每行只能有一個項目,最多只能設置十個選項,超過了就自動作廢,根據(jù)作者的意愿可進行單選和多選的設置進行選擇?!皟?nèi)容”是指書寫帖子內(nèi)容時輸入框支

62、持什么不支持什么等。具體內(nèi)容輸入框上的按鈕可以對輸入的內(nèi)容進行字體等方面的設置。輸入框下方還提供了一些小圖片,用戶單擊表情圖標就可在帖子中加入相應的表情。“高級設置”中的簽名顯示還是不顯示或者匿名看作者而定,可以選擇也可以不選。所有內(nèi)容填寫完畢后,單擊[發(fā)表]按鈕則數(shù)據(jù)庫中相應的帖子表增加一條記錄,用戶帖子發(fā)表成功。</p><p><b>  圖3-4投票界面</b></p>

63、<p><b>  (4)搜索界面</b></p><p>  論壇搜索功能三論壇中除了導航按鈕這種直接的方式之外的另外一種定位方式。導航按鈕通過告訴用戶有哪些東西訪問和查詢,而搜索則從用戶的角度出發(fā)來進行設計。搜索首先需要輸入用戶要搜索的關鍵字,其次需要選擇該關鍵字是搜索的新聞主題作者、帖子標題還是帖子內(nèi)容等,關鍵字搜索的選擇包括帖子主題、關鍵字等,同時在搜索時需要進行日期范圍

64、的限定,因此需要給出日期的選擇項,在本搜索設計中,我們設計的日期范圍包括:5天以來、10天以來、15天以來、30天以來、60天以來、90天以來,以此從小的范圍搜索,都可以滿足不同的搜索。另外一種選擇,應該包括論位置的定位。圖3-5是搜索界面。</p><p><b>  圖3-5搜索界面</b></p><p>  3.4文件的打包和部署</p><

65、;p>  先在JBuilder 9中將整個工程編譯,然后利用JBuilder 9自帶的工具把工程源文件打包、配置。下面簡單闡述如何在BEA Weblogic中部署自己的應用程序:</p><p>  (1)啟動BEA Weblogic Platform 8.1的configuration wizard創(chuàng)建一個自己的域netshopdomain,設置監(jiān)聽端口為7777。</p><p>

66、;  (2)啟動Weblogic的控制臺,進入Services Configuration JDBC的Connection Pools、Data Sources下分別配置數(shù)據(jù)連接池mynetshoppool和數(shù)據(jù)源netshoDS。</p><p>  (3)啟動Weblogic的控制臺,進入Your Deployed Resources下Web Application Modules 中部署自己的應用

67、程序。</p><p>  (4)啟動IE瀏覽器,在地址欄中輸入:http://localhost:7001即可訪問自己的網(wǎng)站首頁。在其他機器中訪問輸入:http://192.168.3.X:7001(其中192.168.3.X為服務器的IP地址)即可訪問。</p><p>  3.5設計難題及解決辦法</p><p>  3.5.1系統(tǒng)后臺與前臺的設計</p

68、><p>  本系統(tǒng)設計過程是將后臺部分與前臺部分的入口放在主頁面上,以方便系統(tǒng)管理人員的通用化管理。當系統(tǒng)管理員登陸系統(tǒng)首頁時,在系統(tǒng)的最上方會出現(xiàn)管理登陸入口,可以從此入后臺管理界面。同時,在系統(tǒng)后臺和前臺的設計上,系統(tǒng)采用了共同的頁面開發(fā)模式和組件調(diào)用模式,其中的文件頭和文件尾等部分都是相互通用的。</p><p>  3.5.2頁面內(nèi)容的分塊設計</p><p>

69、;  在系統(tǒng)主頁中,從頁頭、版面列表、推薦論壇、用戶來訪信息、論壇圖例、文件尾等部分進行了抽象提取,這樣在需要用到的某一個部分的頁面時,只需要進行相關的包含即可。</p><p>  3.5.3數(shù)據(jù)庫連接池的方便管理</p><p>  一般編寫數(shù)據(jù)庫連接的方式是,在程序需要請求數(shù)據(jù)庫時直接連接,這樣有一個問題,就是用戶頻繁地請求連接,降低了數(shù)據(jù)庫的使用效率,在大用戶量的情況下,還容易造成

70、排隊阻塞的情況。為了解決這個問題,本系統(tǒng)使用了連接池,在系統(tǒng)初始化時啟動db.properties文件中配置的連接池,如果程序需要連接,則從該池中取出一個連接使用,使用完后又返回給該池,這樣這些連接可以復用,提高了效率。</p><p>  3.5.4組件技術使分層清晰</p><p>  本系統(tǒng)采用了一種編碼的模式:所有對數(shù)據(jù)庫的操作都進行了組件的封裝,這樣在界面編程中,需要使用什么功能

71、,只需要進行對應函數(shù)的調(diào)用即可。這種方式有兩個優(yōu)點:代碼分層清晰,組件只負責與數(shù)據(jù)庫打交道,提供給頁面調(diào)用的接口,即函數(shù);頁面的代碼編寫清晰明了,不用把大量的JSP代碼夾雜在HTML代碼中,要實現(xiàn)什么操作,直接調(diào)用一個函數(shù)即可,十分方便。</p><p><b>  結(jié) 論</b></p><p>  在該系統(tǒng)的開發(fā)過程中采用了當今流行的多種熱門技術,在開發(fā)過程中嚴格

72、遵守正規(guī)軟件系統(tǒng)開發(fā)的流程,本系統(tǒng)在開發(fā)過程中利用JSP和JavaBean相結(jié)合的技術充分體現(xiàn)了Java這一語言一次開發(fā)處處運行的特點。開發(fā)中嚴格遵守軟件工程中技術和說明文檔的書寫和備份,為系統(tǒng)測試和維護提供一個良好的書面說明。</p><p>  本系統(tǒng)在已投入使用的系統(tǒng)基礎上增加和拓展了一些新的功能。使用了JSP和JavaBean相結(jié)合的這門技術使系統(tǒng)的可移植性得到很大的提高,在系統(tǒng)將來使用范圍進一步擴大的情

73、況下本系統(tǒng)可以在原有的基礎上作升級和拓展。</p><p><b>  參考文獻</b></p><p>  [1]李爭 陸正中編著,Jbuilder精髓,電子工業(yè)出版社, 2004年3月第2版。</p><p>  [2]耿祥義等編編著,JSP實用教程, 清華大學出版社, 2005年5月第1版。</p><p>  

74、[3]屈輝立、陳可明、石武信編著,JSP網(wǎng)站編程教程,北京希望電子出版社, 2005年1月第1版。</p><p>  [4]羅夫(美)著,張瑜等譯,UML基礎教程,清華大學出版社,2004年1月第一版。</p><p>  [5]范斯瓦尼(Vasani V.)(美)著,徐小青,路曉村等譯MySQL完全手冊,電子工業(yè)出版社,2005年8月第1版。</p><p> 

75、 [6]趙增敏等編著,Dreamweaver MX動態(tài)網(wǎng)站設計,機械工業(yè)出版社,2004年1月第1版。</p><p>  [7]葉清著,基于JSP和Java組件的動態(tài)Web網(wǎng)頁的設計與實現(xiàn).現(xiàn)代機械出版社,2003年第一版。</p><p>  [8]喬普拉(美)著,JSP高級程序設計,人民郵電出版社,2005年第一版。</p><p>  [9]版權歸CNET

76、Networks所有,JSP白皮書,http://www.zdnet.com.cn/developer/rescnter/story/0,2000081634,20026858,00.htm,2006年4月25日。</p><p>  [10] 網(wǎng)友投稿,建立JSP操作以提高數(shù)據(jù)庫訪問的效率,http://www.chinageren.com/Article/program/jsp/200503/16330_2.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論