基于j2ee框架的個(gè)人博客系統(tǒng)項(xiàng)目畢業(yè)設(shè)計(jì)_第1頁
已閱讀1頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  【摘要】</b></p><p>  博客系統(tǒng)致力于為廣大用戶提供優(yōu)質(zhì)的互動(dòng)交流平臺(tái),提高網(wǎng)站的知名度和訪問量,從而獲得為企業(yè)提供更多產(chǎn)品介紹及展示的機(jī)會(huì),提升自己網(wǎng)站的價(jià)值。為了滿足博客信息管理系統(tǒng)的要求,實(shí)現(xiàn)系統(tǒng)靜態(tài)與動(dòng)態(tài)頁面的相互分離,系統(tǒng)采用JSP+JavaBean+Servlet和SQL Server2000數(shù)據(jù)庫相結(jié)合的開發(fā)模式。論文首先論述了系統(tǒng)

2、的開發(fā)背景和設(shè)計(jì)目標(biāo),并對(duì)系統(tǒng)開發(fā)所采用的技術(shù)進(jìn)行相應(yīng)的簡(jiǎn)單介紹。在系統(tǒng)分析中,對(duì)系統(tǒng)的模型進(jìn)行簡(jiǎn)單分析,明確系統(tǒng)的操作流程,并對(duì)系統(tǒng)進(jìn)行可行性分析,確定在目前的條件下,開發(fā)博客信息管理系統(tǒng)是可行的。在需求分析結(jié)果的基礎(chǔ)上,對(duì)系統(tǒng)的功能模塊進(jìn)行劃分。接著對(duì)系統(tǒng)中的數(shù)據(jù)庫進(jìn)行模型設(shè)計(jì),包括數(shù)據(jù)流圖、實(shí)體聯(lián)系圖及數(shù)據(jù)表結(jié)構(gòu)。在系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中,確定系統(tǒng)的開發(fā)思想以及開發(fā)環(huán)境,并對(duì)系統(tǒng)中的JavaBean和Servlet代碼進(jìn)行設(shè)計(jì)。最后給

3、出了系統(tǒng)中模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),并對(duì)系統(tǒng)模塊涉及到的關(guān)鍵源代碼進(jìn)行了詳細(xì)的分析。經(jīng)過調(diào)試運(yùn)行后表明,系統(tǒng)可以滿足用戶創(chuàng)建個(gè)人博客的各項(xiàng)要求。</p><p>  【關(guān)鍵詞】MVC,設(shè)計(jì)模式,知識(shí)共享,博客信息管理系統(tǒng)</p><p><b>  第一章 緒論1</b></p><p>  1.1. 選題背景1</p><

4、;p>  1.2. 問題的提出1</p><p>  1.3. 系統(tǒng)的開發(fā)目標(biāo)1</p><p>  第二章 系統(tǒng)設(shè)計(jì)2</p><p>  2.1. 系統(tǒng)分析4</p><p>  2.2. 系統(tǒng)的可行性分析4</p><p>  2.2.1. 技術(shù)可行性4</p><p>

5、  2.2.2. 經(jīng)濟(jì)可行性5</p><p>  2.2.3. 管理可行性5</p><p>  第三章 開發(fā)環(huán)境的說明與安裝5</p><p>  3.1. 開發(fā)語言的選擇5</p><p>  3.2. 數(shù)據(jù)庫的選擇---------------------------------------------------------

6、------------------------------6</p><p>  3.3. 開發(fā)工具的選擇------------------------------------------------------------------------------------7</p><p>  第四章 系統(tǒng)設(shè)計(jì)--------------------------------------

7、--------------------------------------------------------9</p><p>  4.1. 開發(fā)框架技術(shù)-------------------------------------------------------------------------------------9</p><p>  4.2. 需求分析-----------

8、--------------------------------------------------------------------------------9</p><p>  4.3. 功能模塊介紹-------------------------------------------------------------------------------------11</p><p&

9、gt;  4.4. 系統(tǒng)分析-------------------------------------------------------------------------------------------13</p><p>  第五章 數(shù)據(jù)庫設(shè)計(jì)---------------------------------------------------------------------------------

10、----------16</p><p>  5.1. 定義數(shù)據(jù)字典-------------------------------------------------------------------------------------16</p><p>  5.2. 主要表結(jié)構(gòu)------------------------------------------------------

11、----------------------------------17</p><p>  第六章 主要功能的實(shí)現(xiàn)-------------------------------------------------------------------------------------18</p><p>  6.1. 登陸控制-------------------------------

12、------------------------------------------------------------18</p><p>  6.2. ajax讀取txt----------------------------------------------------------------------------------------18</p><p>  6.3. 系統(tǒng)架

13、構(gòu)與數(shù)據(jù)庫連接-------------------------------------------------------------------------20</p><p>  6.4. 數(shù)據(jù)庫備份與還原-------------------------------------------------------------------------------21</p><p>

14、  6.5. 部分效果預(yù)覽圖----------------------------------------------------------------------------------22</p><p>  第七章 參考文獻(xiàn)-------------------------------------------------------------------------------------------

15、---23</p><p>  第九章 致謝----------------------------------------------------------------------------------------------------23</p><p><b>  緒論</b></p><p><b>  選題背景<

16、/b></p><p>  這幾年,許多新名詞涌入我們的視野:博客、圈子、播客、WAP等。這些都預(yù)示著我們進(jìn)入了一個(gè)新的互聯(lián)網(wǎng)階段web 2.0,它是相對(duì)web 1.0的新的一類互聯(lián)網(wǎng)應(yīng)用的總稱,是一次從核心內(nèi)容到外部應(yīng)用的革命[10]。這個(gè)階段發(fā)展迅速,互聯(lián)網(wǎng)應(yīng)用趨于多樣化,其中變化最大的是由web 1.0網(wǎng)站創(chuàng)造內(nèi)容的時(shí)代變?yōu)橛捎脩魟?chuàng)造內(nèi)容的web 2.0時(shí)代。 在web 2.0應(yīng)用中,博客(Blog

17、)是web 2.0核心應(yīng)用中最典型、最流行的代表之一,也是web 2.0技術(shù)應(yīng)用的最直觀的表現(xiàn),是web 2.0精神和理念的具體體現(xiàn)。</p><p><b>  問題的提出</b></p><p>  Blog記載了日常發(fā)生的事情和自己的興趣愛好,把自己的思想和知識(shí)和他人分享、交流,同時(shí)又通過“六度空間”結(jié)識(shí)了更多志趣相投的朋友;而越來越多專業(yè)知識(shí)的 Blog 的出

