2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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><b>  ( 屆)</b></p><p>  論文題目在線(xiàn)網(wǎng)摘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  所在學(xué)院 </p><p>  專(zhuān)業(yè)班級(jí) 信息管理與信息系統(tǒng) </p&g

2、t;<p>  學(xué)生姓名 學(xué)號(hào) </p><p>  指導(dǎo)教師 職稱(chēng) </p><p>  完成日期 年 月 日</p><p><b>  誠(chéng) 信 聲 明</b></p><p&g

3、t;  我聲明,所呈交的論文(設(shè)計(jì))是本人在老師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我查證,除了文中特別加以標(biāo)注和致謝的地方外,論文(設(shè)計(jì))中不包含其他人已經(jīng)發(fā)表或撰寫(xiě)過(guò)的研究成果,也不包含為獲得______或其他教育機(jī)構(gòu)的學(xué)位或證書(shū)而使用過(guò)的材料。我承諾,論文(設(shè)計(jì))中的所有內(nèi)容均真實(shí)、可信。</p><p>  論文(設(shè)計(jì))作者簽名: 簽名日期: 年 月 日</p>

4、<p><b>  授 權(quán) 聲 明</b></p><p>  學(xué)校有權(quán)保留送交論文(設(shè)計(jì))的原件,允許論文(設(shè)計(jì))被查閱和借閱,學(xué)??梢怨颊撐模ㄔO(shè)計(jì))的全部或部分內(nèi)容,可以影印、縮印或其他復(fù)制手段保存論文(設(shè)計(jì)),學(xué)校必須嚴(yán)格按照授權(quán)對(duì)論文(設(shè)計(jì))進(jìn)行處理,不得超越授權(quán)對(duì)論文(設(shè)計(jì))進(jìn)行任意處置。</p><p>  論文(設(shè)計(jì))作者簽名:

5、 簽名日期: 年 月 日</p><p>  在線(xiàn)網(wǎng)摘系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  摘要: 長(zhǎng)期以來(lái),網(wǎng)上沖浪者在上網(wǎng)的時(shí)候都習(xí)慣了把感興趣的網(wǎng)址用收藏夾收錄起來(lái)。但是本地收藏夾沒(méi)有標(biāo)簽,這樣導(dǎo)致索引機(jī)制效果不佳。因此,隨著用戶(hù)在本地收藏夾中收錄的網(wǎng)址越來(lái)越多,想要從中鎖定特定收錄網(wǎng)址成為了一件越來(lái)越困難的事。當(dāng)人們想要分享信息和資源時(shí),本地收藏夾的非共享存儲(chǔ)機(jī)制的弊

6、端就曝露無(wú)遺。于是,“網(wǎng)摘”這個(gè)概念就應(yīng)運(yùn)而生了。目前,在線(xiàn)網(wǎng)摘系統(tǒng)正處于一種成長(zhǎng)階段,因此開(kāi)發(fā)設(shè)計(jì)一個(gè)在線(xiàn)網(wǎng)摘系統(tǒng)是非常有必要的。</p><p>  在線(xiàn)網(wǎng)摘系統(tǒng)的開(kāi)發(fā)語(yǔ)言采用JSP,數(shù)據(jù)庫(kù)采用MySQL,開(kāi)發(fā)工具使用MyEclipse 6.0.1。分析在線(xiàn)網(wǎng)摘系統(tǒng)的系統(tǒng)需求,完成概要設(shè)計(jì)、功能設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)(E-R圖、數(shù)據(jù)流程圖)、程序流程圖等,利用面向?qū)ο笠约按a分離思想開(kāi)發(fā)系統(tǒng)。頁(yè)面主要功能模塊有系統(tǒng)

7、主頁(yè)面模塊、網(wǎng)摘管理模塊、網(wǎng)摘分類(lèi)模塊等等。經(jīng)過(guò)測(cè)試,該網(wǎng)站能正常運(yùn)行。</p><p>  關(guān)鍵詞: 在線(xiàn)網(wǎng)摘;數(shù)據(jù)庫(kù);模塊;網(wǎng)站</p><p>  Design and Implementation of </p><p>  Online Social Bookmark System </p><p>  Abstract: Over

8、 the years, when surfing the Internet the Internet users are accustomed to using the Favorite to record URLs of interest. However, the indexing mechanism is ineffective because of the local favorites ' lacking of lab

9、el. So, with the growing number of users record Web site, locking the particular site from the URLs which in the Favorite is becoming difficult. When people need to share information and resources, Favorites of the drawb

10、acks of non-shared storage system is exposed compl</p><p>  The development of the online social bookmark system uses the language of JSP, the database uses MySQL, and development tool uses MyEclipse 6.0.1 .

11、 It is necessary to analyze the system requirements of the online social bookmark system, to complete the outline design, function design, database design (figure E-R, flowcharts) and program flowcharts. The functions in

12、clude web homepage module, tags management module, tags categories module and so on. It has been tested that the website runs normall</p><p>  Key words: Online Social Bookmark; Database; Module; Website<

13、/p><p><b>  目 錄</b></p><p><b>  1 緒 論1</b></p><p>  1.1 系統(tǒng)的背景簡(jiǎn)介1</p><p>  1.2國(guó)內(nèi)外研究現(xiàn)狀2</p><p>  1.3 本課題研究的意義3</p><

14、p>  1.4 本系統(tǒng)的目標(biāo)4</p><p><b>  2 系統(tǒng)分析5</b></p><p>  2.1 需求分析5</p><p>  2.1.1 系統(tǒng)需求分析5</p><p>  2.1.2 系統(tǒng)總體構(gòu)成5</p><p>  2.2 業(yè)務(wù)流程分析6<

15、;/p><p>  2.3數(shù)據(jù)流分析6</p><p><b>  3 系統(tǒng)設(shè)計(jì)8</b></p><p>  3.1 開(kāi)發(fā)技術(shù)方案選擇8</p><p>  3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)8</p><p>  3.2.1 數(shù)據(jù)庫(kù)技術(shù)概述8</p><p>  3.2

16、.2 數(shù)據(jù)庫(kù)需求分析9</p><p>  3.2.3 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)10</p><p>  3.2.4 數(shù)據(jù)表設(shè)計(jì)13</p><p>  3.3 系統(tǒng)功能分析16</p><p><b>  4系統(tǒng)實(shí)現(xiàn)18</b></p><p>  4.1 用戶(hù)注冊(cè)、登錄和注銷(xiāo)模

17、塊18</p><p>  4.1.1數(shù)據(jù)連接實(shí)現(xiàn)18</p><p>  4.1.2用戶(hù)登錄模塊19</p><p>  4.1.3 用戶(hù)注冊(cè)模塊23</p><p>  4.1.4 用戶(hù)注銷(xiāo)模塊28</p><p>  4.2 網(wǎng)摘管理模塊28</p><p>  4.

18、2.1加入網(wǎng)摘模塊28</p><p>  4.2.2添加書(shū)簽?zāi)K35</p><p>  5 系統(tǒng)測(cè)試38</p><p>  5.1 測(cè)試目的38</p><p>  5.2 測(cè)試方案38</p><p>  5.3 系統(tǒng)評(píng)價(jià)40</p><p><b> 

