基于ssh框架的論壇設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)論文(設(shè)計(jì))</p><p>  題 目: 基于SSH框架的論壇設(shè)計(jì)與實(shí)現(xiàn)</p><p>  院 系: 計(jì)算機(jī)科學(xué)系 </p><p>  專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  姓 名:

2、 </p><p>  學(xué) 號(hào): </p><p>  指導(dǎo)教師: </p><p>  教師職稱: </p><p>  填寫(xiě)日期:201

3、2 年 5 月 1 日</p><p><b>  摘要</b></p><p>  當(dāng)今社會(huì)正處在網(wǎng)絡(luò)時(shí)代,信息化大潮席卷全球,網(wǎng)絡(luò)正以前所未有的速度在我國(guó)普及開(kāi)來(lái)。網(wǎng)站以其獨(dú)特的優(yōu)勢(shì)在信息化的過(guò)程中占有重要的一席。為了方便信息的交流,在結(jié)合JAVA和SSH 技術(shù)之下開(kāi)發(fā)了這個(gè)快捷、界面友好的交流系統(tǒng),實(shí)現(xiàn)了一個(gè)功能相對(duì)齊全的論壇系統(tǒng),網(wǎng)友可以自由地提

4、出問(wèn)題以及幫助他人解決問(wèn)題,或者交流經(jīng)驗(yàn)。</p><p>  論壇在struts+spring+hibernate,struts負(fù)責(zé)表示層,spring負(fù)責(zé)業(yè)務(wù)邏輯層,hibernate負(fù)責(zé)數(shù)據(jù)持久層。論壇將采用B/S體系結(jié)構(gòu),人們通過(guò)瀏覽器就可以訪問(wèn)教學(xué)網(wǎng)站的主頁(yè),保證的服務(wù)器的安全。數(shù)據(jù)庫(kù)采用免費(fèi),小巧,易用的sql數(shù)據(jù)庫(kù)。該論壇功能較齊全,在這里可以自由地發(fā)表自己的觀點(diǎn)和對(duì)論壇的主題發(fā)表意見(jiàn),我們還可以對(duì)

5、網(wǎng)友的問(wèn)題及時(shí)地解決,獲取對(duì)自己有用的知識(shí)。該論壇還有一些特殊的功能,如在線人員顯示、強(qiáng)大的搜索功能。本網(wǎng)站嚴(yán)格按照軟件項(xiàng)目開(kāi)發(fā)的流程進(jìn)行開(kāi)發(fā),對(duì)于網(wǎng)站開(kāi)發(fā)的可行性分析、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及對(duì)網(wǎng)站的測(cè)試與維護(hù)都有詳細(xì)的論述和實(shí)現(xiàn)過(guò)程。</p><p>  本套論壇的優(yōu)點(diǎn)在于它具有強(qiáng)大的可擴(kuò)展性和可維護(hù)性,非常適合網(wǎng)民創(chuàng)建自己的中小型BBS論壇!</p><p>  關(guān)鍵詞:BB

6、S ,S.S.H(Struts ,Hibernate ,Spring),JAVA , SQL ,JSP</p><p><b>  Abstract</b></p><p>  today's society is in network era, information tide sweeping the globe, the Internet is at a

7、n unprecedented rate in our country popularity to spread. Web site with its unique advantages in the process of information occupies the important a seats. In order to facilitate information exchange, in combination with

8、 JAVA and S.S.H technology developed this quick, under a friendly interface communication system, realize a relatively complete BBS system function, this can be free to put forward questio</p><p>  BBS in St

9、ruts + Hibernate + Spring expand Struts on the basis of frame, with today's mainstream web development techniques JSP language development. BBS will use the B/S architecture, people through the browser can visit the

10、home page of the teaching website, ensure the safety of the server. Database using free, small, easy mysql database. This BBS function is more complete, here will be free to speak their minds and the theme of the BBS of

11、opinions, we also can solve the problems in time, to ob</p><p>  The set of the BBS's advantage is that it has strong expansibility and maintainability, very suitable for Internet users to create their o

12、wn small and medium-sized BBS BBS! </p><p>  Keywords:BBS ,SSH(Struts ,Hibernate ,Spring),JAVA , SQL ,JSP</p><p><b>  目 錄</b></p><p>  摘要...............................

13、...................................................................................................2</p><p>  Abstract…………………………...………………...…………………………………..3</p><p>  目 錄…………….………………………………………………

14、…………………….4</p><p>  第一章系統(tǒng)概述……...…….…………………………………...……….…….……….6</p><p>  1.1總體概述……...………………………………………………………...……...6</p><p>  1.2開(kāi)發(fā)背景……………………………………………………....……..….….….7</p>&l

15、t;p>  1.3開(kāi)發(fā)目的……...……………………………………..…………………….…...8</p><p>  第二章系統(tǒng)分析……......…...……...……………...……….....……………..…………9</p><p>  2.1技術(shù)可行性分析……...………………………………………………………..9</p><p>  2.1.1開(kāi)發(fā)語(yǔ)言

16、綜述…………………………………………………………...9</p><p>  2.1.2 S.S.H框架優(yōu)點(diǎn)………………………………………………………... 10</p><p>  2.1.3系統(tǒng)層次設(shè)計(jì)………………………………………...…………………13</p><p>  2.1.4 技術(shù)可行性綜述……………………………………..………………...14<

17、;/p><p>  2.2時(shí)間可行性(項(xiàng)目開(kāi)發(fā)計(jì)劃)…………………………………………….…….14</p><p>  2.3系統(tǒng)需求分析…………………………………………………………...……..14</p><p>  2.3.1 系統(tǒng)開(kāi)發(fā)運(yùn)行環(huán)境………………………………………………..…...14</p><p>  2.3.2功能描述………

18、………………………………………………………...14</p><p>  2.3.3 數(shù)據(jù)流程……………………………………………………………….16</p><p>  第三章系統(tǒng)設(shè)計(jì)……………………………………………………………………….19</p><p>  3.1數(shù)據(jù)庫(kù)設(shè)計(jì)……………………….…………………………………………...19</p>

19、<p>  3.1.1概念模型設(shè)計(jì)(E-R圖)………………………………..………………..19</p><p>  3.1.2數(shù)據(jù)庫(kù)表及關(guān)系建立…………………………………..………………21</p><p>  3.1.3詳細(xì)數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)…………………………………..………………21</p><p>  3.2系統(tǒng)概要設(shè)計(jì)…………………………………………

20、….…….……………..24</p><p>  3.2.1功能模塊設(shè)計(jì)……………………………………………..……………24</p><p>  3.2.2系統(tǒng)界面設(shè)計(jì)……………………………………………..……………27</p><p>  3.2.3系統(tǒng)的組件設(shè)計(jì)…………………………………………..……………29</p><p>  第四章

21、系統(tǒng)實(shí)現(xiàn)……………………………………………………………………….32</p><p>  4.1系統(tǒng)框架實(shí)現(xiàn)…………………………………………………….…………...32</p><p>  4.1.1底層數(shù)據(jù)庫(kù)的建立……………………………………………………..32</p><p>  4.1.2持久化層的建立(hibernate)…………………………………………..

22、..33</p><p>  4.1.3業(yè)務(wù)邏輯層的建立……………………………………………………..33</p><p>  4.1.4表示層的建立………………………………………………………..…35</p><p>  4.2系統(tǒng)功能模塊實(shí)現(xiàn)…………………………………………..…………..…….35</p><p>  4.2.1會(huì)員模塊實(shí)