18、現(xiàn),讓我們看到了 Blog 更多所蘊(yùn)涵的巨大的信息價(jià)值:不同的 Blog 選擇不同的內(nèi)容,收集和整理成為很多人關(guān)注的專業(yè) Blog ——目前越來越多的人獲取信息的來源是一些固定的 Blog 。隨著博客人數(shù)的增加, Blog 作為一種新的生活方式、新的工作方式、新的學(xué)習(xí)方式已經(jīng)被越來越多的人所接受,并且在改變傳統(tǒng)的網(wǎng)絡(luò)和社會(huì)結(jié)構(gòu):網(wǎng)絡(luò)信息不再是虛假不可驗(yàn)證的,交流和溝通更有明確的選擇和方向性,單一的思想和群體的智慧結(jié)合變的更加有效,個(gè)人出

19、版變成人人都可以實(shí)現(xiàn)的夢(mèng)想—— Blog 正在影響和改變著我們的生活。</p><p><b>  系統(tǒng)的開發(fā)目標(biāo)</b></p><p>  管理員通過前臺(tái)頁面進(jìn)入后臺(tái)管理模塊后,可對(duì)注冊(cè)的博客用戶進(jìn)行維護(hù),包括對(duì)注冊(cè)用戶的添加、查找、修改和刪除。</p><p>  管理員進(jìn)入登錄后,可對(duì)帳戶進(jìn)行管理,包括添加管理員帳戶、修改管理員帳戶、刪

20、除管理員帳戶和對(duì)帳戶進(jìn)行權(quán)限設(shè)置。</p><p>  博客用戶通過前臺(tái)登錄后,可對(duì)自己的博客空間進(jìn)行管理,包括發(fā)布自己的網(wǎng)絡(luò)日志、收藏個(gè)人圖片、和相關(guān)人員進(jìn)行交流和溝通以及刪除訪問者發(fā)表的評(píng)論等。</p><p>  因此,在具體設(shè)計(jì)實(shí)現(xiàn)該博客網(wǎng)站時(shí),主要考慮了主流博客網(wǎng)站的幾個(gè)主要功能:(1)博客的注冊(cè)、登錄驗(yàn)證功能(2) 網(wǎng)絡(luò)用戶通過關(guān)鍵字搜索博文功能(3) 最熱門博客頁面推薦瀏覽(

21、4) 文章詳細(xì)內(nèi)容及相關(guān)評(píng)論顯示(5) 博客頁面訪問量統(tǒng)計(jì)(6) 博客個(gè)人文章管理維護(hù)功能(7) 博客個(gè)人文章分類管理維護(hù)功能(8) 博客個(gè)人友情鏈接維護(hù)功能(9) 博客個(gè)人基本信息管理維護(hù)功能(10) 博客圖片上傳及個(gè)人相冊(cè)管理(11) 網(wǎng)絡(luò)用戶寫留言,博主查看留言。</p><p><b>  系統(tǒng)設(shè)計(jì)</b></p><p><b>  系統(tǒng)分析<

22、;/b></p><p>  在整個(gè)blog進(jìn)行開發(fā)之前,要確定出整個(gè)項(xiàng)目的整體架構(gòu),包括系統(tǒng)的選型、運(yùn)行環(huán)境的確定及系統(tǒng)結(jié)構(gòu)設(shè)計(jì)。下面對(duì)這進(jìn)行詳細(xì)介紹。</p><p>  在進(jìn)行軟件系統(tǒng)開發(fā)的最初環(huán)節(jié),一般都需要進(jìn)行系統(tǒng)的選型,即根據(jù)系統(tǒng)功能的實(shí)際需求,選擇合適的開發(fā)工具及軟件架構(gòu)。</p><p>  blog對(duì)系統(tǒng)的可靠性、穩(wěn)定性有比較高的要求。本系統(tǒng)

23、設(shè)計(jì)時(shí),比較主流的B/S設(shè)計(jì)有基于JSP、ASP、PHP、CGI及J2EE等模式。相比較而言PHP的功能相對(duì)簡(jiǎn)單,不適合做大程序;而CGI效率相對(duì)較低,所以也不考慮。由于J2EE的開源的框架中提供了MVC模式實(shí)現(xiàn)框架Struts、對(duì)象關(guān)系模型中的Hibernate 的框架及擁有事務(wù)管理和依賴注入的Spring。利用現(xiàn)存框架可以更快開發(fā)系統(tǒng)。所以選擇Java技術(shù)作為blog 的開發(fā)工具。</p><p>  為了增

24、加系統(tǒng)的吞吐量,提高并發(fā)處理客戶請(qǐng)求數(shù)量,系統(tǒng)采用了IBM服務(wù)器作為主機(jī)。在數(shù)據(jù)庫處理方面,不需要在數(shù)據(jù)層借助存儲(chǔ)過程及數(shù)據(jù)庫服務(wù)器端函數(shù)封裝過多的業(yè)務(wù)邏輯,因此數(shù)據(jù)庫系統(tǒng)采用相對(duì)精巧的MySQL[6]。</p><p>  該在線博客系統(tǒng)服務(wù)器端如果需要布置到其他主機(jī)上,則該主機(jī)必備條件如下:</p><p>  1.服務(wù)器端操作系統(tǒng):獨(dú)立于操作系統(tǒng)的跨平臺(tái)系統(tǒng),客戶端MicroSof

25、t Windows 2000及以上;</p><p>  2.數(shù)據(jù)庫:MySQL 5.0.27版本;</p><p>  3.Web服務(wù)器:Tomcat 5.5及以上版本,配合MVC設(shè)計(jì)模式及 Hibernate開發(fā)架構(gòu);</p><p>  4.客戶端運(yùn)行環(huán)境:能運(yùn)行IE 5以上或Netscape 5以上瀏覽器的操作系統(tǒng),配合使用Ajax技術(shù);</p&

26、gt;<p>  5.客戶端運(yùn)行工具:目前的系統(tǒng)采用瀏覽器作為客戶端,為了支持Ajax開發(fā)框架,應(yīng)該選擇使用IE 5以上版本瀏覽器。</p><p>  本網(wǎng)站以xp為Web平臺(tái),JSP+Ajax+Servlet+JavaBean+Hibernate為網(wǎng)站實(shí)現(xiàn)技術(shù),建立基于MySQL數(shù)據(jù)庫系統(tǒng)的核心動(dòng)態(tài)網(wǎng)頁,實(shí)現(xiàn)博客網(wǎng)站前臺(tái)及博客個(gè)人維護(hù)管理等功能模塊。</p><p> 