19、 6 總結(jié)41</b></p><p>  致謝.........................................................................42</p><p><b>  參考文獻(xiàn)43</b></p><p><b>  1 緒 論</b><

20、;/p><p>  1.1 系統(tǒng)的背景簡(jiǎn)介</p><p>  長(zhǎng)期以來(lái),網(wǎng)上“沖浪者”在上網(wǎng)的時(shí)候都習(xí)慣使用收藏夾收藏感興趣的網(wǎng)址。但本地收藏夾缺乏有效的索引機(jī)制,隨著用戶(hù)收藏的網(wǎng)址數(shù)量的逐漸增多,想要在收藏夾中鎖定特定網(wǎng)址成了一件越來(lái)越困難的事情。此外,收錄附屬信息和評(píng)價(jià)系統(tǒng)的缺乏也使本地收藏夾僅僅停留在“收藏”而已,那些需要對(duì)信息進(jìn)行注解的網(wǎng)址,用戶(hù)不得不借助記事本等外部工具。有時(shí)候在

21、面對(duì)重裝系統(tǒng),多操作系統(tǒng)、異地上機(jī)等情況時(shí),用戶(hù)不得不將收藏夾里面的數(shù)據(jù)一次又一次地手工進(jìn)行轉(zhuǎn)存。當(dāng)人們需要分享信息和資源時(shí),本地收藏夾的非共享存儲(chǔ)機(jī)制的弊端更是曝露無(wú)遺。于是,“網(wǎng)摘”這個(gè)概念就應(yīng)運(yùn)而生了。由于網(wǎng)摘是基于知識(shí)管理、分享、發(fā)掘的角度進(jìn)行設(shè)計(jì),所以上面提出的各個(gè)問(wèn)題都得到了很好的解決方案[1]。</p><p>  網(wǎng)摘同樣稱(chēng)為網(wǎng)頁(yè)書(shū)簽,英文原名是Social Bookmark,直接翻譯是“社會(huì)化書(shū)

22、簽”。Joshua發(fā)明網(wǎng)摘站點(diǎn)——del.icio.us是世界上第一個(gè)網(wǎng)摘站點(diǎn)。網(wǎng)摘是一種服務(wù),它提供的是一種收藏、分類(lèi)、排序、分享互聯(lián)網(wǎng)信息資源的方式[2]。用戶(hù)用網(wǎng)摘存儲(chǔ)自己感興趣的網(wǎng)址和相關(guān)信息列表,同時(shí)用標(biāo)簽(Tag)對(duì)網(wǎng)址進(jìn)行索引,這樣就可以使網(wǎng)址資源有序分類(lèi),同是使網(wǎng)址及相關(guān)信息的社會(huì)性分享成為可能。網(wǎng)站的價(jià)值在用戶(hù)分享網(wǎng)址的過(guò)程中被給予評(píng)估,挖掘有效信息的成本在通過(guò)群體的參與后得到有效的控制。具有相同興趣的用戶(hù)可以通過(guò)知識(shí)

23、分類(lèi)機(jī)制使彼此之間更容易分享信息和進(jìn)行交流。同時(shí),網(wǎng)摘站點(diǎn)也呈現(xiàn)出一種以知識(shí)分類(lèi)的社群的景象。</p><p>  通俗地說(shuō),網(wǎng)摘就是一個(gè)網(wǎng)絡(luò)上的海量收藏夾。網(wǎng)摘將網(wǎng)絡(luò)上零散的信息資源進(jìn)行有目的的匯聚整理后再向大眾展現(xiàn)出來(lái)。網(wǎng)摘提供的功能有很多是本地收藏夾所不具備的,它的核心價(jià)值已經(jīng)不僅僅是保存瀏覽的網(wǎng)頁(yè),而是成為一個(gè)能夠真正做到“共享中收藏,收藏中分享”新的信息共享中心。如果每天有很多的用戶(hù)使用網(wǎng)摘,用戶(hù)每天提

24、供大量的收藏鏈接,網(wǎng)摘網(wǎng)站就成了匯集各種信息鏈接的門(mén)戶(hù)網(wǎng)站。</p><p>  網(wǎng)摘系統(tǒng)也稱(chēng)為社會(huì)化書(shū)簽系統(tǒng)。社會(huì)化書(shū)簽系統(tǒng)為用戶(hù)提供了基于標(biāo)簽(Tag)技術(shù)的信息組織和管理方式,這是自由分類(lèi)法的運(yùn)行環(huán)境,也提供分享和交流的平臺(tái),并幫助用戶(hù)存儲(chǔ)和管理個(gè)人信息資源。在社會(huì)化書(shū)簽系統(tǒng)中,用戶(hù)根據(jù)個(gè)人的需求對(duì)資源自由選擇詞匯進(jìn)行標(biāo)注,每一次添加一個(gè)詞匯被稱(chēng)為對(duì)資源添加一個(gè)“標(biāo)簽(Tag)”。社會(huì)化書(shū)簽系統(tǒng)的三個(gè)基本元

25、素是用戶(hù)、資源和標(biāo)簽,一個(gè)社會(huì)化書(shū)簽系統(tǒng)可以用<用戶(hù),標(biāo)簽,資源>的三元組表示。三個(gè)元素及相互間的關(guān)系構(gòu)成了社會(huì)化書(shū)簽系統(tǒng)的內(nèi)在結(jié)構(gòu),三者之間的互動(dòng)使這一結(jié)構(gòu)不斷變化[3]。在社會(huì)化書(shū)簽系統(tǒng)中,用戶(hù)使用標(biāo)簽對(duì)資源進(jìn)行標(biāo)注,每個(gè)標(biāo)簽相當(dāng)于用戶(hù)對(duì)資源的一個(gè)分類(lèi),資源根據(jù)不同的標(biāo)簽被組織到不同的分類(lèi)之下;所有用戶(hù)的資源存在于一個(gè)共享的平臺(tái)上,相同的標(biāo)簽還能夠聚合不同用戶(hù)相同分類(lèi)下的資源[4]。</p><p&g

26、t;  在線(xiàn)網(wǎng)摘系統(tǒng)的雛形始于1998年,當(dāng)時(shí)創(chuàng)始人美國(guó)人約舒亞·沙科特(Joshua Schachter)只是用一個(gè)文件夾來(lái)保存手里大量的鏈接。隨著保存的內(nèi)容越來(lái)越多,為了能更快捷地找到某個(gè)鏈接,他開(kāi)始在每個(gè)鏈接后面加上一個(gè)關(guān)鍵詞來(lái)做備忘,這就是標(biāo)簽(Tag)。4年后他為這些保存的鏈接創(chuàng)建了一個(gè)基于web的據(jù)庫(kù)以供自己使用,1年后約舒亞想到要將這種工具提供給別人使用就重寫(xiě)了數(shù)據(jù)庫(kù)使其支持多用戶(hù)使用,形成了現(xiàn)在的Del.ici