23、現(xiàn)…………………………………………………………...38</p><p>  4.2.2帖子模塊實(shí)現(xiàn)…………………………………………………………...40</p><p>  4.2.3后臺(tái)管理模塊實(shí)現(xiàn)……………………………………………………...43</p><p>  4.3系統(tǒng)設(shè)計(jì)總結(jié)………………………………………………...……………….44</p&g

24、t;<p>  第五章系統(tǒng)的調(diào)試與測(cè)試……………………………………………….……………45</p><p>  5.1測(cè)試概述……………………………………………………………………….45</p><p>  5.1.1軟件測(cè)試的目的………………………………………………………...45</p><p>  5.1.2軟件測(cè)試的任務(wù)………………………………

25、………………………...45</p><p>  5.1.3測(cè)試環(huán)境………………………………………………………………...46</p><p>  5.2單元測(cè)試…………………………………………………………..…..……… 46</p><p>  5.2.1黑盒測(cè)試………………………………………………………………...46</p><p>

26、  5.2.2白盒測(cè)試………………………………………………………………...47</p><p>  5.2.3模塊接口測(cè)試…………………………………………………………...48</p><p>  5.3集成測(cè)試…………………………………………………………..…..……….49</p><p>  5.3.1自頂向下集成…………………………………………………………

27、...49</p><p>  5.3.2確認(rèn)測(cè)試標(biāo)準(zhǔn)…………………………………………………………...49</p><p>  第六章結(jié)論………………………………………………………………….…………50</p><p>  致 謝………………………………………………………………………………………………51</p><p>  參考文獻(xiàn)……

28、………………………………………………………………….………51</p><p>  第 1 章 系統(tǒng)概述</p><p><b>  1.1總體概述</b></p><p>  進(jìn)入二十一世紀(jì),計(jì)算機(jī)技術(shù)迅速向著網(wǎng)絡(luò)化、集成化方向發(fā)展。傳統(tǒng)的單機(jī)版應(yīng)用軟件正在逐漸退出舞臺(tái),取而代之的是支持網(wǎng)絡(luò)、支持多種數(shù)據(jù)信息(多媒體)的新一代網(wǎng)絡(luò)版應(yīng)用軟件,

29、而目前網(wǎng)絡(luò)版軟件中似乎存在著兩種不同的趨勢(shì),一種是稱為客戶端——服務(wù)器的C/S結(jié)構(gòu),這類軟件具有結(jié)構(gòu)嚴(yán)謹(jǐn),運(yùn)行效率高,服務(wù)器端壓力小,安全性好等優(yōu)點(diǎn),被廣泛運(yùn)用于局域網(wǎng)中。而另一種,也是本畢業(yè)設(shè)計(jì)所采用的,是稱為瀏覽器——服務(wù)器的B/S結(jié)構(gòu),它的特點(diǎn)是在客戶端直接采用了功能強(qiáng)大的瀏覽器軟件作為界面,其優(yōu)點(diǎn)在于軟件開(kāi)發(fā)效率高,客戶端不受操作平臺(tái)的限制、也不受地域的限制,網(wǎng)絡(luò)傳輸量少,即適用于局域網(wǎng),更適用于Internet,而且投資小、見(jiàn)

30、效快,用戶可以不必進(jìn)行服務(wù)器方面的投資,而是去租用,甚至是免費(fèi)使用ISP的服務(wù)器資源,因而受到越來(lái)越多中小型單位的青睞。</p><p>  隨著Internet技術(shù)的不斷發(fā)展,以及用戶群爆炸性地增長(zhǎng),網(wǎng)絡(luò)不再僅僅是信息的被動(dòng)獲取來(lái)源,更成為人們探討間題、交換觀點(diǎn)的場(chǎng)所,其中,網(wǎng)上論壇扮演了極其重要的角色,隨著時(shí)間的推移,論壇站點(diǎn)中積存了豐富的信息資源,不但有各類技術(shù)資料和新聞文檔,還包含著用戶的判斷和評(píng)論,論壇

31、站點(diǎn)己成為Web信息庫(kù)的重要組成部分,自網(wǎng)上論壇誕生20多年以來(lái),隨著Web技術(shù)的發(fā)展,己經(jīng)由原來(lái)簡(jiǎn)單的電子公告板系統(tǒng)發(fā)展為功能豐富的網(wǎng)上論壇和虛擬社區(qū)模式。各種論壇隨著網(wǎng)絡(luò)迅速發(fā)展,幾乎充實(shí)著生活工作的每一個(gè)方面,無(wú)論是商界、政界,還是娛樂(lè)界,都有各種論壇?;ヂ?lián)網(wǎng)正在融入我們的生活,網(wǎng)絡(luò)提供給我們的不只是一個(gè)獲取信息的來(lái)源,而且還是一個(gè)可以相互交流的空間,網(wǎng)上論壇正是一種供人們進(jìn)行交流的網(wǎng)絡(luò)空間, 影響和改變著我們的生活。</p

32、><p><b>  1.2開(kāi)發(fā)背景</b></p><p>  1978年在美國(guó)芝加哥開(kāi)發(fā)出一套基于8080芯片的CBBS/Chicago (Computerized Bulletin Board System/Chicago),此乃最早的一套BBS系統(tǒng)。之后隨著蘋果機(jī)的問(wèn)世,開(kāi)發(fā)出基于蘋果機(jī)的Bulletin Board System和大眾信息系統(tǒng)(Peoples M

33、essage System)2種BBS系統(tǒng)。1981年IBM個(gè)人計(jì)算機(jī)誕生時(shí),并沒(méi)有自己的BBS系統(tǒng)。直到1982年,Buss Lane 才用Basic語(yǔ)言為IBM個(gè)人計(jì)算機(jī)編寫(xiě)了一個(gè)原型程序。其后經(jīng)過(guò)幾番增修,終于在1983年通過(guò)Capital PC User Group(CPCUG)的Communication Special Interest Group會(huì)員的努力,改寫(xiě)出了個(gè)人計(jì)算機(jī)系統(tǒng)的BBS。經(jīng)Thomas Mach整理后,終

34、于完成了個(gè)人計(jì)算機(jī)的第1版BBS系統(tǒng)——RBBS-PC。這套BBS系統(tǒng)的最大特色是其源程序全部公開(kāi),有利于日后的修改和維護(hù),因此后來(lái)在開(kāi)發(fā)其他的BBS系統(tǒng)時(shí)都以此為框架,所以RBBS-PC贏得了BBS鼻祖的美稱。</p><p>  大約是從1991年開(kāi)始,國(guó)內(nèi)開(kāi)始了第一個(gè)BBS站。經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展,直到1995年,隨著計(jì)算機(jī)及其外設(shè)的大幅降價(jià),BBS才逐漸被人們所認(rèn)識(shí)。1996年更是以驚人的速度發(fā)展起來(lái)。國(guó)內(nèi)的

35、BBS站,按其性質(zhì)劃分,可以分為2種:一種是商業(yè)BBS站,如新華龍訊網(wǎng);另一種是業(yè)余BBS站,如天堂資訊站。由于使用商業(yè)BBS站要交納一筆費(fèi)用,而商業(yè)站所能提供的服務(wù)與業(yè)余站相比,并沒(méi)有什么優(yōu)勢(shì),所以其用戶數(shù)量不多。多數(shù)業(yè)余BBS站的站長(zhǎng),基于個(gè)人關(guān)系,每天都互相交換電子郵件,漸漸地形成了一個(gè)全國(guó)性的電子郵件網(wǎng)絡(luò)China FidoNet(中國(guó)惠多網(wǎng))。于是,各地的用戶都可以通過(guò)本地的業(yè)余BBS站與遠(yuǎn)在異地的網(wǎng)友互通信息。這種跨地域電子