27、 1、 系統(tǒng)處理的準(zhǔn)確性和及時(shí)性:系統(tǒng)處理的準(zhǔn)確性和及時(shí)性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計(jì)和開發(fā)過程中,要充分考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時(shí)間能夠滿足信息處理的需求。</p><p>  2、 系統(tǒng)的開放性和系統(tǒng)的可擴(kuò)充性:系統(tǒng)在開發(fā)過程中,應(yīng)該充分考慮以后的可擴(kuò)充性。例如數(shù)據(jù)表中用戶選擇字段方式的改變,用戶查詢的需求也會(huì)不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進(jìn)行功能的調(diào)整

28、和擴(kuò)充。而要實(shí)現(xiàn)這一點(diǎn),應(yīng)通過系統(tǒng)的開放性來完成,既系統(tǒng)應(yīng)是一個(gè)開放系統(tǒng),只要符合一定的規(guī)范,可以簡(jiǎn)單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補(bǔ)、替換完成系統(tǒng)的升級(jí)和更新?lián)Q代。</p><p>  3、 系統(tǒng)的易用性和易維護(hù)性:要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對(duì)用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對(duì)系統(tǒng)熟悉的過程。</p><

29、p>  4、 系統(tǒng)的數(shù)據(jù)要求:1、數(shù)據(jù)錄入和處理的準(zhǔn)確性和實(shí)時(shí)性。2、數(shù)據(jù)的一致性與完整性。3、數(shù)據(jù)的共享與獨(dú)立性。</p><p><b>  系統(tǒng)的可行性分析</b></p><p><b>  技術(shù)可行性</b></p><p>  技術(shù)上的可行性分析要考慮將來要采用的硬件和軟件技術(shù)能否滿足用戶(這里是服務(wù)器,

30、網(wǎng)速)提出的要求(如計(jì)算機(jī)的容量、速度等)。此外,還要考慮開發(fā)人員的水平,學(xué)習(xí)了兩年的jsp開發(fā),對(duì)于這個(gè)系統(tǒng)的編寫,我想完整的之需要兩個(gè)月就可以寫出程序,再花上幾天的調(diào)試,計(jì)劃兩個(gè)月左右就可以完成投入使用了。</p><p>  我們掌握了數(shù)據(jù)庫及其應(yīng)用技術(shù)、數(shù)據(jù)庫原理、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)等課程,對(duì)數(shù)據(jù)庫的設(shè)計(jì)、應(yīng)用、維護(hù)及局域網(wǎng)的組成有了深刻的認(rèn)識(shí)與一定的動(dòng)手實(shí)踐能力,考取了信息處理、程序設(shè)計(jì)、數(shù)據(jù)庫技術(shù)等國家I

31、T認(rèn)證。從一定程度上具備了開發(fā)一個(gè)小型系統(tǒng)的能力。再有就!</p><p><b>  經(jīng)濟(jì)可行性</b></p><p>  主要從對(duì)項(xiàng)目的經(jīng)濟(jì)上進(jìn)行分析評(píng)價(jià),一方面是支出的費(fèi)用,包括設(shè)備購置費(fèi)、管理和維護(hù)費(fèi)用、人員工資和培訓(xùn)費(fèi)等,另一個(gè)是取得的收益。這是個(gè)小型的系統(tǒng),從投入的人力,財(cái)力與物力來講是非常小的,發(fā)布出去之需要注冊(cè)域名就可以了,從節(jié)省人力方面,可以讓管理

32、人員從繁與復(fù)雜的工作中解脫出來,做更多的工作。 </p><p><b>  管理可行性</b></p><p>  有IP地址、用戶名與密碼等,可以下載一個(gè)FTP上傳工具(cure)上傳更新后的內(nèi)容.可以在http://www.skycn.com/soft/683.html下載到. </p><p>  下載以后,通過"站點(diǎn)管理&

33、quot;-->"新建站點(diǎn)".輸入IP,用戶名,密碼.然后連接即可. </p><p>  當(dāng)然也可用FTP工具.直接在IE瀏覽器地址欄輸入ftp://www.域名/然后輸入用戶名和密碼.同樣可以上傳.隨時(shí)更新文件!</p><p>  開發(fā)環(huán)境的說明與安裝</p><p><b>  開發(fā)語言的選擇</b></

34、p><p><b>  JAVA簡(jiǎn)介</b></p><p>  Java是Sun公司推出的新的一代面向?qū)ο蟪绦蛟O(shè)計(jì)語言,特別適合于Internet應(yīng)用程序開發(fā)。Java的產(chǎn)生與流行是當(dāng)今Internet發(fā)展的客觀要求,Java是一門各方面性能都很好的編程語言,它的基本特點(diǎn)是簡(jiǎn)單、面向?qū)ο?、分布式、解釋的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、性能很優(yōu)異的、多線程的、動(dòng)態(tài)

35、的,特別適合在Internet環(huán)境上開發(fā)的應(yīng)用系統(tǒng)。</p><p>  Web應(yīng)用程序開發(fā)環(huán)境—JSP技術(shù)</p><p>  JSP的全稱是Java Server Pages,它是SUN推出的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。它在傳統(tǒng)的靜態(tài)頁面文件(*.html,*.htm)中加入JAVA程序片段和JSP標(biāo)記,就構(gòu)成了JSP頁面。JSP具有以下的優(yōu)點(diǎn):</p><p>  

36、1、將業(yè)務(wù)層與表示層分離:使用JSP技術(shù),網(wǎng)絡(luò)開發(fā)人員可充分使用HTML來設(shè)計(jì)頁面顯示部分(如字體顏色等),并使用JSP指令或者JAVA程序片段來生成網(wǎng)頁上的動(dòng)態(tài)內(nèi)容;</p><p>  2、能夠跨平臺(tái):JSP支持絕大部分平臺(tái),包括現(xiàn)在非常流行的LINUX系統(tǒng),應(yīng)用非常廣泛的Apache服務(wù)器也提供了支持JSP的服務(wù);</p><p>  3、組件的開發(fā)和使用很方便:如ASP的組件是由C

37、++,VB等語言開發(fā)的,并需要注冊(cè)才能使用;而JSP的組件是用Java開發(fā)的,可以直接使用;</p><p>  4、一次編寫,處處運(yùn)行:作為JAVA開發(fā)平臺(tái)的一部分,JSP具有JAVA的所有優(yōu)點(diǎn),包括Write once , Run everywhere.</p><p><b>  數(shù)據(jù)庫的選擇</b></p><p>  Web應(yīng)用程序開

38、發(fā)環(huán)境—SQLserver數(shù)據(jù)庫</p><p>  SQL Server是由Microsoft開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發(fā)的。SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特點(diǎn):</p><p>  1.真正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)