27、o.us。Del.icio.us一經(jīng)推出就大受歡迎,很快有一些網(wǎng)站效仿。它的模仿者Furl.net卻青出于藍(lán),在創(chuàng)立僅一年后就出售給著名的搜索引擎公司LookSmart。</p><p>  2004年10月,中文網(wǎng)站365key.com開(kāi)始向國(guó)內(nèi)互聯(lián)網(wǎng)用戶(hù)提供網(wǎng)摘服務(wù)。在365key取得廣泛關(guān)注后,“網(wǎng)摘”這個(gè)名詞在365key站長(zhǎng)曾登高、著名Blogger洪波等一批專(zhuān)業(yè)人士的推廣下迅速傳播開(kāi)。半年后,“網(wǎng)摘”

28、這個(gè)新創(chuàng)詞已經(jīng)在搜索引擎中從無(wú)到有地成了一個(gè)熱門(mén)詞,人們可以在Google上看到20多萬(wàn)個(gè)關(guān)于“網(wǎng)摘”的中文鏈接。國(guó)內(nèi)提供與365key類(lèi)似服務(wù)的網(wǎng)站已有上百家,甚至作為大型門(mén)戶(hù)網(wǎng)站的新浪網(wǎng)也提供了自己的網(wǎng)摘服務(wù)——新浪vivi。</p><p><b>  國(guó)內(nèi)外研究現(xiàn)狀</b></p><p>  隨著 Web2.0技術(shù)的發(fā)展“可寫(xiě)網(wǎng)絡(luò)”逐步變?yōu)楝F(xiàn)實(shí)[5]。這類(lèi)應(yīng)

29、用都是由第三方處理和保存數(shù)據(jù),這些技術(shù)也在網(wǎng)摘系統(tǒng)中得到運(yùn)用。伴隨著多樣的網(wǎng)摘工具的出現(xiàn),使用網(wǎng)摘的用戶(hù)也是越來(lái)越多了。例如,del.icio.us網(wǎng)站顯示,每天有超過(guò)一百萬(wàn)的用戶(hù)在該網(wǎng)站上注冊(cè)[6]。目前網(wǎng)摘網(wǎng)站有很多,如新浪vivi收藏夾、百度搜藏、和訊部落、Diggo等等。其中Diigo(Digest of Internet Information ,Groups and Other Stuff)是以Web2.0為平臺(tái)開(kāi)發(fā)出來(lái)的一

30、款社會(huì)性軟件,是社會(huì)化書(shū)簽網(wǎng)站的一個(gè)典型代表。美國(guó)知名的IT專(zhuān)業(yè)媒體CNET 2006年評(píng)出的互聯(lián)網(wǎng)十大“最受歡迎研究工具”中,Diigo排名第四,Google入選的四個(gè)工具都排在其后面[7]。</p><p>  社會(huì)化書(shū)簽是協(xié)作工具之一,人們可以將他們感興趣的鏈接共享在網(wǎng)頁(yè)上[8]?,F(xiàn)在的網(wǎng)摘工具是又多又雜,給人們帶來(lái)簡(jiǎn)單、方便的同時(shí),也存在一些不足之處的。目前網(wǎng)摘工具存在的主要問(wèn)題是:</p>

31、<p>  (1)網(wǎng)摘貢獻(xiàn)者集中度過(guò)高,影響網(wǎng)絡(luò)書(shū)簽質(zhì)量。從bookmark.hexun.com網(wǎng)摘者2006.5.31 的前20名排行數(shù)據(jù)可得出少數(shù)人貢獻(xiàn)度過(guò)高,造成少數(shù)人影響收藏和推薦的結(jié)果。相反以http://pstatic.xunlei.com/的前20名排行數(shù)據(jù)可看出下載推薦的前20名貢獻(xiàn)度差別不大。在迅雷下載雷友下載統(tǒng)計(jì)中,用戶(hù)不需額外進(jìn)行點(diǎn)擊動(dòng)作,貢獻(xiàn)度較為平均,而網(wǎng)摘工具需要用戶(hù)完全義務(wù)地多一次點(diǎn)擊。導(dǎo)致少數(shù)

32、人點(diǎn)擊貢獻(xiàn)度高度集中。</p><p> ?。?)用戶(hù)的點(diǎn)擊和推薦比例太低,導(dǎo)致推薦網(wǎng)頁(yè)質(zhì)量下降。以alexa2006.5.31全世界排名104位的www.cmfu.com前100名瀏覽作品數(shù)據(jù)統(tǒng)計(jì)可知,在有物質(zhì)獎(jiǎng)勵(lì)情況下點(diǎn)擊和推薦比為13.8% ,無(wú)物質(zhì)獎(jiǎng)勵(lì)以bookmark.hexun.com的2006.5.31前100名瀏覽網(wǎng)頁(yè)數(shù)據(jù)可以得出,使用網(wǎng)摘軟件點(diǎn)擊和推薦比例為1.1% ,點(diǎn)推比太低。從中可知,用戶(hù)

33、主動(dòng)保存和推薦自己網(wǎng)址的比率過(guò)低,不利最大多數(shù)的用戶(hù)積累自己感興趣的地址資源。目前的網(wǎng)摘軟件還不能夠完全準(zhǔn)確保存和推薦“懶惰”用戶(hù)關(guān)注的網(wǎng)頁(yè)[9]。</p><p>  時(shí)代在發(fā)展, 人們組織知識(shí)、利用知識(shí)、創(chuàng)造知識(shí)的方法也在發(fā)展和變化。網(wǎng)摘會(huì)隨著需求的變化和網(wǎng)絡(luò)的發(fā)展也會(huì)在功能上不斷改進(jìn)與發(fā)展,應(yīng)用的領(lǐng)域也會(huì)是越來(lái)越廣泛,不過(guò)主要的應(yīng)用領(lǐng)域還是知識(shí)管理方面。然而, 序化、共享、交流、創(chuàng)新的主題不會(huì)改變, 而這也

34、是網(wǎng)摘系統(tǒng)的各個(gè)應(yīng)用領(lǐng)域得以成功的先決條件。我們相信, 未來(lái)的網(wǎng)摘系統(tǒng)的各個(gè)領(lǐng)域如個(gè)人知識(shí)管理將更加方便、有效, 更加貼近我們普通人的生活。</p><p>  1.3 本課題研究的意義</p><p>  社會(huì)化書(shū)簽是一種網(wǎng)絡(luò)上的海量收藏夾。網(wǎng)上“沖浪者”可將社會(huì)化書(shū)簽用于對(duì)互聯(lián)網(wǎng)中的信息和知識(shí)進(jìn)行管理、分享和發(fā)掘,其主要特點(diǎn)是: </p><p> ?。?)提

35、高了知識(shí)的重用度。網(wǎng)絡(luò)上信息和知識(shí)很多,用戶(hù)在網(wǎng)上瀏覽網(wǎng)頁(yè)時(shí),當(dāng)閱讀到的有收藏價(jià)值的信息和知識(shí)時(shí),將其保存在社會(huì)化書(shū)簽中,并對(duì)其作一些的描述和注解,這樣長(zhǎng)久之后就慢慢積累形成了一個(gè)豐富的個(gè)人知識(shí)庫(kù)。社會(huì)化書(shū)簽相當(dāng)于人的大腦的擴(kuò)充,幫助我們記住許多之前閱讀過(guò)的信息和知識(shí),這樣就能使這些信息和知識(shí)能夠方便地重用。 </p><p> ?。?)提供了一種基于知識(shí)分類(lèi)的社交場(chǎng)所。用戶(hù)通過(guò)知識(shí)分類(lèi),可以更快結(jié)交到具有相同興