36、郵件交流正是商業(yè)站無(wú)法與業(yè)余站相抗衡的根本因素。由于業(yè)余BBS站擁有這種優(yōu)勢(shì),所以使用者都更樂(lè)意加入。這里“業(yè)余”2字,并不是代表這種類型的BBS站的服務(wù)和技術(shù)水平是業(yè)余的,而是指這類BBS站的性質(zhì)。一般BBS站都是由志愿者開(kāi)發(fā)的。他們付出的不僅是金錢,更多的是精力。其目的是為了推動(dòng)中國(guó)計(jì)算機(jī)網(wǎng)絡(luò)的健康發(fā)展,提高廣大計(jì)算機(jī)用戶的應(yīng)用水平</p><p>  國(guó)內(nèi)的BBS站,大多數(shù)還是大型綜合性BBS站。隨著計(jì)算機(jī)

37、的普及,特別是寬帶的普及,BBS的活動(dòng)將會(huì)進(jìn)一步高漲。但是,隨之而來(lái)對(duì)專注于領(lǐng)域方面的BBS將會(huì)慢慢增加需求。盡管BBS站臺(tái)的數(shù)量在不斷增長(zhǎng),但BBS的發(fā)展過(guò)程,也出現(xiàn)了一些問(wèn)題。由于國(guó)內(nèi)使用的BBS架站軟件,都是從國(guó)外引進(jìn)的,因此沒(méi)有必要的中文說(shuō)明。雖然一些熱心的站長(zhǎng)翻譯了一些資料,但是僅靠這些是遠(yuǎn)遠(yuǎn)不夠的。另外,有些站臺(tái)的設(shè)立是相互抄襲,所以在結(jié)構(gòu)上難免有雷同之處。 </p><p>  而國(guó)內(nèi)自己開(kāi)發(fā)的BB

38、S基本上都是處于最原始的JSP MODEL1模式, 這種模式是控制層與表示層合二為一,雖然開(kāi)發(fā)簡(jiǎn)單,但是擁有很差的擴(kuò)展性,可維護(hù)性,這樣極大的限制了BBS站點(diǎn)的擴(kuò)展,</p><p>  于是在這種情況下,本文提出了目前比較流行的,基于MVC模式的SSH框架(Sturts+Spring+hibernate)的BBS論壇,本套論壇的優(yōu)點(diǎn)在于它具有強(qiáng)大的可擴(kuò)展性和可維護(hù)性,非常適合網(wǎng)民創(chuàng)建自己的中小型BBS論壇!&l

39、t;/p><p><b>  1.3開(kāi)發(fā)目的</b></p><p>  當(dāng)今社會(huì)正處于網(wǎng)絡(luò)時(shí)代,信息化大潮席卷全球,網(wǎng)絡(luò)正也前所未有的速度在我國(guó)普及開(kāi)來(lái)。網(wǎng)站以其獨(dú)特的優(yōu)勢(shì)在信息化的過(guò)程中占有重要的一席。為了方便信息交流,在結(jié)合java和ssh技術(shù)之下開(kāi)發(fā)了這個(gè)快捷、界面友好的交流系統(tǒng),實(shí)現(xiàn)了一個(gè)功能相對(duì)齊全的論壇系統(tǒng),網(wǎng)友可以自由的提出問(wèn)題也及幫助他人解決問(wèn)題,或者交

40、流經(jīng)驗(yàn)。</p><p>  論壇在Struts + hibernate + spring擴(kuò)展Structs框架的基礎(chǔ)上,用今天主流的網(wǎng)站開(kāi)發(fā)技術(shù)jsp語(yǔ)言進(jìn)行開(kāi)發(fā)。論壇將采用B/S體系結(jié)構(gòu),人們通過(guò)瀏覽器就可也訪問(wèn)網(wǎng)站的主頁(yè),保證的服務(wù)器的安全。該論壇功能較全,在這里可以自由地發(fā)表自己的觀點(diǎn)和對(duì)論壇主題發(fā)表意見(jiàn),我們還可也對(duì)網(wǎng)友的問(wèn)題進(jìn)行及時(shí)的解決,獲取對(duì)自己有用的知識(shí),該論壇還有一個(gè)特殊功能,如在線人數(shù)顯示、

41、強(qiáng)大的搜索功能。本網(wǎng)站嚴(yán)格按照軟件項(xiàng)目開(kāi)發(fā)的流程進(jìn)行開(kāi)發(fā),對(duì)于網(wǎng)站開(kāi)發(fā)的可行性分析、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)以及對(duì)網(wǎng)站的測(cè)試與維護(hù)都有詳細(xì)的論述和實(shí)現(xiàn)過(guò)程。</p><p>  第 2 章 系統(tǒng)分析</p><p>  2.1技術(shù)可行性分析</p><p>  2.1.1 開(kāi)發(fā)語(yǔ)言綜述</p><p>  本系統(tǒng)是基于面向?qū)ο笏枷氲腏AV

42、A語(yǔ)言中J2EE平臺(tái)進(jìn)行編寫(xiě),J2EE平臺(tái)具有以下優(yōu)點(diǎn)</p><p>  1.簡(jiǎn)化結(jié)構(gòu):J2EE平臺(tái)支持簡(jiǎn)化的、基于組件開(kāi)發(fā)模型,由于J2EE基于Java編程語(yǔ)言和J2SE平臺(tái),它提供了編寫(xiě)一次,隨處運(yùn)行的可移植性,遵循J2EE標(biāo)準(zhǔn)的所有服務(wù)器都支持該模型。EJB組件使編寫(xiě)應(yīng)用程序更為簡(jiǎn)單。盡管EJB體系結(jié)構(gòu)復(fù)雜,但應(yīng)用程序開(kāi)發(fā)人員一般都必再編寫(xiě)訪問(wèn)系統(tǒng)服務(wù)的代碼,EJB容器會(huì)實(shí)現(xiàn)系統(tǒng)級(jí)的服務(wù),例如,事務(wù)、安

43、全性等。     另外,J2EE還支持異構(gòu)環(huán)境?;贘2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件或硬件,因此,設(shè)計(jì)合理的基于J2EE的程序只需開(kāi)發(fā)一次就可以部署到各種平臺(tái),這在典型的異構(gòu)企業(yè)算環(huán)境中是十分關(guān)鍵的。J2EE標(biāo)準(zhǔn)還允許客戶訂購(gòu)與J2EE兼容的第三方的現(xiàn)成組件,把其部署到異構(gòu)環(huán)境中,節(jié)省了由自己制訂整個(gè)方案所需的費(fèi)用。</p><p>  2. 提

44、高開(kāi)發(fā)效率:由于組件技術(shù)的使用,可以按照開(kāi)發(fā)人員的技能對(duì)應(yīng)用程序開(kāi)發(fā)進(jìn)行分工,并行開(kāi)發(fā),提供整體開(kāi)發(fā)效率。例如:圖形設(shè)計(jì)師創(chuàng)建JSP模板,商業(yè)邏輯由該領(lǐng)域的專家完成,JSP頁(yè)面和EJB由Java工程師完成,應(yīng)用程序的裝配和部署由團(tuán)隊(duì)中其他的成員完成,其中許多工作可以同時(shí)進(jìn)行,有助于加速應(yīng)用程序的開(kāi)發(fā)。</p><p>  3.可移植性強(qiáng):除了Java語(yǔ)言固有的可移植性外,EJB體系結(jié)構(gòu)在Bean和支持該Bean的