39、。 </p><p>  2.圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡(jiǎn)單。 </p><p>  3.豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計(jì)提供了更大的選擇余地。 </p><p>  4.SQL Server與Windows NT完全集成,利用了NT的許多功能,如發(fā)送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft Ba

40、ckOffice產(chǎn)品集成。 </p><p>  5.具有很好的伸縮性,可跨越從運(yùn)行Windows 95/98的膝上型電腦到運(yùn)行Windows 2000的大型多處理器等多種平臺(tái)使用。 </p><p>  6.對(duì)Web技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上。 </p><p>  7.SQL Server提供數(shù)據(jù)倉庫功能,這個(gè)功能只在Ora

41、cle和其他更昂貴的DBMS中才有。 </p><p>  SQL Server 2000與以前版本相比較,又具有以下新特性 :</p><p>  1.支持XML(Extensive Markup Language,擴(kuò)展標(biāo)記語言) </p><p>  2.強(qiáng)大的基于Web的分析 </p><p>  3.支持OLE DB和多種查詢 <

42、;/p><p>  4.支持分布式的分區(qū)視圖</p><p>  安裝、運(yùn)行SQL Server 2000的硬件需求</p><p><b> ?。?)計(jì)算機(jī)</b></p><p>  Inter及其兼容計(jì)算機(jī),Pentium 166Mz或者更高處理器或DEC Alpha和其兼容系統(tǒng)。</p><p&g

43、t; ?。?)內(nèi)存(RAM)</p><p>  企業(yè)版最少64MB內(nèi)存,其他版本最少需要32MB內(nèi)存,建議使用更多的內(nèi)存。</p><p><b> ?。?)硬盤空間</b></p><p>  完全安裝(Full)需要180MB的空間,典型安裝(Typical)需要170MB的空間,最小安裝(Minimum)需要65MB的空間。</p

44、><p><b>  開發(fā)工具的選擇</b></p><p>  MyEclipse,Deamweare,選擇SQLserver作為后臺(tái)的數(shù)據(jù)庫,選擇JAVA、JSP、JavaScript、Html作為應(yīng)用程序開發(fā)工具,運(yùn)用Tomcat服務(wù)器技術(shù),整個(gè)系統(tǒng)完全基于B/S (Browser/Server)模式進(jìn)行設(shè)計(jì)。</p><p>  1、Tom

45、cat應(yīng)用服務(wù)器</p><p>  目前支持JSP的應(yīng)用服務(wù)器是較多的,Tomcat是其中較為流行的一個(gè)Web服務(wù)器,被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的Java產(chǎn)品,可見其在業(yè)界的地位。 </p><p>  Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的WAR放到Tomcat的webapp

46、目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的Jsp時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會(huì)很快。</p><p>  Tomcat也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜

47、態(tài)Html,而Tomcat處理Jsp和Servlet。Tomcat是一個(gè)很好的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_放性,越來越受到人們的重視。</p><p>  2、 B/S 開發(fā)模式</p><p>  伴隨著Internet的迅速發(fā)展,計(jì)算機(jī)技術(shù)正在由基于C/S(client/ Server)模式的應(yīng)用系統(tǒng)轉(zhuǎn)變?yōu)榛贐/S模式的應(yīng)用系統(tǒng)。</p><p&g

48、t;  過去,網(wǎng)絡(luò)軟件的開發(fā)都采用C/S(client)模式,在這種模式下,主要的業(yè)務(wù)邏輯都集中于客戶端程序,因此,必然導(dǎo)致以下問題:</p><p>  系統(tǒng)安裝、調(diào)試、維護(hù)和升級(jí)困難。由于客戶端的硬件配置可能存在差異,軟件環(huán)能各不相同,因此,在安裝時(shí),必須對(duì)每一個(gè)客戶端分別進(jìn)行配置,同樣,在軟件升級(jí)時(shí)也要對(duì)客戶端分別處理。</p><p>  B/S模式帶來了巨大的好處:</p&

49、gt;<p>  開發(fā)成本及維護(hù)成本降低。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,即應(yīng)用程序在部署、升級(jí)、維護(hù)時(shí),只需要在服務(wù)器端進(jìn)行配置就可以了,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器(Server)端完全通過WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。</p><p>  良好的

50、安全性能,防火墻技術(shù)可以保證后臺(tái)數(shù)據(jù)庫的安全性。所有的配置工作都集中在服務(wù)器端且所有客戶端請(qǐng)求都是通過DBMS來訪問數(shù)據(jù)庫,從而大大減少了數(shù)據(jù)直接暴露的風(fēng)險(xiǎn)。</p><p><b>  系統(tǒng)設(shè)計(jì)</b></p><p>  4.1開發(fā)框架技術(shù)介紹</p><p>  對(duì)于框架技術(shù),我們采用Struts+ajax的整合! Struts是應(yīng)用比較

51、廣泛的一種表現(xiàn)層框架</p><p>  1、 Struts是一個(gè)為開發(fā)基于模型(Model)-視圖(View)-控制器(Controller)(MVC)模式的應(yīng)用架構(gòu)的開源框架,是利用Servlet,JSP和custom tag library構(gòu)建Web應(yīng)用的一項(xiàng)非常有用的技術(shù)。由于Struts能充分滿足應(yīng)用開發(fā)的需求,簡(jiǎn)單易用,敏捷迅速。它使用服務(wù)層框架可以將JavaBeans從Jsp/Servlet中分離出

52、來,而使用表現(xiàn)層框架則可以將Jsp中剩余的JavaBeans完全分離,這部分JavaBeans主要負(fù)責(zé)顯示相關(guān)信息,一般是通過標(biāo)簽庫(Taglib)實(shí)現(xiàn),不同框架有不同自己的標(biāo)簽庫,Struts是應(yīng)用比較廣泛的一種表現(xiàn)層框架。</p><p>  2、 Ajax我們主要應(yīng)用就是xmlhttprequest,回調(diào)函數(shù)實(shí)現(xiàn)局部刷新達(dá)道數(shù)據(jù)更新!</p><p><b>  4.2需求

53、分析</b></p><p>  Blog網(wǎng)站主要是實(shí)現(xiàn)注冊(cè)用戶登錄、管理相關(guān)信息、博文及相關(guān)評(píng)論、查看留言、友情鏈接、及圖片的上傳和圖像的播放而為上網(wǎng)用戶提供按博文主題搜索,查看注冊(cè)用戶的博文及提出相關(guān)評(píng)論,并為注冊(cè)用戶寫留言,游覽注冊(cè)用戶的相冊(cè)、注冊(cè)等功能的系統(tǒng)。下面就以兩種不同的用戶來分析博客網(wǎng)站的需求。</p><p><b>  4.2.1注冊(cè)博友</