36、趣和特定技能的人,形成交流群體;通過(guò)交流和分享互相增強(qiáng)知識(shí),滿(mǎn)足溝通、表達(dá)等社會(huì)性需要。 </p><p> ?。?)促進(jìn)用戶(hù)間彼此分享收藏的信息和知識(shí)。每一個(gè)人的視野和視角是有限的,加上空間和時(shí)間上的分割,所以一個(gè)人所能接觸到的東西是非常有限的、片面的、成本代價(jià)比較高的。在社會(huì)化書(shū)簽網(wǎng)站上,用戶(hù)可以讓自己的好友推薦好文章到自己的知識(shí)庫(kù)中,這樣可以把獲得高質(zhì)量信息和知識(shí)的成本大大降低了[10]。</p>

37、;<p>  當(dāng)前,國(guó)內(nèi)外已經(jīng)涌現(xiàn)出許許多多的網(wǎng)摘站點(diǎn),在這些網(wǎng)站上面,用戶(hù)可以分享和收藏自己感興趣的網(wǎng)址。盡管網(wǎng)摘是一種社會(huì)行為,但也為用戶(hù)進(jìn)行真正意義上的個(gè)人知識(shí)管理提供了一種可能。</p><p>  通過(guò)網(wǎng)摘, 用戶(hù)可以在網(wǎng)絡(luò)上保存一些在閱讀互聯(lián)網(wǎng)信息過(guò)程中感興趣的有收藏機(jī)制的信息, 并對(duì)其做出必要的描述和注解, 這樣慢慢積累就形成個(gè)人知識(shí)體系。同時(shí), 用戶(hù)可以使用網(wǎng)摘進(jìn)行彼此之間分享收藏信

38、息。這樣降低了所有參與用戶(hù)獲取信息的成本, 并且可以使用戶(hù)更輕松地得到更多、多角度的信息。</p><p>  用戶(hù)可以通過(guò)知識(shí)分類(lèi), 更快地結(jié)交到具有相同興趣和特定技能的人, 彼此形成交流群體, 通過(guò)交流和分享可以彼此互相增強(qiáng)知識(shí), 滿(mǎn)足溝通、表達(dá)等社會(huì)性需要。此外,網(wǎng)摘更新及時(shí), 因此用戶(hù)可以及時(shí)、有效地得到所需要的信息;網(wǎng)摘是在網(wǎng)絡(luò)上的, 不論用戶(hù)身處何時(shí)何地,只要能上網(wǎng)均可獲取……</p>

39、<p>  從以上角度可以看出, 網(wǎng)摘是注重分類(lèi)、系統(tǒng)、更新、交流、創(chuàng)新, 很好體現(xiàn)了個(gè)人知識(shí)管理的核心精神和內(nèi)在要求[11]。</p><p>  1.4 本系統(tǒng)的目標(biāo) </p><p>  本次畢業(yè)設(shè)計(jì)就是開(kāi)發(fā)在線(xiàn)網(wǎng)摘系統(tǒng),通過(guò)網(wǎng)站來(lái)保存自己感興趣的網(wǎng)站鏈接,便于以后能更好的檢索,以達(dá)到節(jié)約時(shí)間為目的。本系統(tǒng)的目標(biāo)是:</p><p>  (1)盡量

40、能利用所學(xué)知識(shí)提出一些實(shí)際的信息管理問(wèn)題,并設(shè)計(jì)計(jì)算機(jī)化的解決方案,從而達(dá)到促進(jìn)網(wǎng)絡(luò)資源的合理組織和有效利用的目標(biāo)。</p><p>  (2)系統(tǒng)應(yīng)符合廣大用戶(hù)的要求,能夠輕松地實(shí)現(xiàn)把網(wǎng)摘資源添加到自己的收藏夾中并與好友分享的功能,特別是那些不太懂得系統(tǒng)操作的會(huì)員用戶(hù)也能比較容易地學(xué)會(huì)操作。</p><p>  (3)系統(tǒng)采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參

41、與開(kāi)發(fā)的技術(shù)維修人員補(bǔ)充和維護(hù)。</p><p>  2 系統(tǒng)分析 </p><p><b>  2.1 需求分析</b></p><p>  在軟件工程中,需求分析指的是在建立一個(gè)新的或改變一個(gè)現(xiàn)存的電腦系統(tǒng)時(shí)描寫(xiě)新系統(tǒng)的目的、范圍、定義和功能時(shí)所要做的所有的工作。需求分析是軟件工程中的一個(gè)關(guān)鍵過(guò)程。在這個(gè)過(guò)程中,系統(tǒng)分析員和軟件工程

42、師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。</p><p>  2.1.1 系統(tǒng)需求分析</p><p>  在線(xiàn)網(wǎng)摘系統(tǒng)的設(shè)計(jì)主要包括加入網(wǎng)摘模塊、用戶(hù)注冊(cè)登錄模塊、書(shū)簽和標(biāo)簽添加模塊。加入網(wǎng)摘需要在網(wǎng)摘網(wǎng)站注冊(cè)一個(gè)賬號(hào),然后就可以在線(xiàn)添加喜歡的內(nèi)容了。為了方便起見(jiàn),可以在瀏覽器快捷鏈接欄或者在屬性欄上放置一個(gè)網(wǎng)摘的按鈕,這樣就可以隨時(shí)點(diǎn)擊按鈕把正在

43、查看的網(wǎng)頁(yè)保存到網(wǎng)摘。</p><p> ?。?)加入網(wǎng)摘模塊:該功能模塊用于當(dāng)用戶(hù)看到感興趣的網(wǎng)站時(shí),可以對(duì)其添加到自己的網(wǎng)摘管理系統(tǒng)中。</p><p> ?。?)用戶(hù)注冊(cè)登錄模塊:該功能模塊是一個(gè)系統(tǒng)所必須的,是陌生用戶(hù)首次進(jìn)入該系統(tǒng),并且想是用該系統(tǒng)的功能時(shí)所要操作的。</p><p> ?。?)書(shū)簽和標(biāo)簽添加管理:該功能模塊是讓用戶(hù)根據(jù)自己的喜好進(jìn)行添加一

44、些鏈接,也可以加入標(biāo)簽,這樣以后便于查找。</p><p>  2.1.2 系統(tǒng)總體構(gòu)成</p><p>  本系統(tǒng)的使用者分為兩類(lèi):新用戶(hù)和老用戶(hù)。這兩者要使用的功能是一樣的。差別就是新用戶(hù)首次進(jìn)入本系統(tǒng)的時(shí)候,能看到本系統(tǒng)的信息,但是沒(méi)有權(quán)限運(yùn)用其他功能。只能看到系統(tǒng)中信息的一個(gè)標(biāo)題。新用戶(hù)一旦注冊(cè)賬號(hào)了,并且登錄后就享有和老用戶(hù)一樣的權(quán)限,可以擁有添加網(wǎng)摘等操作的權(quán)利。</p