45、容器之間提供了一套標(biāo)準(zhǔn)化的應(yīng)用程序編程接口,這使開(kāi)發(fā)人員能夠?qū)ean從一種操作環(huán)境移植到另一種操作環(huán)境,而無(wú)需重新編寫(xiě)其源代碼。</p><p>  4.重用性好:由于在EJB模型中,各個(gè)軟件組件都是嚴(yán)格分離的,因此,可以從現(xiàn)有的軟件組件裝配出服務(wù)器端應(yīng)用程序,這與從現(xiàn)有的JavaBean可以裝配出客戶端應(yīng)用程序一樣,使軟件能夠重用。</p><p>  5.易于維護(hù):基于組件的設(shè)計(jì)簡(jiǎn)化

46、了應(yīng)用程序的維護(hù)。由于組件可以被獨(dú)立地更新和替代,通過(guò)更新應(yīng)用程序中特定的組件,新的功能可以被很容易地增加。</p><p>  6.可伸縮性:企業(yè)必須要選擇一種服務(wù)器端平臺(tái),以便滿足那些在它們系統(tǒng)上進(jìn)行商業(yè)動(dòng)作大批新客戶?;贘2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上,例如,可被部署到高端UNIX或其他的大型機(jī)系統(tǒng)上。J2EE領(lǐng)域的供應(yīng)商提供了更為廣泛的負(fù)載平衡策略,能消除系統(tǒng)中的瓶頸,允許多臺(tái)服務(wù)器集成部

47、署,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿足未來(lái)商業(yè)應(yīng)用的需要。</p><p>  7.被廣泛接受:主要的IT供應(yīng)用商都采納EJB體系結(jié)構(gòu),不同供應(yīng)商的產(chǎn)品只要符合EJB體系結(jié)構(gòu),就都是可互操作的。</p><p>  2.1.2 S.S.H框架的優(yōu)點(diǎn)</p><p>  S.S.H框架是J2EE應(yīng)用中struts+spring+hibernate三大免費(fèi)開(kāi)源框架的結(jié)合使用,

48、它可以看成工具,也是中間件。他是用來(lái)提高我們的開(kāi)發(fā)效率,提高我們軟件產(chǎn)品的可維護(hù)性、可擴(kuò)展性乃至敏捷性的。他們里面有很多優(yōu)秀的設(shè)計(jì)理念及模式應(yīng)用。比如,struts屬于MVC框架,關(guān)鍵是要了解MVC的概念及大致原理;而hibernate屬于ORM系統(tǒng),屬于持久層的解決方案,同樣需要對(duì)ORM的概念及原理有一個(gè)總體的了解。而spring屬于應(yīng)用程序框架,其核心是IOC容器以及AOP,Spring中還集成了很多適用東西,比如對(duì)JDBC的封裝、

49、自己的MVC、對(duì)動(dòng)態(tài)語(yǔ)言的簡(jiǎn)潔訪問(wèn)等,</p><p>  它由以下3個(gè)框架構(gòu)成:</p><p>  1.Struts框架</p><p>  Struts是Apache組織的一個(gè)開(kāi)放源碼項(xiàng)目。Struts是一個(gè)比較好的MVC框架,提供了對(duì)開(kāi)發(fā)MVC系統(tǒng)的底層支持,它采用的主要技術(shù)是Servlet,JSP和Custom tag library。其基本構(gòu)成如圖2.1

50、所示。</p><p>  圖2.1 Struts框架工作流程</p><p>  2.Spring框架</p><p>  Spring 的核心是個(gè)輕量級(jí)(Lightweight)的容器(Container),它是實(shí)現(xiàn)IoC(Inversion of Control)容器、非侵入性(No intrusive)的框架,并提供AOP(Aspect-oriented p

51、rogramming)概念的實(shí)現(xiàn)方式,提供對(duì)持久層(Persistence)、事務(wù)(Transaction)的支持,提供MVC Web 框架的實(shí)現(xiàn),并對(duì)一些常用的企業(yè)服務(wù)API(Application Interface)提供一致的模型封裝,是一個(gè)全方位的應(yīng)用程序框架(Application framework),除此之外,對(duì)于現(xiàn)存的各種框架(Struts、JSF、Hibernate 等),Spring 也提供了與它們相整合的方案。&l

52、t;/p><p>  Spring框架由以下7個(gè)部分組成</p><p>  圖2.2 Spring框架構(gòu)成</p><p>  3.Hibernate框架</p><p>  Hibernate 是一個(gè)開(kāi)放源碼的 ORM 持久層框架。作為優(yōu)秀的持久層框架實(shí)現(xiàn),Hibernate 框架提供了強(qiáng)大、高性能的對(duì)象到關(guān)系型數(shù)據(jù)庫(kù)的持久化服務(wù),開(kāi)發(fā)人員可

53、以使用面向?qū)ο蟮脑O(shè)計(jì)進(jìn)行持久層開(kāi)發(fā)。簡(jiǎn)單的說(shuō),Hibernate 只是一個(gè)將持久化類與數(shù)據(jù)庫(kù)表相映射的工具,每個(gè)持久化類實(shí)例均對(duì)應(yīng)于數(shù)據(jù)庫(kù)表中的一個(gè)數(shù)據(jù)行而已。用戶只需直接使用面向?qū)ο蟮姆椒ú僮鞔顺志没悓?shí)例,即可完成對(duì)數(shù)據(jù)庫(kù)表數(shù)據(jù)的插入、刪除、修改、讀取等操作。</p><p>  圖2.3 Hibernate框架</p><p>  2.1.3 系統(tǒng)層次設(shè)計(jì)</p>&l

54、t;p>  系統(tǒng)很據(jù)S.S.H框架的特點(diǎn),決定使用四層結(jié)構(gòu),這樣做的優(yōu)點(diǎn)是</p><p>  (1)可以分層開(kāi)發(fā),訪問(wèn)數(shù)據(jù)庫(kù)與業(yè)務(wù)邏輯實(shí)現(xiàn)能夠分開(kāi)。</p><p>  (2)提高代碼的復(fù)用</p><p>  圖2.4 BBS系統(tǒng)的分層結(jié)構(gòu)</p><p>  2.1.4 技術(shù)可行性綜述</p><p>  

55、綜上所述,這些成熟的框架和優(yōu)秀的設(shè)計(jì)思想,為系統(tǒng)建設(shè)提供了技術(shù)條件。計(jì)算機(jī)等基礎(chǔ)設(shè)施的更新?lián)Q代也緊跟潮流的發(fā)展,這就為開(kāi)發(fā)系統(tǒng)提供了堅(jiān)實(shí)基礎(chǔ)。</p><p>  2.2時(shí)間可行性(項(xiàng)目開(kāi)發(fā)計(jì)劃)</p><p>  本系統(tǒng)的難點(diǎn)在于三大框架的結(jié)合使用,但目前有很多優(yōu)秀的書(shū)籍可供參閱,且參加過(guò)類似項(xiàng)目的開(kāi)發(fā),預(yù)計(jì)本系統(tǒng)在規(guī)定時(shí)間內(nèi),基本能夠完成.</p><p>&

56、lt;b>  開(kāi)發(fā)計(jì)劃如下:</b></p><p>  11年12月—12年4月 收集技術(shù)資料,進(jìn)行技術(shù)儲(chǔ)備,完成開(kāi)題報(bào)告</p><p>  12年4月—12年5月 根據(jù)項(xiàng)目要求進(jìn)行bbs設(shè)計(jì),測(cè)試bbs各個(gè)功能模塊</p><p>  12年5月 完成bbs,打包,發(fā)布,撰寫(xiě)畢業(yè)論文,答辯。</p><p>  