54、b></p><p>  首先必須在博客首頁中登錄填寫用戶名和密碼,這樣才能執(zhí)行一些相關(guān)操作,不然就是普通用戶只能查看一些信息,而不能發(fā)表博文??梢栽诠芾眄撁嫔咸砑硬┪牡姆诸?,可以上傳圖片和游覽自己的相冊(cè),在上傳過程中可以將一張圖片定義為自己的簽名,在個(gè)人管理頁面中注冊(cè)用戶還可以修改自己的個(gè)人信息。博文管理,友情鏈接管理及博文分類管理,用例圖2。</p><p>  圖2 博客管理頁

55、面的用例圖</p><p>  在博客主界面中發(fā)表博文時(shí)可以選擇博文類型,這樣可以更好管理自己的博文。并查看和刪除網(wǎng)友對(duì)自己的博文的一些評(píng)論、查看和刪除網(wǎng)友留下的一些留言,提供與其他網(wǎng)友交流的空間。更好交流,在信息時(shí)代人們通過個(gè)人空間溝通也用來但不能在自己的博客主頁面中提交評(píng)論和留言。。這樣在本系統(tǒng)中就可以為博友提供更多的個(gè)人色彩。在管理頁面中添加和刪除友情連接。這樣博友可以在自己空間中快速定位自己的關(guān)心的網(wǎng)站。

56、這樣還可以讓網(wǎng)友看到自己的一些信息。友情鏈接及網(wǎng)頁訪問量統(tǒng)計(jì)顯示:在博客的個(gè)人頁面中還提供了推薦給普通網(wǎng)絡(luò)用戶的相關(guān)友情鏈接,此外,對(duì)個(gè)人頁面的訪問量也在隨時(shí)進(jìn)行統(tǒng)計(jì),并在個(gè)人頁面中進(jìn)行直觀的顯示。</p><p>  博客主頁面的用例圖如圖3所示:</p><p>  圖3 博客主頁面的用例圖</p><p>  4.2.2 普通用戶</p>&l

57、t;p>  在博客注冊(cè)頁面注冊(cè)成為博客的注冊(cè)用戶,才可以擁有自己獨(dú)立的空間,進(jìn)入某一博客頁面查看相關(guān)文章信息時(shí),可以隨時(shí)對(duì)自己所感興趣的文章發(fā)表評(píng)論,同時(shí)也可以查看到其他人針對(duì)該博文的評(píng)論。普通用戶在閱讀博文時(shí)可以在最后留下自己的一些評(píng)論。他也可以留下更多的信息。這樣他可以寫留言。這樣他留下的信息就更快地被博友所看到。普通用戶進(jìn)入博友的用例圖如圖4所示:</p><p>  圖4上網(wǎng)博友在博客主頁面的用例圖

58、</p><p>  普通網(wǎng)友可以搜索自己關(guān)心的一些數(shù)據(jù)。并且在搜索結(jié)果中提供在結(jié)果范圍內(nèi)再次搜索。這樣就可以將范圍縮小。首頁向注冊(cè)用戶提供登陸模塊,注冊(cè)用戶在博客網(wǎng)站首頁跟上網(wǎng)網(wǎng)友一樣可以查看博客和博文推薦。上網(wǎng)網(wǎng)友可以注冊(cè)成為博客用戶,擁有自己獨(dú)立的空間。這一模塊的用例圖如圖5所示:</p><p>  圖5 博客首頁的用例圖</p><p>  4.3 功能

59、模塊介紹</p><p>  4.3.1 博客注冊(cè)登錄管理模塊</p><p>  博客注冊(cè)登錄管理模塊用于建立博客網(wǎng)站固定的客戶群體,通過記錄對(duì)應(yīng)的博客檔案,實(shí)現(xiàn)對(duì)博客信息的后臺(tái)維護(hù)及管理,同時(shí)也便于通過博客檔案庫將網(wǎng)站最新動(dòng)態(tài)及相關(guān)企業(yè)的信息方便地傳達(dá)給每一位潛在的客戶。</p><p>  該功能模塊實(shí)現(xiàn)了以下幾個(gè)子功能。</p><p&g

60、t;  (1)新博客在線注冊(cè)。</p><p>  (2)博客登錄管理。</p><p> ?。?)跳轉(zhuǎn)到博客主頁。</p><p>  只有進(jìn)行登錄并通過身份驗(yàn)證的用戶,才可以在個(gè)人博客頁面發(fā)表日志,并借助個(gè)人設(shè)置實(shí)現(xiàn)對(duì)個(gè)人博客相關(guān)信息的管理維護(hù)。對(duì)于沒有經(jīng)過身份驗(yàn)證的網(wǎng)絡(luò)用戶不允許在博客頁面中發(fā)表日志,更不允許對(duì)博客頁面信息進(jìn)行管理維護(hù)。</p>

61、<p>  該模塊實(shí)現(xiàn)新博客的注冊(cè)及登錄驗(yàn)證功能。其中,注冊(cè)新博客時(shí)會(huì)對(duì)用戶輸入的注冊(cè)信息進(jìn)行有效性驗(yàn)證,包括基本數(shù)據(jù)格式的有效性以及邏輯有效性,例如,用戶名被占用時(shí)將及時(shí)給出提示。注冊(cè)成功的博客登錄時(shí),會(huì)隨時(shí)根據(jù)博客輸入的登錄信息進(jìn)行提示,如用戶名錯(cuò)誤或者密碼錯(cuò)誤。</p><p>  4.3.2 博客及文章檢索查詢模塊</p><p>  博客及文章檢索查詢模塊為網(wǎng)絡(luò)用戶提供

62、便捷的搜索,以及日志閱讀瀏覽等功能,同時(shí)對(duì)日志的評(píng)論信息、博客推薦也能夠及時(shí)反饋給網(wǎng)絡(luò)用戶。</p><p>  該功能模塊實(shí)現(xiàn)了以下幾個(gè)子功能。</p><p> ?。?)熱門博客頁面推薦。</p><p> ?。?)最新博客日志推薦。</p><p> ?。?)日志信息關(guān)鍵字搜索。</p><p>  該模塊能夠在

63、網(wǎng)頁中隨時(shí)提供在線的最新日志信息。該信息需要定期更新,網(wǎng)絡(luò)用戶可以隨時(shí)獲得最新日志以及最熱門的博客推薦。在客戶選擇了某個(gè)博客或者某個(gè)感興趣的日志后,可以方便地跳轉(zhuǎn)到對(duì)應(yīng)博客頁面進(jìn)行日志的閱讀,并和博客進(jìn)行交流互動(dòng)。</p><p>  為了使網(wǎng)絡(luò)用戶盡快定位到所需的博客資料及日志信息,本模塊提供了搜索功能,用戶可以對(duì)所關(guān)注的日志信息按照標(biāo)題進(jìn)行關(guān)鍵字搜索,以避免用戶瀏覽多個(gè)頁面來尋找所需的日志信息。</p&

