版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 博客管理系統(tǒng)</b></p><p><b> 摘 要</b></p><p> 越來(lái)越多的網(wǎng)絡(luò)用戶(hù)希望能夠在網(wǎng)絡(luò)平臺(tái)上更多地展現(xiàn)自己的個(gè)性,更方便地與他人互動(dòng)交流,擁有一個(gè)自己獨(dú)立的空間,隨著Web2.0時(shí)代的到來(lái),一個(gè)新的概念出現(xiàn)了——博客。</p><p> 首先介紹了博客網(wǎng)站設(shè)
2、計(jì)的意義和背景,主流博客網(wǎng)站的主要功能。重點(diǎn)介紹了基于J2EE架構(gòu)的博客網(wǎng)站設(shè)計(jì)方案,實(shí)現(xiàn)的主要功能。</p><p> 其次,重點(diǎn)講述了博客網(wǎng)站的業(yè)務(wù)邏輯層和持久層的設(shè)計(jì)與開(kāi)發(fā)過(guò)程中所涉及的技術(shù)。系統(tǒng)如何以JSP+Servlet+JavaBean按清晰的MVC 模式控制,怎樣劃分應(yīng)用的層次。簡(jiǎn)述了頁(yè)面的請(qǐng)求的分發(fā)及流程。</p><p> 最后對(duì)BLOG網(wǎng)站開(kāi)發(fā)中所碰到的一些問(wèn)題,并
3、針對(duì)這些問(wèn)題提出一些解決方案,最后對(duì)系統(tǒng)性能作出一些簡(jiǎn)要評(píng)估,闡述了一些個(gè)人想法。</p><p> 關(guān)鍵詞 博客;J2EE;JSP;Servlet;JavaBean</p><p> Blog management system</p><p><b> Abstract</b></p><p> More
4、and more network users hope to unfold there characteristics in the network platform and interact with people more conveniently. From the begining of Web 2.0, a new concept of blog emerged.</p><p> Firstly,
5、we introduce the meaning and background of designing of blog site, and then introduce the main function of the blog site briefly. We also introduce the designing scheme of blog site which is based on the architecture of
6、J2EE. The main function carried out in our blog project is presented.</p><p> Second, focus on the blog website business logic layer and persistence layer's design and development process involved in th
7、e technical. How the system with JSP+Servlet+JavaBean according to clear MVC mode control, how to partition the application level. The page request distribution and flow.</p><p> Finally, we discuss some pr
8、oblems about the blog realization and show schemes of solving problems. Brief evaluation on the performance of system is given.We give a comment on problems occurring in our work. </p><p> Keywords blog;J
9、2EE;JSP;Servlet;JavaBean</p><p><b> 目 錄</b></p><p><b> 第1章 緒論1</b></p><p> 1.1 博客的概念1</p><p> 1.2 研究的背景1</p><p> 1.3 研究的目的
10、和意義2</p><p> 1.4 系統(tǒng)開(kāi)發(fā)的目標(biāo)2</p><p> 第2章 相關(guān)技術(shù)和開(kāi)發(fā)工具介紹4</p><p> 2.1 Java編程語(yǔ)言4</p><p> 2.2 瀏覽器/服務(wù)器模式4</p><p> 2.3 JSP+Servlet+JavaBean設(shè)計(jì)模式5</p>
11、<p> 2.3.1 JSP簡(jiǎn)介5</p><p> 2.3.2 Servlet簡(jiǎn)介5</p><p> 2.3.3 JavaBean簡(jiǎn)介6</p><p> 2.4 開(kāi)發(fā)工具介紹6</p><p> 2.4.1 MyEclipse簡(jiǎn)介6</p><p> 2.4.2 Tomcat簡(jiǎn)介
12、7</p><p> 2.4.3 MYSQL簡(jiǎn)介7</p><p> 第3章 可行性研究與需求分析8</p><p> 3.1 可行性研究8</p><p> 3.2 需求分析8</p><p> 3.2.1 問(wèn)題分析9</p><p> 3.2.2 系統(tǒng)性能要求9&l
13、t;/p><p> 3.2.3 系統(tǒng)功能需求概述9</p><p> 3.2.4 系統(tǒng)運(yùn)行環(huán)境要求9</p><p> 第4章 概要設(shè)計(jì)11</p><p> 4.1 系統(tǒng)功能結(jié)構(gòu)圖11</p><p> 4.2 系統(tǒng)流程圖11</p><p> 4.3 主要功能模塊12&l
14、t;/p><p> 4.4 數(shù)據(jù)庫(kù)設(shè)計(jì)13</p><p> 4.4.1 數(shù)據(jù)庫(kù)分析13</p><p> 4.4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)E-R圖14</p><p> 4.4.3 系統(tǒng)數(shù)據(jù)表設(shè)計(jì)15</p><p> 第5章 詳細(xì)設(shè)計(jì)17</p><p> 5.1 指導(dǎo)思想17&l
15、t;/p><p> 5.2 公共核心類(lèi)的設(shè)計(jì)17</p><p> 5.2.1 數(shù)據(jù)庫(kù)相關(guān)類(lèi)17</p><p> 5.2.2 編寫(xiě)JavaBean類(lèi)18</p><p> 5.2.3 管理類(lèi)設(shè)計(jì)18</p><p> 5.3 主要功能模塊的功能及實(shí)現(xiàn)19</p><p> 5
16、.3.1 用戶(hù)注冊(cè)模塊19</p><p> 5.3.2 用戶(hù)登錄模塊20</p><p> 5.3.3 日志管理模塊21</p><p> 5.3.4 相冊(cè)管理模塊25</p><p> 5.3.5 好友管理模塊27</p><p> 5.3.6 個(gè)人信息維護(hù)模塊29</p>&l
17、t;p> 第6章 系統(tǒng)測(cè)試31</p><p> 6.1 測(cè)試介紹31</p><p> 6.2 測(cè)試方法簡(jiǎn)介31</p><p> 6.3 主要系統(tǒng)功能模塊測(cè)試32</p><p> 6.3.1 用戶(hù)注冊(cè)模塊測(cè)試32</p><p> 6.3.2 用戶(hù)登錄模塊測(cè)試32</p>
18、<p> 6.3.3 日志管理模塊測(cè)試33</p><p> 6.3.4 相冊(cè)管理模塊測(cè)試33</p><p> 6.3.5 好友管理模塊測(cè)試33</p><p> 6.3.6 個(gè)人信息管理模塊測(cè)試33</p><p><b> 結(jié) 論35</b></p><p&g
19、t;<b> 致 謝36</b></p><p> 參 考 文 獻(xiàn)37</p><p> 附錄A 譯文38</p><p> 利用Visual C++把代碼運(yùn)行在多平臺(tái)上38</p><p> 附錄B 外文原文45</p><p> From one code base
20、 to many platforms using Visual C++45</p><p><b> 第1章 緒論</b></p><p><b> 1.1 博客的概念</b></p><p> 博客剛出現(xiàn)時(shí)的名字叫Weblog,其由web與log兩個(gè)單詞聯(lián)合組成,其字面意思就是網(wǎng)絡(luò)日記,后來(lái)有人把這個(gè)詞的發(fā)音刻意
21、改了一下,讀成we blog,由此,blog這個(gè)詞就被這樣創(chuàng)造出來(lái)了,中文意思就是網(wǎng)絡(luò)日志。它是互聯(lián)網(wǎng)上的一個(gè)信息交流中心。</p><p> 其精神的核心并不是自?shī)首詷?lè),自得其樂(lè)。相反,卻是體現(xiàn)一種有利與他人的共享精神,給他人提供幫助,幫助他人。博客內(nèi)容一般按照時(shí)間順序排列,而且不斷更新。它倡導(dǎo)思想與精神的交流。博客興起之后,博客從網(wǎng)絡(luò)日志轉(zhuǎn)變?yōu)閭€(gè)人深度溝通,娛樂(lè)休閑,交友學(xué)習(xí)等全方位的互聯(lián)網(wǎng)新應(yīng)用。與別的網(wǎng)
22、絡(luò)應(yīng)用相比,它更具深度溝通的潛質(zhì),可以成為主流媒體獲取新聞及公眾觀點(diǎn)的來(lái)源,同時(shí)也為教育業(yè)和商業(yè)創(chuàng)造了知識(shí)共享的環(huán)境,并且能為個(gè)人提供一個(gè)自我表達(dá)的平臺(tái)。個(gè)人日記主要表現(xiàn)的是“小我”,但是博客表現(xiàn)的卻是“大我”。也許兩者形式上很接近,但它們內(nèi)在有著很大的差異。</p><p><b> 1.2 研究的背景</b></p><p> 隨隨著我國(guó)科技的發(fā)展,社會(huì)的進(jìn)步
23、,計(jì)算機(jī)在我們的日常生活中發(fā)揮著越來(lái)越大的作用,越來(lái)越成為我們?nèi)粘I钪械闹匾妮o助工具。在我國(guó),計(jì)算機(jī)技術(shù)的發(fā)展深刻的影響著我們的生活。我國(guó)計(jì)算機(jī)用戶(hù)的數(shù)量不斷增加,應(yīng)用水平也正在不斷提高,尤其是互聯(lián)網(wǎng)等領(lǐng)域的應(yīng)用取得了不錯(cuò)的成績(jī)。其強(qiáng)大的應(yīng)用功能,產(chǎn)生十分了巨大的市場(chǎng)需要,并且未來(lái)計(jì)算機(jī)還將進(jìn)一步應(yīng)向著網(wǎng)絡(luò)化的方向發(fā)展。</p><p> 當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代,計(jì)算機(jī)與信息處理技術(shù)日漸成熟。隨著In
24、ternet和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的蓬勃發(fā)展,Web技術(shù)得到了迅猛地發(fā)展。計(jì)算機(jī)網(wǎng)絡(luò)把世界各地的計(jì)算機(jī)連接在一起,人類(lèi)從此進(jìn)入了互聯(lián)網(wǎng)時(shí)代。計(jì)算機(jī)網(wǎng)絡(luò)化改變了人類(lèi)的世界,人們通過(guò)網(wǎng)絡(luò)進(jìn)行交流(微博、博客等)。在可預(yù)見(jiàn)的將來(lái),計(jì)算機(jī)還將會(huì)進(jìn)一步向網(wǎng)絡(luò)化方向發(fā)展。計(jì)算機(jī)的網(wǎng)絡(luò)化,極大的提高了人們使用博客的便捷性和靈活性,隨著人類(lèi)社會(huì)的發(fā)展,博客也成為了人類(lèi)社會(huì)媒體網(wǎng)絡(luò)的重要組成部分。博客,使人類(lèi)在互聯(lián)網(wǎng)世界第一次有了文化指向。使人類(lèi)的生活過(guò)渡為個(gè)
25、人化的精確的目錄式生存。博客將工作、娛樂(lè)、生活和學(xué)習(xí)融為一體,通過(guò)博客文章,將人類(lèi)日常的思想精華及時(shí)記錄和發(fā)布,萃取并鏈接了全球最有價(jià)值、最有意思、最有意義的信息資源[1]。</p><p> 1.3 研究的目的和意義</p><p> 如今各大高校人才輩出,我們有必要在老師的指導(dǎo)下開(kāi)發(fā)一個(gè)自己的博客管理系統(tǒng)。開(kāi)發(fā)一個(gè)博客管理系統(tǒng)的目的不僅是為了提高自己的實(shí)踐能力,培養(yǎng)自己調(diào)查研究,查
26、閱技術(shù)文獻(xiàn)、資料、手冊(cè)以及培養(yǎng)自己綜合運(yùn)用所學(xué)理論知識(shí)的技能;也是為推動(dòng)博客的發(fā)展,給同學(xué)校友間的交流帶去更大的方便。個(gè)人博客的成員主要由親朋好友組成,他們是一種生活圈,通過(guò)自己對(duì)博客系統(tǒng)的研究,可以推動(dòng)和把握博客的發(fā)展方向,努力為網(wǎng)絡(luò)博客的發(fā)展做出自己的貢獻(xiàn)。</p><p> 博客的不斷壯大對(duì)我國(guó)社會(huì)文化和網(wǎng)絡(luò)時(shí)代具有特殊的意義。它是繼E-mail、ICQ之后出現(xiàn)的又一種的生活方式與交流方式。博客主要用于3
27、個(gè)方面的作用:一是作為新的人際交流通道;二是以個(gè)人為中心的信息摘選平臺(tái);三是以個(gè)人為中心的傳播出版資源庫(kù)。Blog現(xiàn)在在教育方面、商業(yè)方面、校園領(lǐng)域等都得到了很大的發(fā)展,它將互聯(lián)網(wǎng)過(guò)去的通訊功能、交流功能等進(jìn)一步強(qiáng)化,使其更加個(gè)性化、人性化、開(kāi)放化、實(shí)時(shí)化、全球化,把信息共享發(fā)展到資源共享、思想共享。Blog已經(jīng)成為一種繼課件、資源庫(kù)、教育主題網(wǎng)站等信息化教學(xué)模式之后,新的網(wǎng)絡(luò)應(yīng)用模式。它是應(yīng)時(shí)代需求而不斷進(jìn)步的,也是應(yīng)時(shí)代的需求興起的
28、。博客作為人們學(xué)習(xí)和交流的主要方式,得到社會(huì)的廣泛歡迎,所以我選擇“博客”這一課題進(jìn)行研究,希望能通過(guò)對(duì)博客的進(jìn)一步研究,給人們制造一個(gè)更加成熟的知識(shí)交流的平臺(tái),給人類(lèi)帶來(lái)更多的便利。盡自己最大的努力,推動(dòng)博客的發(fā)展以滿(mǎn)足人們的需求。</p><p> 1.4 系統(tǒng)開(kāi)發(fā)的目標(biāo)</p><p> (1) 在進(jìn)行了充分的調(diào)研和對(duì)需求的認(rèn)真理解后,使用主流編程技術(shù)實(shí)現(xiàn)一個(gè)完全基于瀏覽器的博客
29、系統(tǒng),創(chuàng)建一個(gè)便捷的網(wǎng)絡(luò)虛擬社區(qū),使用戶(hù)可以及時(shí)有效并輕松地與他人交流。</p><p> (2) 展現(xiàn)博客的核心思想,使博主通過(guò)發(fā)表“日志”,表達(dá)自己的想法和觀點(diǎn),通過(guò)上傳個(gè)人相冊(cè)記錄自己生活的點(diǎn)點(diǎn)滴滴,從而實(shí)現(xiàn)與訪(fǎng)問(wèn)者得相互交流。</p><p> (3) 實(shí)現(xiàn)博主對(duì)日志,相冊(cè),好友及個(gè)人信息的相關(guān)管理功能。</p><p> (4) 最大限度地實(shí)現(xiàn)網(wǎng)站易
30、維護(hù)性。</p><p> (5) 系統(tǒng)要運(yùn)行穩(wěn)定,安全可靠。</p><p> (6) 設(shè)計(jì)簡(jiǎn)潔美觀的界面,為用戶(hù)的訪(fǎng)問(wèn)提供便捷性。</p><p> (7) 使用Servlet技術(shù)實(shí)現(xiàn)系統(tǒng)登錄功能。</p><p> 第2章 相關(guān)技術(shù)和開(kāi)發(fā)工具介紹</p><p> 2.1 Java編程語(yǔ)言</p&
31、gt;<p> Java編程語(yǔ)言是SUN公司于20世紀(jì)90年代初開(kāi)始開(kāi)發(fā)的是一種簡(jiǎn)單的,分布式的,面向?qū)ο蟮?,性能?yōu)異的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,多線(xiàn)程的動(dòng)態(tài)語(yǔ)言。隨著互聯(lián)網(wǎng)的迅速發(fā)展和web技術(shù)的廣泛應(yīng)用,Java逐漸成為重要的網(wǎng)絡(luò)編程語(yǔ)言。整個(gè)Java的核心是JDK(Java Development Kit),它是java開(kāi)發(fā)的工具包,提供了編譯與運(yùn)行Java應(yīng)用程序的工具和常用類(lèi)庫(kù),自從Java
32、推出以來(lái),JDK已經(jīng)成為使用最廣泛的Java SDK[2]。</p><p> 2.2 瀏覽器/服務(wù)器模式 </p><p> 隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,單機(jī)軟件已很難滿(mǎn)足人們的需求,由此產(chǎn)生了基于網(wǎng)絡(luò)的軟件架構(gòu),起初,這種網(wǎng)絡(luò)架構(gòu)為C/S(Client/Server)模式。但隨著時(shí)間的推移,互聯(lián)網(wǎng)的普及使得用于上網(wǎng)的瀏覽器已經(jīng)成為操作系統(tǒng)中的重要一項(xiàng),瀏覽器的功能也日益強(qiáng)大,甚至可以
33、取代“客戶(hù)/服務(wù)器”模式中的客戶(hù)端軟件,成為統(tǒng)一的客戶(hù)端。這樣,編程人員就可以單獨(dú)編寫(xiě)運(yùn)行在服務(wù)器上的軟件,使瀏覽器代替“客戶(hù)/服務(wù)器”模式中的客戶(hù)端軟件??蛻?hù)可以通過(guò)瀏覽器與服務(wù)器端軟件進(jìn)行交互并得到結(jié)果,這種架構(gòu)就是瀏覽器/服務(wù)器模式。瀏覽器/服務(wù)器模式是對(duì)C/S模式的一種改變和改進(jìn),其結(jié)合了多種Script語(yǔ)言(VBScript、JavaScript…)和ActiveX技術(shù),同時(shí)也充分的利用了不斷成熟和完善的的WWW瀏覽器技術(shù),它
34、是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。</p><p> 在B/S(Browser/Server)模式的系統(tǒng)中,用戶(hù)通過(guò)瀏覽器向許多服務(wù)器發(fā)出請(qǐng)求,服務(wù)器對(duì)瀏覽器的請(qǐng)求進(jìn)行處理,將用戶(hù)所需信息返回到瀏覽器。而其余如數(shù)據(jù)請(qǐng)求、結(jié)果返回以及動(dòng)態(tài)網(wǎng)頁(yè)的生成、對(duì)應(yīng)用程序的執(zhí)行等工作全部由Web Server完成。隨著Windows將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)已成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。相對(duì)于C/S模式的應(yīng)用程序
35、,B/S模式應(yīng)用程序顯然是一個(gè)非常大的進(jìn)步。</p><p> B/S模式應(yīng)用程序開(kāi)發(fā)維護(hù)成本較低,B/S模式的軟件只需要在服務(wù)器端發(fā)布,客戶(hù)端瀏覽器不需要任何維護(hù),因而極大的降低了維護(hù)成本。除此以外可移植性也高,B/S模式的軟件運(yùn)行在互聯(lián)網(wǎng)上,提供聯(lián)網(wǎng)服務(wù),客戶(hù)端安裝的是通用瀏覽器,沒(méi)有移植的問(wèn)題[3]。</p><p> 2.3 JSP+Servlet+JavaBean設(shè)計(jì)模式&l
36、t;/p><p> JSP+Servlet+JavaBean的設(shè)計(jì)模式是對(duì)MVC(Model View Controller)設(shè)計(jì)思想的良好實(shí)現(xiàn),一共劃分了三個(gè)業(yè)務(wù)層:前臺(tái)展示+數(shù)據(jù)庫(kù)操作+業(yè)務(wù)控制;其中Servlet主要實(shí)現(xiàn)業(yè)務(wù)的控制,JSP主要實(shí)現(xiàn)前臺(tái)的展示,JavaBean主要實(shí)現(xiàn)數(shù)據(jù)庫(kù)的操作。</p><p> 2.3.1 JSP簡(jiǎn)介</p><p> J
37、SP編程技術(shù)是由Sun公司在1999年倡導(dǎo)的,多家公司參與提出的一種Web服務(wù)技術(shù)標(biāo)準(zhǔn),其全稱(chēng)為Java Server Pages編程技術(shù),并且Java編程語(yǔ)言是其主要編程腳本。JSP具有良好的跨平臺(tái)性,由于其腳本語(yǔ)言是Java語(yǔ)言,因此具有Java的特性,同時(shí)擁有“一次編寫(xiě),到處運(yùn)行的”特點(diǎn),支持現(xiàn)在大部分的平臺(tái)。JSP具有很高的執(zhí)行效率,當(dāng)JSP頁(yè)面第一次被請(qǐng)求時(shí),JSP頁(yè)面轉(zhuǎn)換成Servlet,隨后被編譯成*.class文件,以后
38、若再有其他用戶(hù)請(qǐng)求該JSP頁(yè)面時(shí),JSP頁(yè)面不會(huì)被再次編譯,而是直接執(zhí)行上次已經(jīng)編譯好的*.class文件??缙脚_(tái)且可重用的EJB和JavaBeans組件,為JSP程序的開(kāi)發(fā)提供了十分大的便捷,提高了JSP的可重用性。如,用戶(hù)可以將十分復(fù)雜的處理程序封裝到組件中,在以后的開(kāi)發(fā)中可以多次的運(yùn)用這些組件。此外使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用XML或者HTML標(biāo)記來(lái)設(shè)計(jì)和格式化最終生成頁(yè)面。在最終的頁(yè)面中使用JSP標(biāo)記或腳本將Jav
39、aBean組件中的動(dòng)態(tài)內(nèi)容引入。這樣可以有效的將頁(yè)面顯示與內(nèi)容生成分離,使編程人員和頁(yè)面設(shè)計(jì)人員可以同時(shí)進(jìn)行工作,互不</p><p> 2.3.2 Servlet簡(jiǎn)介</p><p> Servlet和Applet相對(duì)應(yīng), Applet是服務(wù)提供者為了通過(guò)客戶(hù)端平臺(tái)來(lái)實(shí)現(xiàn)Web動(dòng)態(tài)內(nèi)容的一種最早的嘗試,它主要關(guān)注使用客戶(hù)端平臺(tái)來(lái)交付動(dòng)態(tài)用戶(hù)體驗(yàn)。而Servlet則是服務(wù)提供者為了通過(guò)
40、服務(wù)器平臺(tái)來(lái)實(shí)現(xiàn)Web動(dòng)態(tài)內(nèi)容的一種嘗試,開(kāi)發(fā)人員研究的是如何使用服務(wù)器平臺(tái)實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容。由于Applet是運(yùn)行在客戶(hù)端瀏覽器上的程序,而Servlet是運(yùn)行在web服務(wù)器端的程序。所以有人將Applet稱(chēng)為客戶(hù)端的小程序,將Servle稱(chēng)為服務(wù)器端程序小程序。</p><p> Servlet是使用Java Servlet API所定義的相關(guān)類(lèi)和方法的Java程序,它被用來(lái)擴(kuò)展服務(wù)器的性能,服務(wù)器上駐留著可以
41、通過(guò)“請(qǐng)求-響應(yīng)”編程模型來(lái)訪(fǎng)問(wèn)的應(yīng)用程序。雖然servlet可以對(duì)任何類(lèi)型的請(qǐng)求產(chǎn)生響應(yīng),但通常只用來(lái)擴(kuò)展Web服務(wù)器的應(yīng)用程序。Java Servlet技術(shù)為這些應(yīng)用程序定義了一個(gè)特定于HTTP的 servlet類(lèi)。javax.servlet和javax.servlet.http包為編寫(xiě)servlet提供了接口和類(lèi)。所有的servlet都必須實(shí)現(xiàn)Servlet接口,該接口定義了生命周期方法。當(dāng)實(shí)現(xiàn)一個(gè)通用的服務(wù)時(shí),您可以使用或擴(kuò)展由
42、Java Servlet API提供的GenericServlet類(lèi)。HttpServlet類(lèi)提供了一些方法,諸如doGet和doPost,以用于處理特定于HTTP的服務(wù)[5]。</p><p> 2.3.3 JavaBean簡(jiǎn)介</p><p> SUN公司把JavaBean定義為一個(gè)可重用的軟件組件,用戶(hù)可以使用JavaBean將值、數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)功能、處理和其他任何可以用java代碼
43、創(chuàng)造的對(duì)象進(jìn)行打包。它是一種組件體系結(jié)構(gòu),并且其他的開(kāi)發(fā)者可以通過(guò)內(nèi)部的Servlet、其他JavaBean、JSP頁(yè)面、applet程序或者應(yīng)用來(lái)使用這些對(duì)象。 </p><p> JavaBean可分為兩種:一種是主要負(fù)責(zé)處理事務(wù)(如操縱數(shù)據(jù)庫(kù),數(shù)據(jù)運(yùn)算)的沒(méi)有用戶(hù)界面的JavaBean,即非可視化組件;還有一種是有用戶(hù)界面(UI,User Interface)的JavaBean,即可視化組件。早期最常用的
44、是可視化組件,但隨著B(niǎo)/S模式應(yīng)用程序的流行,非可視化的JavaBean越來(lái)越顯示出優(yōu)勢(shì)。JSP通常訪(fǎng)問(wèn)的是沒(méi)有用戶(hù)界面的JavaBean,用戶(hù)不必設(shè)計(jì)組建的外觀,主要設(shè)計(jì)Bean的屬性和方法,而數(shù)據(jù)的顯示則有JSP頁(yè)面來(lái)完成。</p><p> 2.4 開(kāi)發(fā)工具介紹</p><p> 2.4.1 MyEclipse簡(jiǎn)介</p><p> MyEclipse企
45、業(yè)級(jí)工作平臺(tái)是對(duì)Eclipse IDE的擴(kuò)展,它是功能豐富的J2EE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能。利用它我們可以在數(shù)據(jù)庫(kù)和J2EE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率[6]。</p><p> 在結(jié)構(gòu)上,MyEclipse的特征可以被分為J2EE模型WEB開(kāi)發(fā)工具、EJB開(kāi)發(fā)工具、應(yīng)用程序服務(wù)器的連接器、J2EE項(xiàng)目部署服務(wù)、數(shù)據(jù)庫(kù)服務(wù)、MyEclipse整合幫助
46、。</p><p> 對(duì)于以上每一種類(lèi)別的功能,在Eclipse中都有相應(yīng)的功能部件,并通過(guò)一系列的插件來(lái)實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。</p><p> 簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的J2EE集成開(kāi)發(fā)環(huán)境,支持代碼編寫(xiě)、配置、測(cè)試以及除錯(cuò),MyEclipse6
47、.0以前版本需先安裝Eclipse。MyEclipse6.0以后版本安裝時(shí)不需安裝Eclipse。</p><p> 2.4.2 Tomcat簡(jiǎn)介</p><p> 如今,基于Web的應(yīng)用越來(lái)越多,傳統(tǒng)的Html已經(jīng)滿(mǎn)足不了如今的需求。因此需要一個(gè)交互式的Web,于是便誕生了各種Web語(yǔ)言。如Asp,Jsp,Php等。當(dāng)然,這些語(yǔ)言與傳統(tǒng)的語(yǔ)言有著密切的聯(lián)系,如Php基于C和C++語(yǔ)言
48、,Jsp基于Java語(yǔ)言。Tomcat即是一個(gè)Jsp和Servlet的運(yùn)行平臺(tái)[7]。</p><p> Tomcat是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器,是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開(kāi)發(fā)而成。</p><p> 2.4.3 MYSQL簡(jiǎn)介</p><p> MySQL是一個(gè)小型關(guān)系型
49、數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。在2008年1月被Sun公司收購(gòu)。而2009年,SUN又被Oracle收購(gòu)。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi)。這樣就增加了速度并提高了靈活性。MySQL使用的是SQL“結(jié)構(gòu)化查詢(xún)語(yǔ)言,SQL是用于訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的最常用標(biāo)準(zhǔn)化語(yǔ)言。MySQL軟件采用了GPL(GNU通用公共許可證)。由于其體積小、速度快、總體成本低,源碼開(kāi)放
50、,許多中小型網(wǎng)站為了降低網(wǎng)站總體成本,大都選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)[8]。</p><p> 第3章 可行性研究與需求分析</p><p><b> 3.1 可行性研究</b></p><p> 可行性研究是為了弄清所定義的項(xiàng)目是否是值得進(jìn)行和是否能實(shí)現(xiàn)。一個(gè)項(xiàng)目和一個(gè)工程不能一味的追求速度而盲目的進(jìn)行開(kāi)發(fā),因?yàn)椴皇敲恳粋€(gè)的問(wèn)題都有
51、可以解決的辦法,如果問(wèn)題沒(méi)有可行解的話(huà),那么花費(fèi)在工程上的所有資源、人力和經(jīng)費(fèi)都是白費(fèi)的。因此必要的可行性研究在開(kāi)工前是必不可少的。</p><p> 本系統(tǒng)主要進(jìn)行了以下4個(gè)方面的分析:</p><p> (1) 經(jīng)濟(jì)可行性。本系統(tǒng)對(duì)系統(tǒng)軟硬件都沒(méi)有什么太高的要求,因此對(duì)于開(kāi)發(fā)者來(lái)說(shuō)并不需要支付太高的成本,只需要對(duì)系統(tǒng)的開(kāi)發(fā)者和管理者付出一定報(bào)酬即可。并且開(kāi)發(fā)周期不需要太長(zhǎng),節(jié)省了大
52、量的物力、人力、財(cái)力資源。綜上所述,本系統(tǒng)在經(jīng)濟(jì)上是絕對(duì)可行的。</p><p> (2) 技術(shù)上可行性。在軟件方面,本系統(tǒng)主要運(yùn)用JSP和Servlet編程技術(shù)進(jìn)行開(kāi)發(fā),Servlet是一個(gè)Java類(lèi),Java語(yǔ)言能夠?qū)崿F(xiàn)的,除了圖形界面以外,Servlet基本都可以實(shí)現(xiàn),總的來(lái)說(shuō)其具有高效、跨平臺(tái)、功能強(qiáng)大、方便、靈活性和擴(kuò)展性等技術(shù)優(yōu)點(diǎn),完全勝任博客管理系統(tǒng)的各項(xiàng)開(kāi)發(fā)任務(wù)。開(kāi)發(fā)工具采用的是MyEclips
53、e,它包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能。利用它我們可以在數(shù)據(jù)庫(kù)連接以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。而數(shù)據(jù)庫(kù)系統(tǒng)則采用的是MySQL數(shù)據(jù)庫(kù)。通過(guò)分析,在軟硬件方面現(xiàn)有的工具與環(huán)境完全可以滿(mǎn)足需求,因此具有技術(shù)上的可行性。</p><p> (3) 操作可行性。操作可行性主要研究新系統(tǒng)規(guī)定的模式是否可行。通過(guò)研究,這個(gè)系統(tǒng)的操作方式在用戶(hù)組織內(nèi)是能夠容易接受的,因此具備操作可行性。</p
54、><p> (4) 社會(huì)可行性。通過(guò)大量的研究,發(fā)現(xiàn)該系統(tǒng)不會(huì)引起侵權(quán)等問(wèn)題,具備社會(huì)可行性。</p><p><b> 3.2 需求分析</b></p><p> 需求分析是軟件定義時(shí)期的最后一個(gè)階段,是整個(gè)軟件成功實(shí)現(xiàn)的基礎(chǔ),只有真正做好需求分析,才能真正了解客戶(hù)的需要,以指導(dǎo)好下一步的工作。整個(gè)軟件的實(shí)施是建立在需求所分析出的各項(xiàng)功能上
55、的[9]。</p><p> 3.2.1 問(wèn)題分析</p><p> 隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,網(wǎng)絡(luò)也成為人們工作、生活、交流、學(xué)習(xí)的重要組成部分,不斷充實(shí)和改善著人們的生活。在網(wǎng)絡(luò)中,創(chuàng)建一個(gè)個(gè)性化的個(gè)人博客網(wǎng),既可以讓用戶(hù)通過(guò)發(fā)表文章展示個(gè)人魅力,抒發(fā)個(gè)人情感,充分地表達(dá)自己的思想,也可以讓網(wǎng)友根據(jù)博主的日志,發(fā)表個(gè)人的觀點(diǎn),表達(dá)自己的思想,與博主進(jìn)行思想交流。</p>
56、<p> 博客網(wǎng)站在設(shè)計(jì)時(shí),應(yīng)遵循用戶(hù)為系統(tǒng)中心的設(shè)計(jì)理念。除了降低成本以外,還需要在功能的多樣性方面盡量滿(mǎn)足客戶(hù)的需求。系統(tǒng)應(yīng)能實(shí)現(xiàn)用戶(hù)特定的需求,操作界面友好,功能設(shè)置符合用戶(hù)的習(xí)慣。</p><p> 3.2.2 系統(tǒng)性能要求</p><p> 要求各模塊流程清晰,色彩搭配和諧、功能完善、突出主題特色;系統(tǒng)功能齊全、整體設(shè)計(jì)合理;鏈接正確、流程清晰。要求響應(yīng)時(shí)間短,頁(yè)
57、面響應(yīng)時(shí)間不能過(guò)長(zhǎng),并且頁(yè)面不能出現(xiàn)假死現(xiàn)象。其它要求如下:</p><p> (1) 設(shè)備要求:計(jì)算機(jī)穩(wěn)定性要良好,整套系統(tǒng)要經(jīng)濟(jì)實(shí)惠。</p><p> (2) 在可維護(hù)上:要求系統(tǒng)可修改,可測(cè)試,可擴(kuò)充。</p><p> (3) 在數(shù)據(jù)集中上:要求用統(tǒng)一的數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)的完整性和實(shí)時(shí)性。</p><p> (4) 在使用上:要
58、求系統(tǒng)易于理解,易于學(xué)習(xí),操作簡(jiǎn)便,易用和靈活。</p><p> (5) 在安全上:要求系統(tǒng)安全可靠。</p><p> 3.2.3 系統(tǒng)功能需求概述</p><p> 本系統(tǒng)最主要體現(xiàn)多用戶(hù)的使用,用戶(hù)可以在本系統(tǒng)中注冊(cè),注冊(cè)成功后,用戶(hù)即可擁有屬于自己的博客,登錄自己的博客后,就可以發(fā)表日志,修改日志,刪除日志,查看評(píng)論,上傳照片、刪除照片,管理好友,管
59、理自己的相關(guān)信息。同時(shí)也可以進(jìn)入好友的博客,瀏覽他人的博客日志、評(píng)論日志、瀏覽圖片。</p><p> 3.2.4 系統(tǒng)運(yùn)行環(huán)境要求</p><p> (1) 服務(wù)器端硬件環(huán)境要求: PC一臺(tái),Windows XP以上操作系統(tǒng),處理器Inter Pentium 4 1.6GHz 或更高,1G以上內(nèi)存,30GB以上硬盤(pán)容量。</p><p> (2) 服務(wù)器端
60、軟件環(huán)境要求:JDK1.6,MyEclipse及Tomcat插件以及相應(yīng)的jar包,MySQL6.0 及以上版本;Tomcat6.0以上版本。</p><p><b> 第4章 概要設(shè)計(jì)</b></p><p> 4.1 系統(tǒng)功能結(jié)構(gòu)圖</p><p> 個(gè)人博客的功能結(jié)構(gòu)如圖4.1所示:</p><p> 圖4
61、.1 個(gè)人博客的功能結(jié)構(gòu)圖</p><p><b> 4.2 系統(tǒng)流程圖</b></p><p> 用戶(hù)若想進(jìn)入自己的博客空間必須先登錄,如果還沒(méi)有注冊(cè)賬戶(hù),須注冊(cè)后再登錄,登錄時(shí),系統(tǒng)會(huì)進(jìn)行登錄驗(yàn)證,若密碼或者用戶(hù)名錯(cuò)誤,則登錄報(bào)錯(cuò),用戶(hù)要返回重新登錄,正確的輸入用戶(hù)名和帳號(hào)后,才會(huì)進(jìn)入自己的博客空間,用戶(hù)可以選擇進(jìn)入相應(yīng)的界面,進(jìn)行相應(yīng)的操作。</p&g
62、t;<p> 面向用戶(hù)的客戶(hù)端系統(tǒng)流程圖 如圖4.2所示:</p><p> 圖4.2 面向用戶(hù)的客戶(hù)端流程圖</p><p> 4.3 主要功能模塊</p><p> 主要模塊管理關(guān)系如圖4.3所示:</p><p> 圖4.3 系統(tǒng)各模塊關(guān)系圖</p><p> (1) 用戶(hù)注冊(cè)模塊<
63、;/p><p> 用戶(hù)注冊(cè)模塊用于建立博客網(wǎng)站固定的客戶(hù)群體,通過(guò)記錄對(duì)應(yīng)的博客檔案,實(shí)現(xiàn)對(duì)博客信息的后臺(tái)維護(hù)及管理,用戶(hù)若想擁有自己的個(gè)人博客空間,首先必須先進(jìn)行注冊(cè),注冊(cè)過(guò)后就擁有了屬于自己的博客空間。</p><p> (2) 用戶(hù)登錄模塊</p><p> 只有進(jìn)行登錄并通過(guò)身份驗(yàn)證的用戶(hù),才可以在個(gè)人博客頁(yè)面發(fā)表日志,并借助個(gè)人設(shè)置實(shí)現(xiàn)對(duì)個(gè)人博客相關(guān)信息
64、的管理維護(hù)。對(duì)于沒(méi)有經(jīng)過(guò)身份驗(yàn)證的用戶(hù)不允許在博客頁(yè)面中發(fā)表日志,更不允許對(duì)博客頁(yè)面信息進(jìn)行管理維護(hù)。</p><p> (3) 日志管理模塊</p><p> 日志管理模塊列出了日志標(biāo)題、日志類(lèi)型、發(fā)表時(shí)間以及相應(yīng)的操作??筛鶕?jù)分類(lèi)顯示功能查看當(dāng)前分類(lèi)下的日志列表。用戶(hù)可以通過(guò)該模塊實(shí)現(xiàn)對(duì)個(gè)人日志的管理,當(dāng)然,對(duì)日志進(jìn)行操作的前提條件是用戶(hù)必須成功的登錄了系統(tǒng)。</p>
65、<p> (4) 相冊(cè)管理模塊</p><p> 用戶(hù)注冊(cè)登陸后,系統(tǒng)為用戶(hù)提供一個(gè)方便快捷的網(wǎng)絡(luò)相冊(cè),用戶(hù)可以通過(guò)該功能把自己個(gè)人照片上傳到博客上,與好友共同分享,該相冊(cè)功能可以使博主隨時(shí)更新個(gè)人博客系統(tǒng)內(nèi)的相冊(cè)文件,便于對(duì)相冊(cè)文件的管理,以及吸引更多的瀏覽者。</p><p> (5) 好友管理模塊</p><p> 通過(guò)好友搜索功能,用戶(hù)可
66、以根據(jù)自己的喜好添加其他用戶(hù)為好友,并且瀏覽關(guān)注好友的博客動(dòng)態(tài)。</p><p> (6) 個(gè)人信息維護(hù)模塊</p><p> 登錄用戶(hù)隨時(shí)隨地可以變更自己的個(gè)人信息,并且可以通過(guò)該模塊來(lái)展示自己的個(gè)人信息,讓更多的好友來(lái)關(guān)注自己。</p><p><b> 4.4 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 4.4.
67、1 數(shù)據(jù)庫(kù)分析</p><p> 本系統(tǒng)是一個(gè)中小型的博客管理系統(tǒng),考慮到用戶(hù)信息量和開(kāi)發(fā)成本等問(wèn)題,決定采用MySql數(shù)據(jù)庫(kù)技術(shù)。數(shù)據(jù)庫(kù)是當(dāng)前應(yīng)用軟件系統(tǒng)的重要組成部分,如何使基于數(shù)據(jù)庫(kù)的應(yīng)用系統(tǒng)安全、高效的運(yùn)行一直是軟件開(kāi)發(fā)技術(shù)研究的難題。所以本系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)基于以下幾點(diǎn)來(lái)考慮:</p><p> (1) 數(shù)據(jù)庫(kù)規(guī)范化與非規(guī)范化的考慮。(2) 數(shù)據(jù)查詢(xún)優(yōu)化與索引的建立。</
68、p><p> 4.4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)E-R圖</p><p> 博客信息管理系統(tǒng)涉及的實(shí)體包括:</p><p> (1) 用戶(hù):用戶(hù)ID、用戶(hù)密碼、真實(shí)姓名、性別、E-mail、用戶(hù)名稱(chēng)、QQ號(hào)、身份證號(hào)、興趣愛(ài)好。 </p><p> (2) 日志:日志編號(hào)、日志標(biāo)題、日志內(nèi)容、日志發(fā)表日期、日志類(lèi)別編號(hào)、瀏覽次數(shù)、日志所屬用戶(hù)ID。
69、</p><p> (3) 日志類(lèi)別:日志類(lèi)別編號(hào)、類(lèi)別描述、類(lèi)別名。</p><p> (4) 評(píng)論:評(píng)論編號(hào)、日志ID、、評(píng)論內(nèi)容、評(píng)論標(biāo)題,評(píng)論用戶(hù)。</p><p> (5) 相冊(cè): 照片編號(hào)、照片描述、上傳時(shí)間、用戶(hù)ID、照片地址。</p><p> (6) 好友: 用戶(hù)ID、用戶(hù)名稱(chēng)、好友ID、好友名稱(chēng)。</p>
70、;<p> 通過(guò)前面對(duì)博客信息系統(tǒng)數(shù)據(jù)的分析,綜合本系統(tǒng)各子模塊要實(shí)現(xiàn)的功能可以得到:數(shù)據(jù)庫(kù)整體概念模型(E-R圖)。</p><p> 數(shù)據(jù)庫(kù)整體E-R圖如圖4.4所示:</p><p> 圖4.4 數(shù)據(jù)庫(kù)整體E-R圖</p><p> 4.4.3 系統(tǒng)數(shù)據(jù)表設(shè)計(jì)</p><p> ?。?)用戶(hù)表,此表主要用于保存用戶(hù)
71、的基本信息。其結(jié)構(gòu)如表4.1所示。</p><p><b> 表4.1 用戶(hù)表</b></p><p> ?。?)日志表,此表主要用于保存日志的基本信息。其結(jié)構(gòu)如表4.2所示。</p><p><b> 表4.2 日志表</b></p><p> (3)日志評(píng)論表,此表主要用于保存評(píng)論的基本信
72、息。其結(jié)構(gòu)如表4.3所示。</p><p> 表4.3 日志評(píng)論表</p><p> (4)相冊(cè)表,此表主要用于保存相片的基本信息。其結(jié)構(gòu)如表4.4所示。</p><p><b> 表4.4 相冊(cè)表</b></p><p> ?。?)日志類(lèi)別表,此表用于保存日志類(lèi)別的基本信息。其結(jié)構(gòu)如表4.5所示。</p&g
73、t;<p> 表4.5 日志類(lèi)別表</p><p> ?。?)好友信息表,此表用于博主的好友信息。其結(jié)構(gòu)如表4.6所示。</p><p><b> 表4.6 好友表</b></p><p><b> 第5章 詳細(xì)設(shè)計(jì)</b></p><p><b> 5.1 指導(dǎo)思想
74、</b></p><p> 本著從用戶(hù)角度出發(fā)進(jìn)行系統(tǒng)功能設(shè)計(jì)的原則,要求全面符合用戶(hù)提出的需求。同時(shí)要求系統(tǒng)設(shè)計(jì)在不違反系統(tǒng)整體性的基礎(chǔ)上,可進(jìn)行二次開(kāi)發(fā),以不斷完善和拓展系統(tǒng)功能。</p><p> 5.2 公共核心類(lèi)的設(shè)計(jì)</p><p> 5.2.1 數(shù)據(jù)庫(kù)相關(guān)類(lèi)</p><p> 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)核心代碼如圖5.1
75、:</p><p> 圖5.1加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)核心代碼</p><p> 說(shuō)明:getConnection()方法主要負(fù)責(zé)獲得數(shù)據(jù)庫(kù)連接對(duì)象。</p><p> 5.2.2 編寫(xiě)JavaBean類(lèi)</p><p> 為每一個(gè)數(shù)據(jù)庫(kù)表建一個(gè)JavaBean類(lèi),完成對(duì)該表字段的獲取和設(shè)置。</p><p> 博客信
76、息管理系統(tǒng)所用的JavaBean類(lèi)列表如表5.1所示。</p><p> 表5.1 JavaBean類(lèi)列表</p><p> 例如ArticleForm類(lèi)的部分代碼如下:</p><p> public class ArticleForm{</p><p> // 屬性,對(duì)應(yīng)數(shù)據(jù)表中的字段名</p><p>
77、 private String title=“”;</p><p> // 字段的訪(fǎng)問(wèn)和設(shè)置方法</p><p> public String getTitle() {</p><p> return title;</p><p><b> }</b></p><p> public v
78、oid setTitle(String title) {</p><p> this.title = title;</p><p><b> }</b></p><p><b> }</b></p><p> ArticleForm類(lèi):通過(guò)getTitle()方法獲取title屬性的值,通過(guò)
79、setTitle(String title)方法設(shè)置title屬性的值。</p><p> 5.2.3 管理類(lèi)設(shè)計(jì)</p><p> 上面每一個(gè)JavaBean類(lèi)都有一個(gè)相對(duì)應(yīng)的管理類(lèi),是在JavaBean類(lèi)及數(shù)據(jù)庫(kù)相關(guān)類(lèi)的基礎(chǔ)上完成對(duì)數(shù)據(jù)庫(kù)表的訪(fǎng)問(wèn)、更新、統(tǒng)計(jì)操作。</p><p> 博客信息管理系統(tǒng)所用的管理類(lèi)列表如表5.2所示。</p>&
80、lt;p> 表5.2 管理類(lèi)列表</p><p> 其中ArticleDao類(lèi):封裝了對(duì)日志表的所有操作,包括添加日志、更新日志、刪除日志、查詢(xún)?nèi)罩镜取?lt;/p><p> 5.3 主要功能模塊的功能及實(shí)現(xiàn)</p><p> 5.3.1 用戶(hù)注冊(cè)模塊</p><p> 該模塊主要實(shí)現(xiàn)了用戶(hù)的注冊(cè)管理,用戶(hù)可以通過(guò)該模塊把自己的個(gè)
81、人信息注冊(cè)到后臺(tái)數(shù)據(jù)庫(kù),在輸入用戶(hù)名時(shí)系統(tǒng)會(huì)根據(jù)后臺(tái)數(shù)據(jù)庫(kù)表對(duì)用戶(hù)名進(jìn)行校驗(yàn),如果該用戶(hù)名已經(jīng)被其他用戶(hù)占用,則提醒用戶(hù)此用戶(hù)名已被占用,在注冊(cè)的時(shí)候兩次輸入密碼必須一致,否則系統(tǒng)會(huì)提示用戶(hù)兩次密碼不一致,無(wú)法注冊(cè)成功。用戶(hù)注冊(cè)界面如圖5.2所示:</p><p> 圖5.2 用戶(hù)注冊(cè)界面</p><p> 注冊(cè)功能核心代碼如圖5.3所示:</p><p>
82、圖5.3 注冊(cè)功能核心代碼</p><p> 說(shuō)明:首先ConsumerServlet將請(qǐng)求參數(shù)封裝成ConsumerForm對(duì)象,再傳到ConsumerDao進(jìn)行保存。</p><p> 5.3.2 用戶(hù)登錄模塊</p><p> 當(dāng)博主需發(fā)表新日志或者是對(duì)博客進(jìn)行管理時(shí),就必須先進(jìn)行登錄驗(yàn)證操作,然后才能進(jìn)入博客系統(tǒng)后臺(tái),只用注冊(cè)用戶(hù)正確的輸入用戶(hù)名和密碼
83、后才可以成功登錄,如果用戶(hù)還沒(méi)有注冊(cè),則無(wú)法登錄,注冊(cè)用戶(hù)登陸時(shí)系統(tǒng)會(huì)先對(duì)用戶(hù)名進(jìn)行校驗(yàn),如果用戶(hù)名輸錯(cuò),則會(huì)彈出對(duì)話(huà)框提醒“該用戶(hù)不存在”, 正確的輸入用戶(hù)名后,系統(tǒng)將驗(yàn)證密碼,若密碼輸入錯(cuò)誤,則會(huì)彈出對(duì)話(huà)框提醒用戶(hù),密碼輸入正確,則彈出對(duì)話(huà)框 提醒用戶(hù)登錄成功。用戶(hù)登錄界面如圖5.4所示。</p><p> 圖5.4 用戶(hù)登錄界面</p><p> 登錄功能核心代碼如圖5.5所示
84、:</p><p> 圖5.5 登錄功能核心代碼</p><p> 說(shuō)明: Consumerdao根據(jù)username獲取該用戶(hù),ConsumerServlet再判斷請(qǐng)求中的密碼,與數(shù)據(jù)庫(kù)中用戶(hù)的密碼是否一致。一致則登錄成功,否則失敗。</p><p> 5.3.3 日志管理模塊</p><p> 該模塊的主要實(shí)現(xiàn)日志列表顯示,日志
85、詳情顯示,日志的撰寫(xiě),日志的編輯,日志的刪除,日志的評(píng)論,日志的分類(lèi)查詢(xún)等相關(guān)功能。其中,日志列表顯示界面如圖5.6所示:</p><p> 圖5.6 日志列表顯示界面</p><p> (1) 日志撰寫(xiě)功能</p><p> 當(dāng)用戶(hù)需要添加新的日志時(shí),可單擊日志管理顯示界面中的寫(xiě)日志鏈接,進(jìn)入添加新日志的界面。在日志標(biāo)題、內(nèi)容輸入域內(nèi)輸入相應(yīng)的文字,以及選擇
86、分類(lèi)后,單擊“確定”按鈕進(jìn)行表單提交,即可完成添加新日志的操作。日志撰寫(xiě)界面如圖5.7所示:</p><p> 圖5.7 日志撰寫(xiě)界面</p><p> 日志撰寫(xiě)功能Servlet部分核心代碼如圖5.8所示:</p><p> 圖5.8 日志撰寫(xiě)功能Servlet部分核心代碼</p><p> 日志撰寫(xiě)功能DAO部分核心代碼如圖5.9
87、所示:</p><p> 圖5.9 日志撰寫(xiě)功能DAO部分核心代碼</p><p> 說(shuō)明:ArticleServlet將請(qǐng)參數(shù)封裝成ArticleForm對(duì)象,再將數(shù)據(jù)傳到ArticleDao進(jìn)行保存。</p><p> (2) 日志編輯功能</p><p> 博客用戶(hù)可以依照自己的需求對(duì)日志的標(biāo)題,日志類(lèi)型,內(nèi)容進(jìn)行修改。點(diǎn)擊“保
88、存”按鈕。日志編輯界面如圖5.10所示:</p><p> 圖5.10 日志編輯界面</p><p> 日志修改功能實(shí)現(xiàn)核心代碼如圖5.11所示:</p><p> 圖5.11 日志修改功能實(shí)現(xiàn)核心代碼</p><p><b> (3) 日志評(píng)論</b></p><p> 用戶(hù)或者好友可
89、以在瀏覽日志詳情的同時(shí),點(diǎn)擊日志詳情顯示頁(yè)面文章標(biāo)題后的評(píng)論按鈕,發(fā)表自己的觀點(diǎn),點(diǎn)評(píng)文章。日志評(píng)論界面如圖5.12所示:</p><p> 圖5.12 日志評(píng)論界面</p><p> 日志評(píng)論功能實(shí)現(xiàn)核心代碼如圖5.13:</p><p> 圖5.13 日志評(píng)論功能實(shí)現(xiàn)核心代碼</p><p> 說(shuō)明:ArticleServlet將
90、請(qǐng)求參數(shù)封裝成RestoreForm對(duì)象。</p><p> 5.3.4 相冊(cè)管理模塊</p><p> 相冊(cè)管理模塊負(fù)責(zé)博主照片的上傳,列表顯示,查詢(xún),刪除。其中,相冊(cè)列表顯示界面如圖5.14所示:</p><p> 圖5.14 相冊(cè)列表顯示界面</p><p><b> 相冊(cè)上傳功能實(shí)現(xiàn)</b></p&
91、gt;<p> 博主可以在相片上傳界面,點(diǎn)擊上傳地址后面的瀏覽按鈕,把自己喜歡的照片上傳到博客里,跟好友分享。相冊(cè)上傳界面如圖5.15所示:</p><p> 圖5.15 相冊(cè)上傳界面</p><p> 相冊(cè)上傳功能核心代碼如圖5.16和5.17所示:</p><p> 圖5.16 相冊(cè)上傳功能核心代碼</p><p>
92、 圖5.17 相冊(cè)上傳功能核心代碼</p><p> 說(shuō)明:選擇需要上傳的圖片后,輸入照片描述,點(diǎn)擊上傳“按鈕”,提交給“photoServlet”并調(diào)用photoDao進(jìn)行數(shù)據(jù)庫(kù)操作。完成照片上傳。</p><p> 5.3.5 好友管理模塊</p><p> 好友管理模塊實(shí)現(xiàn)了好友列表顯示,好友搜索和添加功能。</p><p>
93、 好友管理模塊界面如圖5.18所示:</p><p> 圖5.18 好友管理模塊界面</p><p> 通過(guò)好友搜索功能,用戶(hù)可以根據(jù)自己的喜好添加其他用戶(hù)為好友,并且瀏覽關(guān)注好友的博客動(dòng)態(tài)。好友搜索界面如圖5.19所示:</p><p> 圖5.19 好友搜索界面圖</p><p> 好友搜索功能Servlet部分核心代碼如圖5.2
94、0所示:</p><p> 圖5.20 好友搜索功能Servlet部分核心代碼</p><p> 好友搜索功能DAO部分核心代碼如圖5.21所示:</p><p> 圖5.21 好友搜索功能DAO部分核心代碼</p><p> 說(shuō)明:輸入“用戶(hù)名”,則查詢(xún)出這個(gè)用戶(hù)。</p><p> 5.3.6 個(gè)人信息維
95、護(hù)模塊</p><p> 登錄用戶(hù)隨時(shí)隨地可以變更自己的個(gè)人信息,并且可以通過(guò)該模塊來(lái)展示自己的個(gè)人信息,讓更多的好友來(lái)關(guān)注自己。博主通過(guò)此頁(yè)面對(duì)自己的信息進(jìn)行更新,</p><p> 個(gè)人信息維護(hù)界面 如圖5.22</p><p> 5.22 個(gè)人信息維護(hù)界面</p><p> 個(gè)人信息維護(hù)功能核心代碼 如圖5.23</p&g
96、t;<p> 圖5.23 個(gè)人信息維護(hù)功能核心代碼</p><p> 說(shuō)明:修改你所需要修改的信息,完成后點(diǎn)擊“保存”按鈕,提交給ConsumerServlet完成個(gè)人信息的修改。</p><p><b> 第6章 系統(tǒng)測(cè)試</b></p><p><b> 6.1 測(cè)試介紹</b></p>
97、;<p> 軟件測(cè)試是保證軟件質(zhì)量必不可少的過(guò)程,它起源于程序員在開(kāi)發(fā)過(guò)程中檢查軟件的某項(xiàng)功能能否正常使用。那時(shí)的軟件測(cè)試和“調(diào)試”沒(méi)有什么區(qū)別,主要目的是保證實(shí)現(xiàn)軟件的基本功能,一般但投入小,介入遲,通常是項(xiàng)目基本開(kāi)發(fā)完成后才進(jìn)行測(cè)試。但到了上世紀(jì)80年代,測(cè)試不再僅僅是一個(gè)發(fā)現(xiàn)錯(cuò)誤的過(guò)程,還包括了對(duì)軟件質(zhì)量評(píng)價(jià)的過(guò)程,人們同時(shí)制定出了各類(lèi)測(cè)試標(biāo)準(zhǔn)。等到上世紀(jì)90年代的時(shí)候,為了對(duì)系統(tǒng)進(jìn)行更加充分的測(cè)試,人們已經(jīng)研發(fā)出
98、許多軟件測(cè)試工具。</p><p> 近年來(lái),軟件測(cè)試取得了長(zhǎng)足的發(fā)展,專(zhuān)家總結(jié)了許多好的模型,并研發(fā)出了多種用于單元測(cè)試,自動(dòng)化測(cè)試,負(fù)載壓力測(cè)試等優(yōu)秀測(cè)試工具。雖然測(cè)試技術(shù)發(fā)展十分的快,但是它的發(fā)展速度還是十分滯后與原件開(kāi)發(fā)技術(shù)的發(fā)展。</p><p> 6.2 測(cè)試方法簡(jiǎn)介</p><p> 軟件測(cè)試有著多種多樣的測(cè)試方法和技術(shù)。我們可以從不同的角度加以
99、分類(lèi):從測(cè)試是否針對(duì)具體實(shí)現(xiàn)算法和系統(tǒng)的內(nèi)部結(jié)構(gòu)的角度,可分軟件測(cè)試劃分為為黑盒測(cè)試和白盒測(cè)試。從是否需要測(cè)軟件的角度,可分為動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試。</p><p><b> (1) 黑盒測(cè)試</b></p><p> 黑盒測(cè)試也稱(chēng)功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng),它是在已知產(chǎn)品所應(yīng)具有的功能的情況下,通過(guò)測(cè)試來(lái)檢測(cè)每個(gè)功能是否都能正常使用。在測(cè)試時(shí),把程序看作一個(gè)不能打開(kāi)的黑盒
100、子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測(cè)試者在程序接口進(jìn)行測(cè)試,它只檢查程序功能是否按照需求規(guī)格說(shuō)明書(shū)的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息的完整性。</p><p> 黑盒測(cè)試主要用于軟件確認(rèn)測(cè)試?!昂诤小狈ㄖ塾诔绦蛲獠拷Y(jié)構(gòu),不考慮內(nèi)部邏輯結(jié)構(gòu),針對(duì)軟件界面和軟件功能進(jìn)行測(cè)試?!昂诤小狈ㄊ歉F舉輸入測(cè)試,只有把所有可能的輸入都作為測(cè)試情況使用,才能以這種方
101、法查出程序中所有的錯(cuò)誤。實(shí)際上測(cè)試情況有無(wú)窮多個(gè),人們不僅要測(cè)試所有合法的輸入,而且還要對(duì)那些不合法但是可能的輸入進(jìn)行測(cè)試[10]。</p><p><b> (2) 白盒測(cè)試</b></p><p> 白盒測(cè)試也稱(chēng)結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試,它是知道產(chǎn)品內(nèi)部工作過(guò)程的情況下,通過(guò)測(cè)試來(lái)檢測(cè)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說(shuō)明書(shū)的規(guī)定正常進(jìn)行,按照程序內(nèi)部的結(jié)構(gòu)測(cè)試程序,檢驗(yàn)
102、程序中的每條通路是否都能按預(yù)定要求正確進(jìn)行,而不顧它的功能。白盒測(cè)試主要用于軟件驗(yàn)證。</p><p> 6.3 主要系統(tǒng)功能模塊測(cè)試</p><p> 6.3.1 用戶(hù)注冊(cè)模塊測(cè)試</p><p> 測(cè)試功能:用戶(hù)注冊(cè)。</p><p> 步驟:依次輸入合適的信息,點(diǎn)擊注冊(cè)按鈕。</p><p> 輸入數(shù)據(jù)
103、:用戶(hù)ID、用戶(hù)密碼、真實(shí)姓名、性別、E-mail、用戶(hù)名稱(chēng)、QQ號(hào)、身份證號(hào)、興趣愛(ài)好。</p><p> 預(yù)期結(jié)果:用戶(hù)注冊(cè)成功。</p><p> 測(cè)試結(jié)果:成功。 </p><p> 用戶(hù)注冊(cè)成功提示界如圖6.1所示:</p><p> 圖 6.1 用戶(hù)注冊(cè)成功提示界面</p><p> 6.3.
104、2 用戶(hù)登錄模塊測(cè)試</p><p> 測(cè)試功能:用戶(hù)登錄。</p><p> 步驟:輸入用戶(hù)名和密碼,點(diǎn)擊登錄按鈕。</p><p> 輸入數(shù)據(jù):用戶(hù)名和密碼。</p><p> 預(yù)期結(jié)果:用戶(hù)登錄成功。</p><p> 測(cè)試結(jié)果:操作成功。</p><p> 用戶(hù)登錄成功提示界
105、面 如圖6.2所示:</p><p> 6.2 用戶(hù)登錄成功提示界面</p><p> 6.3.3 日志管理模塊測(cè)試</p><p> 測(cè)試的功能:日志的撰寫(xiě)、刪除、修改和評(píng)論。</p><p> 步驟:點(diǎn)擊日志管理模塊中的寫(xiě)日志、刪除、修改和評(píng)論按鈕,如果需要?jiǎng)t輸入輸入相關(guān)的數(shù)據(jù),完成操作。</p><p>
106、 預(yù)期結(jié)果:對(duì)日志可以進(jìn)行相關(guān)操作。</p><p> 測(cè)試結(jié)果:操作成功。</p><p> 6.3.4 相冊(cè)管理模塊測(cè)試</p><p> 測(cè)試功能:相冊(cè)的上傳,刪除。</p><p> 步驟:點(diǎn)擊相冊(cè)管理模塊中的圖片上傳,刪除按鈕進(jìn)行相關(guān)操作。</p><p> 預(yù)期結(jié)果:對(duì)相冊(cè)可以進(jìn)行相關(guān)操作。&l
107、t;/p><p> 測(cè)試結(jié)果:操作成功。</p><p> 6.3.5 好友管理模塊測(cè)試</p><p><b> 功能:好友的檢索。</b></p><p> 步驟:點(diǎn)擊好友管理模塊中的好友檢索和好友添加按鈕。</p><p> 預(yù)期結(jié)果:可以進(jìn)行相關(guān)操作。</p><
108、p> 測(cè)試結(jié)果:操作成功。</p><p> 6.3.6 個(gè)人信息管理模塊測(cè)試</p><p> 功能:個(gè)人信息的修改。</p><p> 步驟:點(diǎn)擊個(gè)人信息管理模塊中保存按鈕。</p><p> 輸入數(shù)據(jù):用戶(hù)ID、用戶(hù)密碼、真實(shí)姓名、性別、E-mail、用戶(hù)名稱(chēng)、QQ號(hào)、身份證號(hào)、興趣愛(ài)好。</p><
109、p> 預(yù)期結(jié)果:對(duì)個(gè)人信息可以進(jìn)行相關(guān)操作。</p><p> 測(cè)試結(jié)果:操作成功。</p><p><b> 結(jié) 論</b></p><p> 本文從博客網(wǎng)站的所需要實(shí)現(xiàn)的功能模塊開(kāi)始分析,決定使用Java開(kāi)發(fā)博客網(wǎng)站。并利用JDK,Tomcat,MyEclipse,MySQL等軟件來(lái)搭建開(kāi)發(fā)環(huán)境,利用Java技術(shù)的JSP、S
110、ervlet、JavaBean等開(kāi)源框架設(shè)計(jì)J2EE三層結(jié)構(gòu)的中業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù),以Jsp+Servlet+JavaBean為blog網(wǎng)站的設(shè)計(jì)模式。</p><p> 由于第一次獨(dú)立使用Java語(yǔ)言開(kāi)發(fā)項(xiàng)目,所以完成此次任務(wù)并不容易。在編程的過(guò)程中我遇到過(guò)許多棘手的問(wèn)題,有時(shí)程序運(yùn)行過(guò)程中總是出現(xiàn)問(wèn)題,甚至經(jīng)過(guò)了好幾天都還不能找出運(yùn)行出錯(cuò)的原因。但功夫不負(fù)有心人,我通過(guò)互聯(lián)網(wǎng)搜索信息,發(fā)貼向別人請(qǐng)教,也向
111、同學(xué)和老師詢(xún)問(wèn),經(jīng)過(guò)我不懈地努力,最終問(wèn)題還是解決了。雖然遭遇到了許多挫折,但最終還是比較圓滿(mǎn)地完成了本次畢業(yè)設(shè)計(jì)的任務(wù),達(dá)到了此次畢業(yè)設(shè)計(jì)的目的和要求。</p><p> 通過(guò)博客管理系統(tǒng)的開(kāi)發(fā),做到了理論聯(lián)系實(shí)際,將書(shū)本上學(xué)到的知識(shí)與具體實(shí)際充分結(jié)合起來(lái),既解決了工作中的一些問(wèn)題,又進(jìn)一步明確了開(kāi)發(fā)博客管理系統(tǒng)的方法和思想;既加深了對(duì)博客管理系統(tǒng)的認(rèn)識(shí),又進(jìn)一步鞏固了以前所學(xué)的計(jì)算機(jī)軟件開(kāi)發(fā)方面的知識(shí),提高
112、了軟件開(kāi)發(fā)的水平,從而為今后在實(shí)際工作中更好的應(yīng)用計(jì)算機(jī)進(jìn)行其它編程打下了堅(jiān)實(shí)的基礎(chǔ)。</p><p><b> 致 謝</b></p><p> 經(jīng)過(guò)這幾個(gè)月的畢業(yè)設(shè)計(jì),基本上完成了博客管理系統(tǒng)的開(kāi)發(fā)。從可行性分析到需求分析,概要設(shè)計(jì),到詳細(xì)設(shè)計(jì)和最后階段的畢業(yè)論文的撰寫(xiě),在整個(gè)設(shè)計(jì)階段指導(dǎo)老師一直陪伴著我們。在設(shè)計(jì)階段xx老師給了我很多寶貴意見(jiàn),無(wú)論從資料上
113、還是從技術(shù)上,xx老師都給了我極大的支持,也給了我很大的啟發(fā)。從正式開(kāi)始畢業(yè)設(shè)計(jì)起到現(xiàn)在論文的完成,老師隨時(shí)關(guān)心我的進(jìn)度。我表示衷心的感謝!xx老師那種認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神也使我受益匪淺,這在我以后工作中會(huì)有很大的幫助,再次感謝xx老師﹗</p><p> 非常感謝系里各位老師在畢業(yè)設(shè)計(jì)階段為我們所做的一切工作,感謝他們?yōu)槲覀兲峁┝己玫沫h(huán)境,并對(duì)我們的畢業(yè)設(shè)計(jì)進(jìn)行督促,讓我們能按時(shí)完成任務(wù)。通過(guò)此
114、次畢業(yè)設(shè)計(jì),使我受益匪淺,同時(shí)也認(rèn)識(shí)到了自己的不足。在此,再次向全系老師表示我由衷的感謝!</p><p><b> 參 考 文 獻(xiàn)</b></p><p> 1 王國(guó)輝.JSP項(xiàng)目開(kāi)發(fā)案例全程實(shí)錄.修訂2版.北京:清華大學(xué)出版社,2011.1</p><p> 2 張振坤.視頻學(xué)Java.北京:人民郵電出版社,2010.2</
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 博客管理系統(tǒng)畢業(yè)論文
- 博客系統(tǒng)的開(kāi)發(fā)與管理【畢業(yè)論文】
- 個(gè)人博客系統(tǒng)畢業(yè)論文
- JSP博客系統(tǒng)-畢業(yè)論文.pdf
- 多媒體博客系統(tǒng)畢業(yè)論文
- 個(gè)人博客畢業(yè)論文
- 個(gè)人博客畢業(yè)論文
- 個(gè)人博客系統(tǒng)畢業(yè)論文--博客網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
- 基于asp.net架構(gòu)的博客管理系統(tǒng)---畢業(yè)論文
- 畢業(yè)論文--基于人才搜索的博客系統(tǒng)
- 博客網(wǎng)設(shè)計(jì)畢業(yè)論文
- 個(gè)人博客網(wǎng)站畢業(yè)論文
- 個(gè)人博客網(wǎng)站畢業(yè)論文
- 博客營(yíng)銷(xiāo)畢業(yè)論文2
- 個(gè)人博客網(wǎng)站畢業(yè)論文
- 個(gè)人博客畢業(yè)論文設(shè)計(jì)
- 畢業(yè)論文-- 個(gè)人博客系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)
- 個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文
- 個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論