57、2.3 系統(tǒng)需求分析</p><p>  2.3.1 系統(tǒng)開(kāi)發(fā)運(yùn)行環(huán)境</p><p>  鑒于系統(tǒng)的開(kāi)發(fā)語(yǔ)言和數(shù)據(jù)庫(kù),采用如下的開(kāi)發(fā)環(huán)境</p><p>  開(kāi)發(fā)環(huán)境: Windows xp TomCat6.8 JDK1.6</p><p>  硬件實(shí)現(xiàn): PentiumⅣ2.4G 2G內(nèi)存 500G硬盤</p><

58、p>  開(kāi)發(fā)語(yǔ)言: Java</p><p>  數(shù) 據(jù) 庫(kù): SQL</p><p>  開(kāi)發(fā)工具: NetBeans7.1 </p><p>  預(yù)期成果: 一個(gè)可擴(kuò)展的基于MVC模式的 BBS論壇</p><p>  2.3.2 功能描述</p><p>  對(duì)于訪問(wèn)論壇的用戶,可分為注冊(cè)會(huì)員和為注冊(cè)

59、的臨時(shí)用戶,這兩種用戶有著不同的權(quán)限,比如臨時(shí)用戶只能對(duì)帖子進(jìn)行查看,而注冊(cè)會(huì)員除了查看帖子之外,還可以發(fā)帖,回復(fù),查找用戶,并且可以對(duì)自己的注冊(cè)資料進(jìn)行修改等等,</p><p><b>  系統(tǒng)的用例圖如下:</b></p><p>  圖2.5 系統(tǒng)用例圖</p><p>  本系統(tǒng)是一套網(wǎng)上交流的BBS軟件,根據(jù)用戶的需要和實(shí)際的管理?xiàng)l

60、件,應(yīng)由用戶功能實(shí)現(xiàn),帖子功能實(shí)現(xiàn)和后臺(tái)管理等幾個(gè)模塊所構(gòu)成,用戶可以對(duì)一些數(shù)據(jù)進(jìn)行查找和修改,并且注冊(cè)的用戶可以對(duì)帖子進(jìn)行特定的操作,而管理員可以對(duì)用戶和帖子進(jìn)行相關(guān)的管理.</p><p>  鑒于本系統(tǒng)的性質(zhì),系統(tǒng)應(yīng)該實(shí)現(xiàn)以下功能.</p><p><b>  1.用戶功能實(shí)現(xiàn)</b></p><p><b>  (1).用戶的

61、登錄</b></p><p><b>  (2).用戶的注冊(cè)</b></p><p><b>  (3).用戶的查找</b></p><p>  (4).用戶資料的修改</p><p><b>  2.帖子功能實(shí)現(xiàn)</b></p><p>&

62、lt;b>  (1).帖子的發(fā)表</b></p><p><b>  (2).帖子的回復(fù)</b></p><p><b>  (3).帖子的查找</b></p><p><b>  3.后臺(tái)管理</b></p><p><b>  (1).用戶的管理

63、</b></p><p><b>  (2).帖子的管理</b></p><p>  (3).論壇信息的管理</p><p><b>  (4).圖片的管理</b></p><p>  2.3.3 數(shù)據(jù)流程</p><p>  本系統(tǒng)是為了提供給廣大用戶一個(gè)網(wǎng)上交

64、流的平臺(tái),所以論壇的流程是以用戶為中心進(jìn)行的.</p><p>  數(shù)據(jù)流圖是一種能全面地描述信息系統(tǒng)邏輯模型的主要工具,它可以用少數(shù)幾種符號(hào)綜合地反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲(chǔ)情況。數(shù)據(jù)流圖具有以下兩個(gè)特性:</p><p>  (1)抽象性:表現(xiàn)在它完全舍去了具體的物質(zhì),只剩下數(shù)據(jù)的流動(dòng)、加工處理與存儲(chǔ)。</p><p>  (2)概括性:表現(xiàn)在它可以把信

65、息中的各種不同業(yè)務(wù)處理過(guò)程聯(lián)系起來(lái),形成一個(gè)整體。</p><p>  數(shù)據(jù)流圖由以下四種基本元素組成,既外部實(shí)體、數(shù)據(jù)流、處理(功能)、數(shù)據(jù)存儲(chǔ)等,數(shù)據(jù)流圖中所用的符號(hào)如下:</p><p>  外部實(shí)體 處理 數(shù)據(jù)流 數(shù)據(jù)存儲(chǔ)</p><p>  BBS論壇系統(tǒng)的數(shù)據(jù)流程圖如下</p><p>

66、;  說(shuō)明:⑴——訪問(wèn)信息,⑵⑶⑽⑾——用戶信息,⑷——發(fā)表帖子信息,⑸更新帖子信息,⑹搜索信息</p><p>  ⑺——獲取帖子信息,⑻回復(fù)信息,⑼搜索用戶,⑿更新用戶信息,⒀獲取用戶資料</p><p>  圖2.6 數(shù)據(jù)流程圖</p><p><b>  第 3 章系統(tǒng)設(shè)計(jì)</b></p><p><b&g

67、t;  3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求).</p><p><b>  數(shù)據(jù)庫(kù)和設(shè)計(jì)概述</b></p><p>  (1)數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ),把信息系統(tǒng)中

68、大量的數(shù)據(jù)按一定的模型組織起來(lái),提供存儲(chǔ)、維護(hù)、檢索數(shù)據(jù)的功能,使信息系統(tǒng)可以方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲得所需的信息?! ?2)數(shù)據(jù)庫(kù)是信息系統(tǒng)的各個(gè)部分能否緊密地結(jié)合在一起以及如何結(jié)合的關(guān)鍵所在?! ?3)數(shù)據(jù)庫(kù)設(shè)計(jì)是信息系統(tǒng)開(kāi)發(fā)和建設(shè)的重要組成部分。</p><p>  3.1.1概念模型設(shè)計(jì)(E-R圖)</p><p>  數(shù)據(jù)模型是是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的

69、靜態(tài)特征、動(dòng)態(tài)行為和約束條件,為數(shù)據(jù)庫(kù)系統(tǒng)的信息表與操作提供一個(gè)抽象的框架。描述了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束。</p><p>  E-R模型的基本概念 </p><p>  ER圖概念化地構(gòu)建實(shí)體間關(guān)系的模型,這使得它們區(qū)別于數(shù)據(jù)庫(kù)模型圖。ER圖的理念是:項(xiàng)目所有參與者能理解ER圖。ER圖由不同實(shí)體類型、關(guān)系、特性和類型構(gòu)成。實(shí)體是諸如用戶的實(shí)際對(duì)象,有時(shí)更抽象,但必須有業(yè)務(wù)意義。特性

70、用于描述實(shí)體,關(guān)系用于實(shí)體之間(1)實(shí)體:現(xiàn)實(shí)世界中的事物; (2)屬性:事物的特性; (3)聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系。實(shí)體集的關(guān)系有一對(duì)一、一對(duì)多、多對(duì)多的聯(lián)系。</p><p><b>  本系統(tǒng)的ER圖</b></p><p>  圖3.1 系統(tǒng)E-R圖</p><p>  3.1.2數(shù)據(jù)庫(kù)表及關(guān)系建立</p>&