64、gt;<p>  4.3.3博客頁面顯示模塊</p><p>  當(dāng)網(wǎng)絡(luò)用戶進(jìn)入某個(gè)人博客主頁后,在該頁面中將提供博客日志列表的顯示,同時(shí)為了方便用戶瀏覽,在該模塊中提供根據(jù)分類名進(jìn)行日志列表的顯示,也提供日志評(píng)論的瀏覽,此外還允許用戶在博客頁面中發(fā)表評(píng)論及留言。</p><p>  該功能模塊實(shí)現(xiàn)了如下幾個(gè)子功能。</p><p> ?。?)用戶可以

65、分頁查看對(duì)應(yīng)的日志內(nèi)容及評(píng)論信息。</p><p> ?。?)用戶可以針對(duì)日志內(nèi)容發(fā)表評(píng)論。</p><p>  (3)用戶可以針對(duì)博客進(jìn)行留言。</p><p> ?。?)用戶可以分類查看日志內(nèi)容。</p><p>  在該模塊中還提供了博客頁面統(tǒng)計(jì)信息,日志、評(píng)論及留言信息分頁顯示等方便用戶的顯示效果。</p><p&

66、gt;  4.3.4 博客個(gè)人維護(hù)管理模塊</p><p>  博客個(gè)人維護(hù)管理模塊用于實(shí)現(xiàn)用戶對(duì)博客個(gè)人主頁及相關(guān)信息的動(dòng)態(tài)管理。</p><p>  該功能模塊實(shí)現(xiàn)了如下幾個(gè)子功能:</p><p> ?。?)日志及日志分類管理。</p><p> ?。?)評(píng)論及留言管理。</p><p> ?。?)個(gè)人基本信息維

67、護(hù)管理。</p><p>  借助該模塊,用戶可以隨時(shí)對(duì)個(gè)人博客主頁中的內(nèi)容進(jìn)行增加或修改,包括日志分類信息的更新、評(píng)論及留言管理等功能,也允許用戶對(duì)博客的個(gè)人信息進(jìn)行維護(hù)及其管理。</p><p><b>  4.4 系統(tǒng)分析</b></p><p>  本系統(tǒng)采用嚴(yán)格的J2 EE 應(yīng)用結(jié)構(gòu),主要有如下幾個(gè)分層。</p><

68、;p>  1.表現(xiàn)層:由JSP 頁面組成。</p><p>  2.MVC 層:使用Struts框架。</p><p>  3.業(yè)務(wù)邏輯層:主要由Spring loC 容器管理的業(yè)務(wù)邏輯組件組成。</p><p>  4.DAO 層:由7 個(gè)DAO 組件組成,實(shí)現(xiàn)類必須繼承Spring提供的HibernateDaoSupport。</p>

69、<p>  5.Hibernate 持久層:由7 個(gè)PO 組成,并在Hibernate Session 管理下,完成數(shù)據(jù)庫訪問。</p><p>  6.數(shù)據(jù)庫服務(wù)層:使用MySQL 數(shù)據(jù)庫存儲(chǔ)持久化數(shù)據(jù)。</p><p>  系統(tǒng)的具體分層如圖5 所示。</p><p><b>  圖6 系統(tǒng)結(jié)構(gòu)圖</b></p>

70、<p>  在圖6 黑色大方框內(nèi)的MVC 控制層、Service 層及DAO 組件層的組件,都由Spring IOC 容器負(fù)責(zé)生成,并管理組件的實(shí)例(實(shí)例必須是單身模式的,本系統(tǒng)中的bean基本上是單身的)。</p><p>  4.3.1系統(tǒng)架構(gòu)說明</p><p>  本系統(tǒng)不僅嚴(yán)格按MVC 模式設(shè)計(jì),還按J2 EE 分層設(shè)計(jì),將中間層嚴(yán)格分成業(yè)務(wù)邏輯層、DAO 層及數(shù)

71、據(jù)持久層等。MVC 層的控制器絕對(duì)禁止持久層訪問,甚至不參與業(yè)務(wù)邏輯的實(shí)現(xiàn)。表現(xiàn)層采用傳統(tǒng)JSP 技術(shù)。 </p><p>  本系統(tǒng)采用的是典型的J2EE 三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)等工作放在中間層處理??蛻舳瞬恢苯优c數(shù)據(jù)庫交互,而是通過組件與中間層建立連接,再由中間層與數(shù)據(jù)庫交互。Jsp廣泛的應(yīng)用和穩(wěn)定的表現(xiàn),為其作為表現(xiàn)層技術(shù)打下了堅(jiān)實(shí)的

72、基礎(chǔ)。中間層采用的是流行的Spring+Hibernate ,為了將控制層與業(yè)務(wù)邏輯層分離,又細(xì)分為以下幾種。</p><p>  Web 層,就是MVC 模式里面的C,負(fù)責(zé)邏輯層和表現(xiàn)層的交互。調(diào)用業(yè)務(wù)邏輯層,并將業(yè)務(wù)數(shù)據(jù)返回給表現(xiàn)層作組織表現(xiàn),該系統(tǒng)的MVC采用Struts框架。</p><p>  Service 層(就是業(yè)務(wù)邏輯層),負(fù)責(zé)實(shí)現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯層以DAO 層為基礎(chǔ),

73、通過對(duì)DAO 組件的正面模式包裝,完成系統(tǒng)所要求的業(yè)務(wù)邏輯。</p><p>  DAO 層,負(fù)責(zé)與持久化對(duì)象交互。該層封裝了數(shù)據(jù)的增、刪、查、改的操作。</p><p>  PO ,持久化對(duì)象。通過實(shí)體關(guān)系映射工具將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)映射成對(duì)象,很方便地實(shí)現(xiàn)以面向?qū)ο蠓绞讲僮鲾?shù)據(jù)庫,該系統(tǒng)采用Hibernate 作為ORM 框架。Spring 的作用貫穿了整個(gè)中間層,將Web 層、Ser

74、vice 層、DAO 層及PO 無縫整合,其數(shù)據(jù)服務(wù)層用來存放數(shù)據(jù)。</p><p>  通過使用Hibernate 持久層,可以避免使用傳統(tǒng)的JDBC 操作數(shù)據(jù)庫,對(duì)JDBC近一步包裝,從而更好地使用面向?qū)ο蟮姆绞絹聿僮鲾?shù)據(jù)庫。保證了整個(gè)軟件開發(fā)過程以面向?qū)ο蟮姆绞竭M(jìn)行,即面向?qū)ο蠓治?、設(shè)計(jì)及編程,透過Hibernte 對(duì)PO對(duì)象持久化操作,不管插入還是查詢都是通過PO。</p><p>