45、><p>  用戶(hù)可以通過(guò)瀏覽其他網(wǎng)站上的信息,當(dāng)看到自己感興趣的信息時(shí),可以復(fù)制網(wǎng)址加入網(wǎng)摘這一操作來(lái)保存它。這樣就能方便于以后想要這一信息的時(shí)候,我們能簡(jiǎn)單、方便地找到這一信息。書(shū)簽和標(biāo)簽也同樣可以添加,書(shū)簽也是可以鏈接的,這樣我看到書(shū)簽后,只要點(diǎn)擊網(wǎng)址,就可以在一個(gè)新的瀏覽器窗口中看到我想要看到頁(yè)面。這樣為我們帶來(lái)一些方便,就像瀏覽器的收藏夾一樣。</p><p>  本系統(tǒng)的系統(tǒng)總體構(gòu)

46、成如圖2-1所示:</p><p>  圖2-1 系統(tǒng)總體構(gòu)成</p><p>  2.2 業(yè)務(wù)流程分析</p><p>  業(yè)務(wù)流程圖(transaction flow diagram,簡(jiǎn)稱(chēng)TFD),就是用圓圈、矩形和箭頭等各種圖形進(jìn)行連接來(lái)說(shuō)明一個(gè)系統(tǒng)的業(yè)務(wù)過(guò)程。本系統(tǒng)主要的業(yè)務(wù)流程圖如下圖所示。</p><p>  圖2-2 用戶(hù)業(yè)務(wù)

47、流程圖</p><p><b>  數(shù)據(jù)流分析</b></p><p>  數(shù)據(jù)流程分析把數(shù)據(jù)在組織內(nèi)部的流動(dòng)情況抽象地獨(dú)立出來(lái),舍去了具體組織機(jī)構(gòu)、信息載體、處理工作等,單從數(shù)據(jù)流動(dòng)過(guò)程來(lái)考察實(shí)際業(yè)務(wù)的數(shù)據(jù)處理模式?,F(xiàn)有的數(shù)據(jù)流程分析多是通過(guò)分層的數(shù)據(jù)流程圖(data flow diagram,簡(jiǎn)稱(chēng)DFD)來(lái)實(shí)現(xiàn)的。本系統(tǒng)的幾個(gè)數(shù)據(jù)流圖如下所示。</p>

48、<p>  圖2-3在線(xiàn)網(wǎng)摘系統(tǒng)TOP數(shù)據(jù)流圖</p><p>  圖2-4在線(xiàn)網(wǎng)摘系統(tǒng)細(xì)化流程圖</p><p><b>  3 系統(tǒng)設(shè)計(jì)</b></p><p>  本系統(tǒng)的設(shè)計(jì)階段主要解決系統(tǒng)如何實(shí)現(xiàn)問(wèn)題,也叫做概要設(shè)計(jì)。就是根據(jù)之前的系統(tǒng)分析,將系統(tǒng)劃分為幾個(gè)模塊,實(shí)現(xiàn)怎么把現(xiàn)實(shí)中的業(yè)務(wù)用其他模型來(lái)體現(xiàn)出來(lái)。主要是將現(xiàn)實(shí)

49、的業(yè)務(wù)模型轉(zhuǎn)化成數(shù)據(jù)模型。將系統(tǒng)分為幾個(gè)模塊分別實(shí)現(xiàn)后在組合在一起就能成為一個(gè)系統(tǒng)了。系統(tǒng)設(shè)計(jì)主要是確定將系統(tǒng)分成哪些模塊并如何實(shí)現(xiàn)。</p><p>  3.1開(kāi)發(fā)技術(shù)方案選擇</p><p>  本系統(tǒng)選擇的開(kāi)發(fā)技術(shù)語(yǔ)言為JSP,開(kāi)發(fā)平臺(tái)為 MyEclipse 6.0.1,鏈接數(shù)據(jù)庫(kù)的是JDBC,選擇的數(shù)據(jù)庫(kù)為 MySQL 。下面分別對(duì)JSP編程環(huán)境以及數(shù)據(jù)庫(kù)MySQL做一個(gè)簡(jiǎn)單的介紹

50、。</p><p>  JSP是由Sun公司為創(chuàng)建動(dòng)態(tài)Web內(nèi)容而定義的一種技術(shù),它是與Java相關(guān)的一種HTML文檔,Java提供動(dòng)態(tài)內(nèi)容。JSP是服務(wù)端應(yīng)用,它們接受請(qǐng)求并生成響應(yīng),此請(qǐng)求通過(guò)通常產(chǎn)出于一個(gè)Web客戶(hù)端,而響應(yīng)則生成一種HTML文檔,需要返回給Web客戶(hù)端。由于JSP是服務(wù)器端應(yīng)用,它們擁有對(duì)服務(wù)器端資源的訪問(wèn),諸如Servlet 、JavaBean、EJB和數(shù)據(jù)庫(kù)。</p>&

51、lt;p>  JSP數(shù)據(jù)庫(kù)編程是JSP技術(shù)的核心,當(dāng)前所有的電子商務(wù)網(wǎng)站都是對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作的。要進(jìn)行基于數(shù)據(jù)庫(kù)系統(tǒng)的JSP開(kāi)發(fā),首先必須學(xué)習(xí)數(shù)據(jù)庫(kù)知識(shí)和JSP與數(shù)據(jù)庫(kù)之間的交互操作。JSP動(dòng)態(tài)編程中,離不開(kāi)數(shù)據(jù)庫(kù)的支持。JDBC使得在JSP程序中可以方便地操作數(shù)據(jù)庫(kù):不管是企業(yè)級(jí)的Oracle、Sybase、DB2還是最簡(jiǎn)單的Access、MySQL。</p><p>  JDBC(Java Data B

52、ase Connectivity,Java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java編程語(yǔ)言編寫(xiě)的類(lèi)和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開(kāi)發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用純 Java API 編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序。</p><p>  本系統(tǒng)的開(kāi)發(fā)選擇的數(shù)據(jù)庫(kù)為MySQL ,MySQL是一個(gè)小型關(guān)系型

53、數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。</p><p>  3.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p>  3.2.1 數(shù)據(jù)庫(kù)技術(shù)概述</p><p>  數(shù)據(jù)庫(kù),

54、是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù),是用于查詢(xún)的大量數(shù)據(jù)的存儲(chǔ)區(qū)域。使用數(shù)據(jù)庫(kù)可以帶來(lái)許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,實(shí)現(xiàn)數(shù)據(jù)資源的充分共享等等。</p><p>  總的來(lái)說(shuō),數(shù)據(jù)庫(kù)的設(shè)計(jì)對(duì)系統(tǒng)的經(jīng)濟(jì)性、功能性和效率有很大的影響,一個(gè)好的數(shù)據(jù)庫(kù),要求在設(shè)計(jì)時(shí)盡量避免數(shù)據(jù)的多余,另外,還要盡可能提高數(shù)據(jù)的存取速度。數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí)速度與空間在范式上是相互矛盾的。一方面按規(guī)范化理