71、lt;p>  根據(jù)以上這些步驟就可以創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),依次建立下列表結(jié)構(gòu).</p><p><b>  1.用戶基本資料表</b></p><p><b>  2.用戶詳細(xì)信息表</b></p><p><b>  3.論壇文章表</b></p><p><b>

72、  4.論壇版區(qū)表 </b></p><p>  5.論壇初始化信息表 </p><p>  (1).用戶基本信息表 和用戶詳細(xì)信息表是一對(duì)一的關(guān)系,一個(gè)用戶只對(duì)應(yīng)一個(gè)詳細(xì)的信息表</p><p>  (2).用戶基本信息表和文章表是一對(duì)多的關(guān)系,即一個(gè)用戶可以發(fā)表多篇文章和回復(fù).</p><p>  (3).論壇版區(qū)表和論

73、壇文章表是一對(duì)多的關(guān)系,在一個(gè)論壇中可以含有多個(gè)文章和回復(fù).</p><p>  3.1.3詳細(xì)數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)</p><p>  (1).用戶基本資料表:</p><p>  用戶基本資料表中存放的是用戶登陸時(shí)所需要或者記錄用戶的基本信息,包含比如登陸名,密碼,最后登陸時(shí)間等.用戶基本信息表的建立主要是記錄用戶最常用的一些信息.</p><p&

74、gt;<b>  表3.1用戶信息表</b></p><p>  (2).用戶詳細(xì)信息表:</p><p>  用戶詳細(xì)信息表中存放的是用戶的身高,體重,聯(lián)系方式等詳細(xì)資料,建立此表的目的是把一些用戶不經(jīng)常用到的詳細(xì)信息,單獨(dú)存放到一張表中,可以節(jié)約系統(tǒng)的資源.</p><p>  表3.2 用戶基本資料表</p><p&g

75、t;  (3).論壇文章表:</p><p>  論壇文章表存放的是用戶所發(fā)表的文章信息,也包括回復(fù)信息.而在數(shù)據(jù)庫(kù)的設(shè)計(jì)中主要問(wèn)題是鑒別帖子信息和回復(fù)信息.</p><p>  表3.3 用戶詳細(xì)信息表</p><p>  (4).論壇版區(qū)表:</p><p>  論壇版區(qū)表是存放的是論壇中版塊信息.而論壇也劃分為父論壇和子論壇,區(qū)分他們也

76、靠表中的某個(gè)字段來(lái)實(shí)現(xiàn)的.具體實(shí)際的設(shè)計(jì)如下.</p><p>  表3.4 論壇文章表</p><p>  3.2 系統(tǒng)概要設(shè)計(jì)</p><p>  根據(jù)需求分析的結(jié)果,對(duì)系統(tǒng)進(jìn)行詳細(xì)的概要設(shè)計(jì)</p><p>  3.2.1功能模塊設(shè)計(jì)</p><p>  繪制出的用例圖,將本系統(tǒng)分為三個(gè)大的模塊,他們分別是會(huì)員資

77、料模塊,帖子資料模塊和后臺(tái)管理模塊!本系統(tǒng)的功能層次圖如圖3.2.1所示</p><p>  圖3.2.1系統(tǒng)功能層次圖</p><p>  如圖3.2.1,leafbbs系統(tǒng)實(shí)現(xiàn)了如下的功能.</p><p><b>  (1).會(huì)員模塊:</b></p><p>  此模塊用來(lái)實(shí)現(xiàn)會(huì)員的登陸注冊(cè)和會(huì)員資料的修改和查找

78、.</p><p><b>  1.會(huì)員登陸模塊:</b></p><p>  會(huì)員可以通過(guò)此模塊對(duì)論壇進(jìn)行登陸,登陸后便可以使用所有的會(huì)員功能,比如發(fā)帖回復(fù)等等.</p><p><b>  2.會(huì)員注冊(cè)模塊:</b></p><p>  沒(méi)有會(huì)員帳號(hào)的用戶,可以通過(guò)此模塊添加會(huì)員信息,添加成功后

79、便可登陸論壇,使用會(huì)員功能.</p><p><b>  3.資料修改模塊:</b></p><p>  已注冊(cè)的會(huì)員在登陸后,可以通過(guò)此模塊,對(duì)會(huì)員的基本資料,聯(lián)系方式,密碼,頭像等資料進(jìn)行修改.</p><p><b>  4.會(huì)員查找模塊:</b></p><p>  已注冊(cè)的會(huì)員在登陸后,

80、可以通過(guò)此模塊,對(duì)會(huì)員進(jìn)行查找,并可以查看對(duì)方的資料,聯(lián)系方式等等,從而方便會(huì)員之間的聯(lián)系.</p><p><b>  (2).帖子模塊:</b></p><p><b>  1.帖子發(fā)表模塊:</b></p><p>  已注冊(cè)的會(huì)員在登陸后,可以在相應(yīng)的論壇中,發(fā)表或轉(zhuǎn)載自己的大作,發(fā)表成功后,其他會(huì)員便可以在相應(yīng)的

81、論壇中看到這篇帖子,并可以對(duì)其進(jìn)行回復(fù)等操作.</p><p><b>  2.帖子回復(fù)模塊:</b></p><p>  會(huì)員在發(fā)表完帖子后,用戶便可查看相關(guān)文章,并可以在文章中對(duì)已發(fā)表的帖子進(jìn)行回復(fù),</p><p><b>  3.帖子查找模塊</b></p><p>  會(huì)員可以通過(guò)此模塊,

82、根據(jù)帖子的標(biāo)題和作者,對(duì)相關(guān)的帖子進(jìn)行查找.</p><p><b>  (3).后臺(tái)管理:</b></p><p><b>  1.帖子查找模塊:</b></p><p>  此模塊和帖子模塊中的帖子查找類似,只是管理員的搜索條件比普通用戶更加的廣泛,使搜索變的便捷.</p><p><b&

83、gt;  2.帖子管理模塊:</b></p><p>  帖子管理模塊是管理員對(duì)帖子管理的平臺(tái),如果管理員查看到帖子有不適宜發(fā)表的內(nèi)容時(shí),可以對(duì)帖子選擇刪除或者鎖定等操作,如果看到優(yōu)秀的帖子,還可以將帖子進(jìn)行置頂,加精,</p><p>  圖3.3帖子管理模塊功能層次圖</p><p><b>  3.會(huì)員管理模塊:</b><

84、;/p><p>  管理員可以通過(guò)此模塊,對(duì)會(huì)員進(jìn)行管理,對(duì)一些不法的用戶可以修改或者刪除資料,</p><p><b>  4.論壇管理模塊.</b></p><p>  管理員對(duì)論壇的添加,創(chuàng)建,刪除等功能都是在此模塊里進(jìn)行處理.</p><p><b>  5.圖片管理模塊</b></p&g

85、t;<p>  管理員可以管理用戶上傳的頭像,和在文章里發(fā)表的圖片,從而加強(qiáng)對(duì)圖片的控制</p><p>  3.2.2系統(tǒng)界面設(shè)計(jì)</p><p>  對(duì)于系統(tǒng)來(lái)說(shuō),用戶界面設(shè)計(jì)將非常重要,因?yàn)橐粋€(gè)交互良好的界面能夠加深瀏覽者的印象.</p><p>  設(shè)計(jì)的實(shí)現(xiàn)可以分為兩個(gè)部分。第一部分為站點(diǎn)的規(guī)劃及草圖的繪制,這一部分可以在紙上完成。第二部分為