75、;  4.3.2實(shí)現(xiàn)DAO 層</p><p>  DAO 還有助于提升系統(tǒng)的可移植性。獨(dú)立的DAO 層使得系統(tǒng)能在不同的數(shù)據(jù)庫之間輕易切換,底層的數(shù)據(jù)庫實(shí)現(xiàn)對(duì)于業(yè)務(wù)邏輯組件是透明的。數(shù)據(jù)庫移植時(shí)僅僅影響DAO 層,不同數(shù)據(jù)庫的切換不會(huì)影響業(yè)務(wù)邏輯組件,因此提高了系統(tǒng)的可復(fù)用性。</p><p>  對(duì)于不同的持久層技術(shù), Spring 的DAO 提供一個(gè)DAO 模板,將通用的操作放在模板

76、里完成,而對(duì)于特定的操作,則通過回調(diào)接口完成。Spring 為Hibernate 提供的DAO 支持類是: HibernateDaoSupport。</p><p>  4.3.3 DAO組件的定義</p><p>  DAO 組件提供了各持久化對(duì)象的基本的CRUD 操作。而在DAO 接口里則對(duì)DAO組件包含的各種CRUD 方法提供了聲明,但有一些IDE 工具也可以生成基本的CRUD方法。

77、使用DAO 接口的原因是:避免業(yè)務(wù)邏輯組件與特定的DAO組件藕合。由于DAO 組件中的方法不是開始就設(shè)計(jì)出來的,其中的很多方法可能會(huì)隨著業(yè)務(wù)邏輯的需求而增加,但以下幾個(gè)方法是通用</p><p><b>  的。</b></p><p>  ? get: 根據(jù)主鍵加載持久化實(shí)例。</p><p>  ? saveor update: 保存或更新

78、持久化實(shí)例。</p><p>  ? remove: 刪除持久化實(shí)例。</p><p>  上面涉及了7個(gè)PO,這樣我們必須設(shè)計(jì)7個(gè)對(duì)應(yīng)的PODao</p><p>  7個(gè)Dao必須繼承BaseDao 這個(gè)BaseDao 有對(duì)接口的一些基本的CURD操作。7個(gè)Dao 如下。LinksDao ,BlogDao、FeedBackDao、ArticleDao、Messa

79、geDao、SortDao、PictureDao。這7個(gè)Dao 分別封裝對(duì)自己的持久化對(duì)象的一些操作。</p><p>  4.3.4 部署DAO 層</p><p>  HibernateDaoSupport類只需要一個(gè)SessionFactory 屬性,即可完成數(shù)據(jù)庫訪問。SessionFactroy創(chuàng)建Session,而數(shù)據(jù)庫的CRUD操作都是有Session 完成,并將查詢結(jié)果保存

80、在一級(jí)緩存中,每次用戶提交一次會(huì)話,可能需要Session完成一些數(shù)據(jù)庫的操作而實(shí)際的數(shù)據(jù)庫訪問由模板類HibernateTemplate完成,該模板類提供了大量便捷的方法,簡(jiǎn)化了數(shù)據(jù)庫的訪問。</p><p><b>  數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  5.1定義(數(shù)據(jù)詞典)</p><p>  1、數(shù)據(jù)庫表名的定義使用:重點(diǎn)字_ta

81、ble;重點(diǎn)字可以是多個(gè)英文單詞的組合,從組合的第二單詞起首字母大寫,字段命名是能表達(dá)字段內(nèi)容的英文單詞的組合,組合方式同表名重點(diǎn)字相同。</p><p>  2、NN 表示not null 不填表可為空。</p><p>  3、數(shù)據(jù)類型不使用固定數(shù)據(jù)庫的類型,標(biāo)識(shí)大眾類型,如字符串、字符、數(shù)字等。這樣在更改數(shù)據(jù)庫時(shí)需求的數(shù)據(jù)是可移植的</p><p>  4

82、、輸寫數(shù)據(jù)表在數(shù)據(jù)庫中的物理名稱,可用自己熟悉的語言再定義表名稱,方便溝通。</p><p>  5、長度定義又?jǐn)?shù)據(jù)類型決定:如字符串可選8000以下,數(shù)字可在50位之間,字符只允許一位。</p><p>  6、輸入方式表示數(shù)據(jù)的來源:生成表由程序或數(shù)據(jù)庫的索引自動(dòng)生成,而不需人工錄入;輸入表示通過文本框等輸入的數(shù)據(jù);選擇表單選框、復(fù)選框、下拉列表等通過選擇輸入的數(shù)據(jù);自定獲取是為外碼的

83、輸入設(shè)定的,它由程序自動(dòng)獲取。</p><p>  5.2主要表結(jié)構(gòu)如下</p><p>  表[blogs]日志數(shù)據(jù)表</p><p>  2.表[user]博友登陸信息表</p><p>  3.表[register]用戶數(shù)據(jù)表</p><p><b>  主要功能的實(shí)現(xiàn)</b></p&

84、gt;<p><b>  6.1 登錄控制:</b></p><p>  if(this.session().getAttribute("rand")!=null){//檢驗(yàn)隨機(jī)數(shù)是否為空 if(this.checkCode.equals(this.session().getAttribute("rand").toString())){/

85、/比較隨機(jī)數(shù)</p><p>  uservo=userbo.queryUserByINfo(uservo);//檢驗(yàn)用戶信息并將信息返回</p><p>  if(uservo!=null){//看用戶是否存在</p><p>  this.setUserpurview(uservo.getPurviewId());//設(shè)置用戶權(quán)限</p><

86、p>  this.session().setAttribute("user", uservo);//將用戶信息放在session中</p><p>  return SUCCESS;//返回用戶主界面頁面</p><p>  }else{ return ERROR;返回到失敗頁面}</p><p>  }else{return ERROR;

87、 }}else{return ERROR; }</p><p>  6.2 Ajax 讀取txt格式數(shù)據(jù)</p><p>  function ajax_function(var1,var2){ var xmlHttp = null; //創(chuàng)建xmlhttprequesttry { // Firefox, Opera 8.0+, Safari 對(duì)不同瀏覽器常見不同對(duì)象xmlHt

88、tp=new XMLHttpRequest(); } catch (e) { try { // Internet Explorer xmlHttp=new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { xmlHttp=new ActiveXObject('Microsoft.XMLHTTP'); } catch (e

89、) { alert('Your browser does not support AJAX!'); return false; } } } xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState == 4 && xmlHttp.status </p><p>  6.3 系統(tǒng)架構(gòu)與數(shù)據(jù)庫的連接&l