55、論的要求,關(guān)系模式應(yīng)盡量取高級(jí)范式,尤其對(duì)記錄數(shù)較多的關(guān)系,低級(jí)范式將會(huì)造成存儲(chǔ)的大量重復(fù),使空間遭受?chē)?yán)重浪費(fèi);另一方面從存取速度上考慮,應(yīng)該盡量做到一個(gè)模式涉及的屬性越多越好,相互運(yùn)算越少越好,這樣,又應(yīng)取低級(jí)范式。因此我們?cè)谏婕皵?shù)據(jù)庫(kù)時(shí)要嚴(yán)格地探討它的使用環(huán)境,充分了解用戶(hù)的需求,清楚地掌握數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)。經(jīng)過(guò)綜合的評(píng)價(jià)和分析后設(shè)計(jì)出的數(shù)據(jù)庫(kù)應(yīng)滿(mǎn)足以下要求:</p><p> ?。?)數(shù)據(jù)庫(kù)信息要能充分體現(xiàn)

56、出用戶(hù)使用系統(tǒng)的需求。</p><p> ?。?)能夠只吃用戶(hù)對(duì)數(shù)據(jù)進(jìn)行的所有處理。</p><p> ?。?)能夠容易被數(shù)據(jù)庫(kù)管理系統(tǒng)運(yùn)行維護(hù)。</p><p> ?。?)數(shù)據(jù)一致性、完整性好,無(wú)更新異常。</p><p>  3.2.2 數(shù)據(jù)庫(kù)需求分析</p><p>  用戶(hù)的需求具體表現(xiàn)在對(duì)各種信息的提供、保

57、存、更新和查詢(xún),這就要求數(shù)據(jù)庫(kù)能滿(mǎn)足各種信息的輸出和輸入。通過(guò)對(duì)上述系統(tǒng)功能的分析,針對(duì)網(wǎng)摘系統(tǒng)的需求,總結(jié)出如下需求信息:</p><p> ?。?)用戶(hù)分普通用戶(hù)和管理員用戶(hù)。</p><p> ?。?)管理員是對(duì)新聞信息管理、網(wǎng)站鏈接管理、網(wǎng)摘管理。</p><p> ?。?)普通用戶(hù)可以瀏覽其他新聞、網(wǎng)站鏈接等信息,可以加入網(wǎng)摘、修改網(wǎng)摘、刪除網(wǎng)摘。<

58、/p><p> ?。?)用戶(hù)瀏覽網(wǎng)摘是過(guò)程也是被記錄下來(lái),可以統(tǒng)計(jì)出熱門(mén)的網(wǎng)摘。</p><p> ?。?)一個(gè)用戶(hù)對(duì)于多個(gè)的網(wǎng)摘。</p><p>  經(jīng)過(guò)對(duì)上述系統(tǒng)功能的分析和需求總結(jié),設(shè)計(jì)如下數(shù)據(jù)項(xiàng):</p><p> ?。?)管理員信息:管理員用戶(hù)名、密碼、郵箱。</p><p> ?。?)書(shū)簽信息:書(shū)簽編號(hào)、用戶(hù)

59、編號(hào)、鏈接網(wǎng)址、書(shū)簽、備注。</p><p>  (3)IP信息:編號(hào)、IP地址、用戶(hù)ID。</p><p> ?。?)網(wǎng)站鏈接信息:鏈接編號(hào)、網(wǎng)站名稱(chēng)、網(wǎng)址。</p><p> ?。?)用戶(hù)信息:用戶(hù)編號(hào)、用戶(hù)ID、用戶(hù)名、密碼、郵箱、注冊(cè)時(shí)間、用戶(hù)登錄時(shí)間、網(wǎng)摘數(shù)量、國(guó)家。</p><p> ?。?)新聞信息:新聞編號(hào)、標(biāo)題、內(nèi)容、關(guān)鍵詞

60、、更新時(shí)間。</p><p> ?。?)標(biāo)簽信息:標(biāo)簽編號(hào)、用戶(hù)ID、標(biāo)簽內(nèi)容、點(diǎn)擊數(shù)量、分類(lèi)編號(hào)、是否私有標(biāo)簽。</p><p> ?。?)類(lèi)別信息:類(lèi)別編號(hào)、類(lèi)別名稱(chēng)。</p><p> ?。?)瀏覽信息:瀏覽編號(hào)、網(wǎng)摘編號(hào)、用戶(hù)ID、瀏覽者IP、瀏覽鏈接、瀏覽次數(shù)。</p><p> ?。?0)網(wǎng)摘信息:網(wǎng)摘編號(hào)、用戶(hù)ID、標(biāo)題、來(lái)源網(wǎng)

61、址、簡(jiǎn)介、標(biāo)簽、評(píng)分、分類(lèi)編號(hào)、添加時(shí)間。</p><p>  3.2.3 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p> ?。?)各實(shí)體E-R圖</p><p>  根據(jù)對(duì)數(shù)據(jù)項(xiàng)與數(shù)據(jù)結(jié)構(gòu)的分析,設(shè)計(jì)出能夠滿(mǎn)足系統(tǒng)需求的各種實(shí)體,及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。根據(jù)設(shè)計(jì)規(guī)劃得出的實(shí)體有:管理員信息實(shí)體、普通用戶(hù)實(shí)體、IP信息實(shí)體、網(wǎng)站鏈接信息實(shí)體、書(shū)簽信息

62、實(shí)體、新聞信息實(shí)體、標(biāo)簽信息實(shí)體、類(lèi)別信息實(shí)體、瀏覽信息實(shí)體、網(wǎng)摘信息實(shí)體。</p><p>  圖3-1 管理員實(shí)體E-R圖</p><p>  圖3-2 普通用戶(hù)實(shí)體E-R圖</p><p>  圖3-3 書(shū)簽實(shí)體E-R圖</p><p>  圖3-4 IP實(shí)體E-R圖</p><p>  圖3-5 網(wǎng)站鏈接實(shí)體E

63、-R圖</p><p>  圖3-6 新聞實(shí)體E-R圖</p><p>  圖3-7 標(biāo)簽實(shí)體E-R圖</p><p>  圖3-8 類(lèi)別實(shí)體E-R圖</p><p>  圖3-9 瀏覽實(shí)體E-R圖</p><p>  圖3-10 網(wǎng)摘實(shí)體E-R圖</p><p> ?。?)各實(shí)體之間的關(guān)系總E

64、-R圖</p><p>  圖3-11 各實(shí)體關(guān)系總E-R圖</p><p>  3.2.4 數(shù)據(jù)表設(shè)計(jì)</p><p>  本系統(tǒng)創(chuàng)建的MySQL數(shù)據(jù)庫(kù)稱(chēng)為wangzhai。包含如下幾個(gè)表。</p><p>  表3-1管理員(admin)表</p><p>  表3-2書(shū)簽(bookmark)表</p>

65、;<p>  表3-3 IP(ip)表</p><p>  表3-4 網(wǎng)站鏈接(links)表</p><p>  表3-5 普通用戶(hù)(myuser)表</p><p>  表3-6新聞(news)表</p><p>  表3-7 標(biāo)簽(tags)表</p><p>  表3-8 類(lèi)別(type)表<