86、網(wǎng)頁(yè)的制作,這一過(guò)程是在計(jì)算機(jī)上完成的.</p><p>  設(shè)計(jì)首頁(yè)的第一步是設(shè)計(jì)版面布局。我們可以將網(wǎng)頁(yè)看作傳統(tǒng)的報(bào)刊雜志來(lái)編輯,這里面有文字、圖像乃至動(dòng)畫(huà),我們要做的工作就是以最適合的方式將圖片和文字排放在頁(yè)面的不同位置。 除了要有一臺(tái)配置不錯(cuò)的計(jì)算機(jī)外,軟件也是必需的。不能簡(jiǎn)單地說(shuō)一個(gè)軟件的好壞,只要是設(shè)計(jì)者使用起來(lái)覺(jué)得方便而且能得心應(yīng)手的,就可以稱為好軟件。當(dāng)然,它應(yīng)該能滿足設(shè)計(jì)者的要求。常用的軟件是M

87、acromedia的Dreamweaver以及Adobe的Photoshop。</p><p>  設(shè)計(jì)是有原則的,無(wú)論使用何種手法對(duì)畫(huà)面中的元素進(jìn)行組合,都一定要遵循五個(gè)大的原則:統(tǒng)一、連貫、分割、對(duì)比及和諧。</p><p>  統(tǒng)一,是指設(shè)計(jì)作品的整體性,一致性。設(shè)計(jì)作品的整體效果是至關(guān)重要的,在設(shè)計(jì)中切勿將各組成部分孤立分散,那樣會(huì)使畫(huà)面呈現(xiàn)出一種枝蔓紛雜的凌亂效果。</p&

88、gt;<p>  連貫,是指要注意頁(yè)面的相互關(guān)系。設(shè)計(jì)中應(yīng)利用各組成部分在內(nèi)容上的內(nèi)在聯(lián)系和表現(xiàn)形式上的相互呼應(yīng),并注意整個(gè)頁(yè)面設(shè)計(jì)風(fēng)格的一致性,實(shí)現(xiàn)視覺(jué)上和心理上的連貫,使整個(gè)頁(yè)面設(shè)計(jì)的各個(gè)部分極為融洽,猶如一氣呵成。</p><p>  分割,是指將頁(yè)面分成若干小塊,小塊之間有視覺(jué)上的不同,這樣可以使觀者一目了然。在信息量很多時(shí)為使觀者能夠看清楚,就要注意到將畫(huà)面進(jìn)行有效的分割。分割不僅是表現(xiàn)形

89、式的需要。換個(gè)角度來(lái)講,分割也可以被視為對(duì)于頁(yè)面內(nèi)容的一種分類歸納。</p><p>  對(duì)比就是通過(guò)矛盾和沖突,使設(shè)計(jì)更加富有生氣。對(duì)比手法很多,例如:多與少、曲與直、強(qiáng)與弱、長(zhǎng)與短、粗與細(xì)、疏與密、虛與實(shí)、主與次、黑與白、動(dòng)與靜、美與丑、聚與散等等。在使用對(duì)比的時(shí)候應(yīng)慎重,對(duì)比過(guò)強(qiáng)容易破壞美感,影響統(tǒng)一。</p><p>  和諧是指整個(gè)頁(yè)面符合美的法則,渾然一體。如果一件設(shè)計(jì)作品僅僅

90、是色彩、形狀、線條等的隨意混合,那么作品將不但沒(méi)有“生命感”,而且也根本無(wú)法實(shí)現(xiàn)視覺(jué)設(shè)計(jì)的傳達(dá)功能。和諧不僅要看結(jié)構(gòu)形式,而且要看作品所形成的視覺(jué)效果能否與人的視覺(jué)感受形成一種溝通,產(chǎn)生心靈的共鳴。這是設(shè)計(jì)能否成功的關(guān)鍵。</p><p>  最后簡(jiǎn)單設(shè)計(jì)系統(tǒng)的簡(jiǎn)單登陸界面和主界面</p><p>  圖3.4用戶登陸界面</p><p>  圖3.5用戶登陸后的主

91、界面</p><p>  3.2.3系統(tǒng)的組件設(shè)計(jì)</p><p>  在整個(gè)系統(tǒng)中,為了解決諸如中文顯示亂碼此類的問(wèn)題,本系統(tǒng)需要設(shè)計(jì)一些組件,來(lái)解決相關(guān)的問(wèn)題.</p><p>  (1).過(guò)濾器組件:</p><p>  Java的內(nèi)核和class文件是基于unicode的,這使Java程序具有良好的跨平臺(tái)性,但也帶來(lái)了一些中文亂碼問(wèn)題

92、的麻煩。原因主要有兩方面,Java和JSP文件本身編譯時(shí)產(chǎn)生的亂碼問(wèn)題和Java程序于其他媒介交互產(chǎn)生的亂碼問(wèn)題。</p><p>  Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保存方式是基于字節(jié)流的,如果Java和JSP編譯成class文件過(guò)程中,使用的編碼方式與源文件的編碼不一致,就會(huì)出現(xiàn)亂碼</p><p>  為了解決此類問(wèn)題,需要設(shè)計(jì)一個(gè)組件來(lái)解決

93、此類問(wèn)題,每次請(qǐng)求和響應(yīng)到達(dá)客戶和服務(wù)器端時(shí),都先經(jīng)過(guò)此過(guò)濾器對(duì)字符進(jìn)行過(guò)濾.</p><p>  圖3.6字符過(guò)濾器原理圖</p><p>  (2).權(quán)限管理組件:</p><p>  在論壇中的的用戶一定會(huì)遇到關(guān)于權(quán)限的問(wèn)題,比如沒(méi)有登陸的用戶只可以查看帖子,而即使登陸的用戶,也只可以對(duì)自己應(yīng)有的權(quán)限進(jìn)行操作,不可以操作管理員的功能.</p>&

94、lt;p>  解決此類問(wèn)題,本系統(tǒng)是通過(guò)判斷特定的session來(lái)判斷用戶的權(quán)限,當(dāng)用戶登陸成功后,組件會(huì)發(fā)送相應(yīng)的用戶session,之后每次用戶對(duì)論壇進(jìn)行操作,都要先通過(guò)session,來(lái)判斷用戶的權(quán)限.</p><p>  圖3.7權(quán)限判斷流程</p><p>  (3).JSP標(biāo)簽組件</p><p>  由于本文是基于MVC模式架構(gòu),所以在JSP網(wǎng)頁(yè)

95、中不應(yīng)存放過(guò)多的邏輯判斷,當(dāng)本系統(tǒng)JSP網(wǎng)頁(yè)中必須存有JAVA邏輯代碼時(shí),本系統(tǒng)設(shè)計(jì)了一些JSP標(biāo)簽來(lái)替代這些邏輯代碼</p><p>  第 4 章 系統(tǒng)實(shí)現(xiàn)</p><p>  程序設(shè)計(jì)又稱編碼,是系統(tǒng)生命周期中繼詳細(xì)設(shè)計(jì)之后的階段,這個(gè)階段的任務(wù)是使用選定的程序設(shè)計(jì)語(yǔ)言,把經(jīng)過(guò)概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)所得到的以程序設(shè)計(jì)說(shuō)明書(shū)體現(xiàn)的信息處理過(guò)程描述后,轉(zhuǎn)換成能在計(jì)算機(jī)系統(tǒng)上運(yùn)行的程序源代碼。