90、t;/p><p>  由于我們開發(fā)時(shí)是利用MVC的設(shè)計(jì)模式,所以在此我們的數(shù)據(jù)庫連接是封存在M中的,即只要我們和M層連接上,就已經(jīng)連接上數(shù)據(jù)庫了。</p><p>  Hibernate使用數(shù)據(jù)庫和配置信息來為應(yīng)用程序提供持久化服務(wù)(以及持久的對(duì)象)。我們只需在hibernate.cfg.xml中配置以下語句即可:</p><p>  <!DOCTYPE hibe

91、rnate-configuration PUBLIC</p><p>  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"</p><p>  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"></p&g

92、t;<p>  <hibernate-configuration></p><p>  <session-factory></p><p>  <property name="connection.username">sa</property></p><p>  <proper

93、ty name="connection.url">jdbc:microsoft:sqlserver://localhost:1035;DatabaseName=webexamine</property></p><p>  <property name="dialect">org.hibernate.dialect.SQLServerDiale

94、ct</property></p><p>  <property name="myeclipse.connection.profile">sqlserver2000</property></p><p>  <property name="connection.password">aaaaaaaa&l

95、t;/property></p><p>  <property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property></p><p>  <property name="hibernate.dialect

96、">org.hibernate.dialect.HSQLDialect</property></p><p>  <property name="show_sql">true</property></p><p>  <mapping resource="/com/perdure/hibernate/i

97、nfo/InfoTable.hbm.xml"/></p><p>  <mapping resource="/com/perdure/hibernate/user/UserTable.hbm.xml"/></p><p>  </session-factory></p><p>  </hiberna

98、te-configuration></p><p>  其實(shí)我們?cè)谶@里配置了一個(gè)數(shù)據(jù)連接,以保證系統(tǒng)的正常運(yùn)行,我們需要使用proxool連接池,我們經(jīng)測(cè)試,分別用proxool、tomcat JNDI、Hibernate自帶的連接池進(jìn)行配置之后分別執(zhí)行以上的10000條數(shù)據(jù)插入和讀取,結(jié)果顯示proxool的性能要優(yōu)于tomcat JNDI,而Hibernate自帶的就更不用提了,差很遠(yuǎn)。依次為:3926

99、5毫秒/10000條、26013毫秒/10000條、50029毫秒/10000條。</p><p>  6.4數(shù)據(jù)的備份與還原</p><p>  我們根據(jù)Mysql數(shù)據(jù)庫提供的backup(備份)命令及restore(恢復(fù))命令,進(jìn)行數(shù)據(jù)庫的備份與還原,在連接數(shù)據(jù)庫后,我們?cè)谛枰獋浞莺瓦€原的地方加入以下語句:</p><p>  backup database

100、 <your database name> to disk='備份文件名' </p><p>  restore database <your database name> from disk='備份文件名' </p><p>  然后發(fā)送給數(shù)據(jù)庫的管理對(duì)象進(jìn)行數(shù)據(jù)還原與備份。</p

101、><p>  在知道了數(shù)據(jù)庫備份與還原的接口后,用JAVA進(jìn)行具體的連接,這里采用JAVA直連的方</p><p><b>  法,部分代碼如下:</b></p><p><b>  try{</b></p><p>  String user="sa";//連接sqlserver2

102、000數(shù)據(jù)庫登陸名</p><p>  String password="aaaaaaaa";//連接sqlserver2000數(shù)據(jù)庫密碼</p><p>  String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//連接數(shù)據(jù)庫的驅(qū)動(dòng)字符串</p><p&g

103、t;  String connStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=webexamine";//注冊(cè)連接字符串</p><p>  Connection con=null;</p><p>  Class.forName( sDBDriver);//注冊(cè)數(shù)據(jù)庫驅(qū)動(dòng)</p>&

104、lt;p>  con = Driver Manager.getConnection(connStr ,user,password);//獲取數(shù)據(jù)庫連接</p><p>  String sql="backup database xncsims to disk='d:\\xncback.dat'";//備份數(shù)據(jù)庫,還原數(shù)據(jù)庫和著類似,只是將這句變?yōu)檫€原的語句</p&g

105、t;<p>  st=con.createStatement();//創(chuàng)建發(fā)送對(duì)象</p><p>  rs=st.executeQuery(sql);//這里就是把你的SQL語句發(fā)到數(shù)據(jù)庫執(zhí)行 </p><p>  }catch(SQLException e){ System.out.println(e.toString());}</p><p> 

106、 catch(Exception e){ System.out.println(e.toString());}</p><p>  6.4部分效果預(yù)覽圖</p><p><b>  主頁</b></p><p><b>  留言界面</b></p><p><b>  參考文獻(xiàn)</b

107、></p><p>  [1] 孫衛(wèi)琴. 精通Struts:基于MVC 的Java Web 的設(shè)計(jì)與開發(fā)[M].北京:電子工業(yè)出版社,2004.</p><p>  [2] 陳天河. Hibernate 項(xiàng)目開發(fā)寶典[M].北京:電子工業(yè)出版社,2006.</p><p>  [3] 閻宏. Java 與模式[M].北京:電子工業(yè)出版社,2002.</p

108、><p>  [4] Gavin King.Hibernate Reference 3[EB/OL] .http://www.hibernate. org/:2008</p><p>  hib-docs/v3/reference/en/html/architecture .html# architecture-overview, 2005-01-01</p><p>

109、  [5] java web 網(wǎng)站應(yīng)用開發(fā) 人民郵電出版社 2008-02第二版</p><p>  www.ajax.com ajax前臺(tái)應(yīng)用開發(fā) www.dojochina.com Extjs界面</p><p>  [6]羅時(shí)飛.精通Spring 2.0[M].北京:電子工業(yè)出版社,2007.</p><p><b>  致謝</b>

110、;</p><p>  由于時(shí)間倉促,一些技術(shù)和設(shè)備所限,該系統(tǒng)存在一些不足之處,有待進(jìn)一步改進(jìn)和完善。</p><p>  在論文結(jié)束之際,首先要感謝我的指導(dǎo)老師劉嵩,在我的論文設(shè)計(jì)以及實(shí)現(xiàn)過程中均給了我大量的幫助和指導(dǎo),他嚴(yán)謹(jǐn)?shù)木礃I(yè)精神和治學(xué)態(tài)度給我留下了深刻的印象。從他身上,我學(xué)到了許多能使我受益終身的東西,再次對(duì)劉老師表示衷心的感謝。</p><p>  感

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)論