66、;/p><p>  表3-9 瀏覽記錄(visit)表</p><p>  表3-10 網(wǎng)摘(zhai)表</p><p>  3.3 系統(tǒng)功能分析</p><p>  經(jīng)過(guò)對(duì)系統(tǒng)的需求分析,將整個(gè)系統(tǒng)分為兩部分,管理員系統(tǒng)和普通用戶(hù)系統(tǒng)。</p><p> ?。?)管理員系統(tǒng)功能分析</p><p&

67、gt;  管理員主要包括新聞信息模塊、網(wǎng)站鏈接模塊。管理員系統(tǒng)功能模塊如圖3-12所示</p><p>  圖3-12 管理員系統(tǒng)模塊圖</p><p>  管理員系統(tǒng)模塊的主要功能分別為:</p><p><b> ?、?新聞信息模塊</b></p><p>  管理員在這個(gè)網(wǎng)站上為普通用戶(hù)提供一些新聞信息。主要是對(duì)新

68、聞信息的添加、修改、刪除等操作。</p><p><b> ?、?網(wǎng)站鏈接模塊</b></p><p>  管理員在這個(gè)網(wǎng)站上為普通用戶(hù)提供一些網(wǎng)站鏈接。主要是對(duì)網(wǎng)站鏈接的添加、修改、刪除等操作。</p><p><b>  ③ 類(lèi)別模塊</b></p><p>  類(lèi)別模塊是管理員為網(wǎng)摘、標(biāo)簽分類(lèi)

69、提供一個(gè)大類(lèi)分類(lèi)方法。管理員可以添加、修改、刪除類(lèi)別信息。</p><p> ?。?)普通用戶(hù)系統(tǒng)功能分析</p><p>  普通用戶(hù)系統(tǒng)可分為瀏覽模塊、網(wǎng)摘管理模塊、書(shū)簽管理模塊和標(biāo)簽管理模塊。普通用戶(hù)系統(tǒng)如圖3-13所示。</p><p>  圖3-13 普通用戶(hù)系統(tǒng)模塊圖</p><p>  普通用戶(hù)系統(tǒng)模塊的主要功能分別為:<

70、/p><p><b> ?、?網(wǎng)摘管理模塊</b></p><p>  用戶(hù)當(dāng)看到自己感興趣的信息的時(shí)候,可以進(jìn)行添加網(wǎng)摘這一個(gè)操作,事后也可以對(duì)其進(jìn)行修改、刪除等操作。</p><p><b> ?、?書(shū)簽管理模塊</b></p><p>  用戶(hù)當(dāng)看到自己感興趣的網(wǎng)站鏈接的時(shí)候,可以進(jìn)行添加書(shū)簽這一

71、個(gè)操作,事后也可以對(duì)其進(jìn)行修改、刪除等操作。</p><p><b> ?、?標(biāo)簽管理模塊</b></p><p>  是用戶(hù)對(duì)網(wǎng)摘進(jìn)行加入標(biāo)簽,這樣就能更好的管理網(wǎng)摘,而且可以根據(jù)點(diǎn)擊數(shù)量來(lái)統(tǒng)計(jì)熱門(mén)的網(wǎng)摘內(nèi)容。</p><p><b> ?、?瀏覽模塊</b></p><p>  是用戶(hù)對(duì)新聞信息

72、和網(wǎng)站鏈接的瀏覽過(guò)程。</p><p><b>  系統(tǒng)實(shí)現(xiàn)</b></p><p>  在概要設(shè)計(jì)階段,已將系統(tǒng)劃分為多個(gè)模塊,并將它們按照一定的原則組裝起來(lái),同時(shí)確定了每個(gè)功能及模塊之間的外部接口。到了詳細(xì)設(shè)計(jì)階段,將確定每個(gè)模塊具體執(zhí)行的過(guò)程。在處理過(guò)程設(shè)計(jì)時(shí)我采用的是結(jié)構(gòu)化程序設(shè)計(jì)(簡(jiǎn)稱(chēng)SP)方法。詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序的質(zhì)量,為軟件的質(zhì)量、延長(zhǎng)軟件

73、的生存期、軟件的可測(cè)試性、可維護(hù)性提供重要的保障。</p><p>  用戶(hù)注冊(cè)、登錄和注銷(xiāo)模塊</p><p><b>  數(shù)據(jù)連接實(shí)現(xiàn)</b></p><p>  本系統(tǒng)是使用MySQL數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)連接是JDBC。在每個(gè)需要連接數(shù)據(jù)庫(kù)的頁(yè)面都會(huì)輸入以下代碼,但是連接數(shù)據(jù)庫(kù)的函數(shù)是在類(lèi)Functions中。</p><p

74、>  Request.setCharacterEncoding(“gb2312”);</p><p>  String mysqlDriver = “com.mysql.jdbc.Driver”; //數(shù)據(jù)庫(kù)驅(qū)動(dòng)</p><p>  String mysqlUrl = “jdbc:mysql://localhost:3306/ch13_wangzhai”

75、; //數(shù)據(jù)庫(kù)連接字串</p><p>  String mysqlUser = “root”; //數(shù)據(jù)庫(kù)用戶(hù)名</p><p>  String mysqlPsw = “1234567”; //數(shù)據(jù)庫(kù)密碼</p><p>  Functions類(lèi)中連接