96、</p><p>  4.1 系統(tǒng)框架實(shí)現(xiàn)</p><p>  在系統(tǒng)的整體設(shè)計(jì)中,我們采取了三層結(jié)構(gòu).這樣結(jié)構(gòu)的優(yōu)點(diǎn)是靈活,移植和可維護(hù)性比較高. 每個(gè)層在處理程序上都應(yīng)該有一項(xiàng)明確的責(zé)任, 而不應(yīng)該在功能上與其它層混合,并且每個(gè)層要與其它層分開(kāi)的</p><p>  圖4.1 S.S.H框架的結(jié)合使用</p><p>  4.1.1底層數(shù)

97、據(jù)庫(kù)的建立</p><p>  在前期的數(shù)據(jù)庫(kù)選用中,本系統(tǒng)選取了靈活高速的 MySQL數(shù)據(jù)庫(kù),而在數(shù)據(jù)庫(kù)的設(shè)計(jì)中,本文已經(jīng)確立了表結(jié)構(gòu). 根據(jù)這些就可以創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),在數(shù)據(jù)庫(kù)創(chuàng)建并連接好后,就可以創(chuàng)建表、修改表和刪除表,創(chuàng)建、修改、和刪除主鍵、外鍵等等。選中“l(fā)eafbbs”數(shù)據(jù)庫(kù),use database并使用Create table<表名>Sql語(yǔ)句,依次創(chuàng)建以下表結(jié)構(gòu)。由于考慮到本系統(tǒng)是應(yīng)用

98、在單機(jī)系統(tǒng)上,另外根據(jù)管理的規(guī)模,我們只建立一個(gè)數(shù)據(jù)庫(kù),在此數(shù)據(jù)庫(kù)基礎(chǔ)上建立</p><p>  bbs_userinfo 用戶基本資料表</p><p>  bbs_userdeta 用戶詳細(xì)信息表</p><p>  bbs_forum 論壇文章表</p><p>  bbs_board

99、 論壇版區(qū)表 </p><p>  bbs_config 論壇初始化信息表 </p><p>  4.1.2持久化層的建立(hibernate)</p><p>  典型的Web應(yīng)用的另一個(gè)末端是持久層。Hibernate為java提供了OR持久化機(jī)制和查詢服務(wù), 它還給已經(jīng)熟悉SQL和JDBC API 的Java開(kāi)發(fā)

100、者一個(gè)學(xué)習(xí)橋梁,他們學(xué)習(xí)起來(lái)很方便。 Hibernate的持久對(duì)象是基于POJO和Java collections。此外。 系統(tǒng)建立Hibernate的持久層 。 首先把BO持久化。 Hibernate是通過(guò)POJO工作的, 因此數(shù)據(jù)對(duì)象需要給所有的fileds 加上getter,setter方法。 Hibernate通過(guò)XML文件來(lái)映射(OR)對(duì)象。 本系統(tǒng)可以在com.leafbbs.bean目錄下找到這些xml文件

101、。Hibernate配置文件的作用用來(lái)告訴程序 應(yīng)該與哪個(gè)數(shù)據(jù)庫(kù)通信,該使用哪個(gè)連接池或使用了DataSource, 應(yīng)該加載哪些持久對(duì)象。而Session接口是用來(lái)完成Selecting,Saving,Delete和Updating這些操作。</p><p>  4.1.3業(yè)務(wù)邏輯層的建立</p><p>  本系統(tǒng)的業(yè)務(wù)邏輯是交由struts中的Action進(jìn)行判斷的,比如判斷登陸的業(yè)

102、務(wù)邏輯時(shí),會(huì)建立一個(gè)LoginAction類來(lái)進(jìn)行邏輯判斷,而一些關(guān)聯(lián)的映射,LeafBBS系統(tǒng)是寫(xiě)在struts框架的struts-config.xml中.</p><p>  從編碼的視角來(lái)看,這層是最容易被忽視的一層。 卻往往在持久層周圍看到這些業(yè)務(wù)處理的代碼,這其實(shí)是不正確的,因?yàn)樗鼘?dǎo)致了程序代碼的緊密偶合,這樣一來(lái),隨著時(shí)間推移這些代碼很難維護(hù)。幸好,針對(duì)這一問(wèn)題本系統(tǒng)可以使用Spring框架來(lái)解決.s

103、pring框架都著手于“依賴注射”(dependency injection)(還有我們知道的‘控制反轉(zhuǎn)'Inversion of Control=IoC)這樣的簡(jiǎn)單概念。Spring還提供了Setter Injection(type2),Constructor Injection(type3)等方式供選擇。 Spring把程序中所涉及到包含業(yè)務(wù)邏輯和Dao的Objects——例如transaction management h

104、andler(事物管理控制)、Object Factoris(對(duì)象工廠)、service objects(服務(wù)組件)——都通過(guò)XML來(lái)配置聯(lián)系起來(lái)。這種方式讓你的對(duì)象從創(chuàng)建中釋放了出來(lái),降低了偶合度.</p><p>  每個(gè)對(duì)象都可以在Spring 配置信息applicationContext.xml中用<bean>標(biāo)簽引用。在這里,mySessionFactory引用了HibernateSessi

105、onFactory,而myTransactionManager引用了HibernateTransactionManage。 代碼中myTransactionManger Bean有個(gè)sessionFactory屬性。 HibernateTransactionManager有個(gè)sessionFactory setter 和 getter方法,這是用來(lái)在Spring啟動(dòng)的時(shí)候?qū)崿F(xiàn)"依賴注入" (dependency in

106、jection)的。 在sessionFactory 屬性里 引用mySessionFactory。這兩個(gè)對(duì)象在Spring容器初始化后就被組裝了起來(lái)了。 這樣的搭配讓你從 單例(singleton objects)和工廠(factories)中解放了出來(lái),降低了代碼的維護(hù)代價(jià)。 mySessionFactory.的兩個(gè)屬性,分別是用來(lái)注入mappingResources 和 hibernate</p><p>

107、  圖4.2 Spring基于配置文件,將各個(gè)Bean搭建在一起。</p><p>  4.1.4表示層的建立</p><p>  在表示層上,主要是基于JSP和AJAX異步傳輸技術(shù)來(lái)進(jìn)行建立,最后通過(guò)Struts 框架的struts-config.xml文件進(jìn)行關(guān)聯(lián)映射.具體的頁(yè)面設(shè)計(jì),會(huì)在后面的章節(jié)中進(jìn)行介紹.</p><p>  4.2 系統(tǒng)功能模塊實(shí)現(xiàn)<

108、;/p><p><b>  用戶管理代碼:</b></p><p>  <%@ page language="java" contentType="text/html; charset=gb2312"</p><p>  pageEncoding="UTF-8"%></p

109、><p>  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"></p><p><b>  <html></b></p><p>

110、<b>  <head></b></p><p>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"></p><p>  <title>論壇后臺(tái)管理</title></p>&l

111、t;p><b>  </head></b></p><p>  <DIV style="PADDING-RIGHT:10px;OVERFLOW-Y:auto;PADDING-LEFT:10px;SCROLLBAR-FACE-COLOR:#ffffff;FONT-SIZE:11pt;PADDING-BOTTOM:0px;SCROLLBAR-HIGHLIGHT-

112、COLOR:#ffffff;OVERFLOW:auto;WIDTH:510px;SCROLLBAR-SHADOW-COLOR:#919192;COLOR:blue;SCROLLBAR-3DLIGHT-COLOR:#ffffff;LINE-HEIGHT:100%;SCROLLBAR-ARROW-COLOR:#919192;PADDING-TOP:0px;SCROLLBAR-TRACK-COLOR:#ffffff;FONT-FAMILY:宋

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論