76、數(shù)據(jù)庫(kù)函數(shù)代碼如下:</p><p>  public Connection init(String driver, String mysqlUrl, String user,</p><p>  String password) {</p><p>  Connection conn = null;</p><p><b>  t

77、ry {</b></p><p>  Class.forName(driver);</p><p>  String dburl = mysqlUrl + “?user=” + user + “&password=” + password</p><p>  + “&useUnicode=true&characterEncodin

78、g=GBK”;</p><p>  System.out.println(dburl);</p><p>  conn = DriverManager.getConnection(dburl);</p><p>  return conn;</p><p>  } catch (Exception exception) {</p>

79、<p>  exception.printStackTrace();</p><p>  return null;</p><p><b>  }</b></p><p><b>  }</b></p><p>  public void closeDB(Connection conn

80、){ //關(guān)閉數(shù)據(jù)庫(kù) </p><p>  if(conn !=null)</p><p><b>  try {</b></p><p>  conn.close();</p><p>  } catch (SQLException e) {</p><p>  //

81、TODO 自動(dòng)生成 catch 塊</p><p>  e.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  用戶(hù)登錄模塊</b></p><p>  本頁(yè)是

82、本站的登錄頁(yè)面,為了確保網(wǎng)站與數(shù)據(jù)庫(kù)的安全,對(duì)進(jìn)入的人員進(jìn)行身份驗(yàn)證是十分必要的。界面如圖4-1所示。本頁(yè)獲得用戶(hù)名和密碼信息,并對(duì)其進(jìn)行驗(yàn)證。如果正確,則把這些信息放入cookie,在頁(yè)面的上方會(huì)顯示該用戶(hù)名。如果用戶(hù)名或者密碼錯(cuò)誤,則會(huì)彈出錯(cuò)誤警告。</p><p>  圖4-1 用戶(hù)登錄頁(yè)面</p><p>  登入界面頁(yè)面是login.jsp,其主要代碼如下:</p>

83、<p>  request.setCharacterEncoding(“gb2312”);</p><p>  String userid1=request.getParameter(“userid”);</p><p>  String psw=request.getParameter(“psw”);</p><p>  String tourl=re

84、quest.getParameter(“tourl”);</p><p>  String IfLogin =”-1”;</p><p>  if(userid1!=null && !””.equals(userid1)){</p><p>  int Have= 0;</p><p>  User u = dbm.getUs

85、erByname(conn, userid1);</p><p>  if( u != null)</p><p>  Have=u.getId();</p><p>  IfLogin = “3”;</p><p>  if(Have>0){</p><p>  userid1=u.getUserid();&l

86、t;/p><p>  String psw1=u.getPsw();</p><p>  if(psw != null && psw1 != null && psw.equals(psw1)){</p><p>  IfLogin = “1”;</p><p>  //set cookie</p>&

87、lt;p>  Cookie cookie = new Cookie(“wangzhai”,java.net.URLEncoder.encode(userid1,”UTF-8”)); </p><p>  cookie.setPath(“/”);// very important</p><p>  cookie.setMaxAge(-1);</p><p&g

88、t;  response.addCookie(cookie);</p><p><b>  }</b></p><p><b>  else{</b></p><p>  IfLogin = “2”;</p><p><b>  }</b></p><p&g

89、t;<b>  }</b></p><p><b>  }</b></p><p>  以上代碼是將獲取的用戶(hù)名和密碼與數(shù)據(jù)庫(kù)的中的進(jìn)行比較,針對(duì)不用的結(jié)果對(duì)IfLogin賦予不用的值,后面的是根據(jù)IfLogin的不同取值將不同的結(jié)果反饋給用戶(hù)。</p><p><b>  <%</b><

90、/p><p>  if(“1”.equals(IfLogin)){</p><p>  if(“myzhai”.equals(tourl)){</p><p>  out.println( “<script>location.replace(‘myzhai.jsp’);</script>”);</p><p> 

91、 }else if(“mysetup”.equals(tourl)){</p><p>  out.println( “<script>location.replace(‘mysetup.jsp’);</script>”);</p><p>  }else if(“err!”.equals(tourl)){</p><p>  out

92、.println( “<script>location.replace(‘err.html’);</script>”);</p><p><b>  }else{</b></p><p>  out.println( “<script>location.replace(‘index.jsp?uid=”+userid1+”

93、’);</script>”);</p><p><b>  }</b></p><p><b>  }else{</b></p><p><b>  %></b></p><p><b>  <%</b></p>

94、<p>  if(“2”.equals(IfLogin)){</p><p><b>  %></b></p><p>  <tr align=”center” class=”Notice”></p><p>  <td colspan=”2”>密碼錯(cuò)誤...</p><p>&l

95、t;b>  </td></b></p><p><b>  </tr></b></p><p><b>  <%</b></p><p>  }else if(“3”.equals(IfLogin)){</p><p><b>  %>

96、</b></p><p>  <tr align=”center” class=”Notice”></p><p>  <td colspan=”2”>無(wú)此用戶(hù)... </td></p><p><b>  </tr></b></p><p><b>

97、;  <%</b></p><p><b>  }</b></p><p><b>  %></b></p><p>  以上的代碼是實(shí)現(xiàn)獲取用戶(hù)名和密碼,并對(duì)其進(jìn)行驗(yàn)證,如果錯(cuò)誤的話(huà)會(huì)根據(jù)相應(yīng)的錯(cuò)誤給出提示——“密碼錯(cuò)誤”或者“無(wú)此用戶(hù)”。如果正確的話(huà)就會(huì)將正確的用戶(hù)名和密碼放入cookie,這樣

98、就能系統(tǒng)就能記住該用戶(hù),而且也能在頁(yè)面的上方顯示出其用戶(hù)名。顯示其用戶(hù)名就是讀取cookie中的信息,并顯示出來(lái)。其關(guān)鍵代碼如下:</p><p>  function getcookieval(offset) {</p><p>  var endstr = document.cookie.indexOf(“;”,offset);</p><p>  if (

99、endstr == -1)</p><p>  endstr = document.cookie.length;</p><p>  return (decodeURI(document.cookie.substring(offset,endstr)));</p><p><b>  }</b></p><p>  fu

100、nction getcookie(name) {</p><p>  var arg = name + ‘=’;</p><p>  var alen = arg.length;</p><p>  var clen = document.cookie.length;</p><p>  var j = 0;</p><

101、;p>  while (j< clen) {</p><p>  var k = j + alen;</p><p>  if(document.cookie.substring(j,k) == arg) return getcookieval(k);</p><p>  j = document.cookie.indexOf(“”,j)+1

102、;</p><p>  if (j ==0 ) break; </p><p><b>  }</b></p><p>  return null;</p><p><b>  }</b></p><p>  以上的代碼是讀取cookies中的用戶(hù)名信息,下面是把

103、cookies中讀取的信息顯示出來(lái)。如果用戶(hù)名不為空則顯示歡迎您等等信息,否則顯示免費(fèi)注冊(cè)和登錄的鏈接。</p><p>  Var username = getcookie(“wangzhai”)</p><p>  if ((username != null) & (username != “”))</p><p><b>  {</b&

104、gt;</p><p>  document.write(“歡迎您:<B>”);</p><p>  document.write(getcookie(“wangzhai”));</p><p>  document.write(“</B> | “);</p><p>  document.write(“<a h

105、ref=’mysetup.jsp’>配置</a> | “);</p><p>  document.write(“<a href=’logout.jsp’>注銷(xiāo)</a> | “);</p><p>  document.write(“<a href=’icollect.jsp’ title=’添加新網(wǎng)摘’>添加</a> |

106、“);</p><p>  document.write(“<a href=’myzhai.jsp’ title=’管理我的網(wǎng)摘’><font color=red>管理</font></a> | “);</p><p><b>  }</b></p><p><b>  else{<

107、;/b></p><p>  document.write(“<a href=’reg.jsp’>免費(fèi)注冊(cè)</a> | “);</p><p>  document.write(“<a href=’login.jsp’>登陸</a>”);}</p><p>  4.1.3用戶(hù)注冊(cè)模塊</p><

108、;p>  用戶(hù)注冊(cè)模塊是針對(duì)新用戶(hù)來(lái)說(shuō)的。為了系統(tǒng)的安全性,只有本站的用戶(hù)才能擁有網(wǎng)摘、書(shū)簽、標(biāo)簽添加的功能。其界面如圖4-2所示。用戶(hù)注冊(cè)的頁(yè)面是reg.jsp,在運(yùn)行新用戶(hù)注冊(cè)的過(guò)程中需要調(diào)用DBManager類(lèi)中的checkUserEmail、checkUsername和usrReg三個(gè)函數(shù)。其主要代碼如下:</p><p>  圖4-2 用戶(hù)注冊(cè)頁(yè)面</p><p>  re

109、quest.setCharacterEncoding(“gb2312”);</p><p>  String userid1=request.getParameter(“userid”);</p><p>  String username1=request.getParameter(“username”);</p><p>  String psw=request

110、.getParameter(“psw”);</p><p>  String email=request.getParameter(“email”);</p><p>  int