已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
精品文檔JSP博客網(wǎng)站系統(tǒng)(論文)摘 要博客信息管理系統(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)的開發(fā)背景和設(shè)計(jì)目標(biāo),并對系統(tǒng)開發(fā)所采用的技術(shù)進(jìn)行相應(yīng)的簡單介紹。在系統(tǒng)分析中,對系統(tǒng)的模型進(jìn)行簡單分析,明確系統(tǒng)的操作流程,并對系統(tǒng)進(jìn)行可行性分析,確定在目前的條件下,開發(fā)博客信息管理系統(tǒng)是可行的。在需求分析結(jié)果的基礎(chǔ)上,對系統(tǒng)的功能模塊進(jìn)行劃分。接著對系統(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)境,并對系統(tǒng)中的JavaBean和Servlet代碼進(jìn)行設(shè)計(jì)。最后給出了系統(tǒng)中模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),并對系統(tǒng)模塊涉及到的關(guān)鍵源代碼進(jìn)行了詳細(xì)的分析。經(jīng)過調(diào)試運(yùn)行后表明,系統(tǒng)可以滿足用戶創(chuàng)建個(gè)人博客的各項(xiàng)要求。關(guān)鍵詞:MVC,設(shè)計(jì)模式,知識共享,博客信息管理系統(tǒng)ABSTRACTThe blog information management system is concentrates on high-quality interactive exchanges platform for a large number of users, increasing the visits and making the website more and more famous, thereby can acquiring for the opportunity that business enterprise providing more introductions and shows of products, promoting the value of the website.Satisfy for the functions of blog information management system, achieving the systems static page separate with dynamic page mutually, using JSP+ JavaBean+ Servlet with the mode of development that the database of SQL Server2000 combine together.The paper discusses the background of development of the system and the design of the target first, and introduces the tecknique which used to develop simply.In the analyse of system, proceeded the simple analysis to the model of the system, made sure the operation process of the system, proceed the analyse to the system, ensure that under the current term, developing blog information management system is feasible. At the foundation of requirement with the analyse result, proceeding the providing of the function module of the system. Follow, designing the database model, including the data flow diagram, entity relation diagram and data tables. during the design and realization of the system, making sure the development thought of the system and install the environment of development,at last show the design details with realize finally an a key for of detailed design with realization, and analyzed the program which relate to the system module. After debugging and running ,it shows that the system can satisfy with users to create personal blog.Keywords: MVC,Design Patterns,Knowledge sharing,The Blog Information Management System目 錄第1章 緒論 11.1 博客信息系統(tǒng)概述 11.2 博客發(fā)展趨勢 21.3 系統(tǒng)開發(fā)的背景 21.4 技術(shù)路線 31.5 系統(tǒng)設(shè)計(jì)目標(biāo)分析 3第2章 基本技術(shù)方案 42.1 JSP中的各種技術(shù) 42.1.1 JSP概述 42.1.2 SERVLET概述 42.1.3 JAVABEAN概述 52.2 基于B/S的WEB應(yīng)用體系結(jié)構(gòu) 52.2.1 傳統(tǒng)的兩層體系結(jié)構(gòu) 52.2.2 三層體系結(jié)構(gòu) 62.2.3 JSP網(wǎng)站開發(fā)模式 62.3 ECLIPSE簡介 72.4 TOMCAT簡介 72.5 SQL SERVER簡介 82.6 MVC設(shè)計(jì)模式 8第3章 系統(tǒng)分析與總體設(shè)計(jì) 103.1 系統(tǒng)需求分析 103.1.1 用戶需求分析 103.2 數(shù)據(jù)分析 113.3 系統(tǒng)流程 113.4 功能模塊劃分 143.5 功能模塊介紹 153.5.1 博客注冊登錄管理模塊 153.5.2 博客及文章檢索查詢模塊 153.5.3 博客頁面顯示模塊 163.5.4 博客個(gè)人維護(hù)管理模塊 16第4章 系統(tǒng)詳細(xì)設(shè)計(jì) 174.1 數(shù)據(jù)庫分析 174.1.1 數(shù)據(jù)庫設(shè)計(jì)E-R圖 174.2 系統(tǒng)數(shù)據(jù)表設(shè)計(jì) 204.3 數(shù)據(jù)連接 23第5章 系統(tǒng)功能的具體實(shí)現(xiàn) 245.1 系統(tǒng)的主窗口 245.2 公共核心類的設(shè)計(jì) 265.2.1 數(shù)據(jù)庫相關(guān) 265.2.2 編寫JAVABEAN類 285.2.3 管理類設(shè)計(jì) 295.3 系統(tǒng)主要功能模塊詳述 315.3.1 博客管理員登陸模塊 315.3.2 日志管理顯示模塊 325.3.3 撰寫日志模塊 355.3.4 刪除日志模塊 365.3.5 修改日志模塊 385.3.6 日志搜索模塊 39結(jié) 論 40參考文獻(xiàn) 41致 謝 42第1章 緒論1.1 博客信息系統(tǒng)概述“博客”(Blog或Weblog)一詞源于“Web Log(網(wǎng)絡(luò)日志)”的縮寫,是一種十分簡易的傻瓜化個(gè)人信息發(fā)布方式。任何人都可以像使用免費(fèi)電子郵件一樣,完成個(gè)人網(wǎng)頁的創(chuàng)建、發(fā)布和更新。博客就是開放的私人空間,可以充分利用超文本鏈接、網(wǎng)絡(luò)互動(dòng)、動(dòng)態(tài)更新等特點(diǎn),在網(wǎng)絡(luò)中,精選并鏈接全球互聯(lián)網(wǎng)中最有價(jià)值的信息、知識與資源;也可以將個(gè)人工作過程、生活故事、思想歷程、閃現(xiàn)的靈感等及時(shí)記錄和發(fā)布,發(fā)揮個(gè)人無限的表達(dá)力;更可以以文會(huì)友,結(jié)識和匯聚朋友,進(jìn)行深度交流溝通1?!安┛汀碑?dāng)然是個(gè)大家都陌生的名詞,博客的英文名詞就是“Blog或Weblog”(指人時(shí)對應(yīng)于Blogger),是一個(gè)典型的網(wǎng)絡(luò)新事物,查閱最新的英文詞典也不可能查到。該詞來源于“Web Log(網(wǎng)絡(luò)日志)”的縮寫,特指一種特別的網(wǎng)絡(luò)個(gè)人出版形式,內(nèi)容按照時(shí)間順序排列,并且不斷更新。博客是一種零編輯、零技術(shù)、零成本、零形式的網(wǎng)上個(gè)人出版方式。博客概念一般包含了三個(gè)要素(當(dāng)然,也不需要局限這些定義):(1)網(wǎng)頁主體內(nèi)容由不斷更新的、個(gè)性化的眾多日志組成。(2)按時(shí)間順序排列,而且是倒序方式,也就是最新的放在最上面,最舊的放在最下面。(3)內(nèi)容可以是各種主題、各種外觀布局和各種寫作風(fēng)格,但是文章內(nèi)容以“超鏈接”作為重要的表達(dá)方式。因此,博客是個(gè)人性和公共性的結(jié)合體,其精髓不是主要表達(dá)個(gè)人思想,不是主要記錄個(gè)人日常經(jīng)歷;而是以個(gè)人的視角,以整個(gè)互聯(lián)網(wǎng)為視野,精選和記錄自己在互聯(lián)網(wǎng)上看到的精彩內(nèi)容,為他人提供幫助,使其具有更高的共享價(jià)值。博客精神的核心并不是自娛自樂,甚至不是個(gè)人表達(dá)自由,相反,是體現(xiàn)一種利他的共享精神,為他人提供幫助。個(gè)人日記和個(gè)人網(wǎng)站主要表現(xiàn)的還是“小我”,而博客表現(xiàn)的是“大我”。也許形式上很接近,但內(nèi)在有著本質(zhì)的差異。所有優(yōu)秀博客網(wǎng)站中,真正表達(dá)作者個(gè)人的內(nèi)容非常有限,最多只是點(diǎn)綴,而不像個(gè)人網(wǎng)站那樣是核心。1.2 博客發(fā)展趨勢趨勢一:博客現(xiàn)在正在形成個(gè)人的信譽(yù)機(jī)制,有了博客之后就確立了一個(gè)個(gè)人虛擬身份,簡單的來講就是個(gè)人在互聯(lián)網(wǎng)上是有名有姓的,而不再是一種匿名的行為,網(wǎng)民從流浪漢變成了一個(gè)定居者。以前在互聯(lián)網(wǎng)上的各種行為都是在匿名狀態(tài)中,相互之間是不認(rèn)識的,但有了博客之后可以天天關(guān)注,而別的人也可以通過博客找到這個(gè)人。這樣隨著時(shí)間的積累就會(huì)產(chǎn)生一個(gè)新的東西,概括叫做“個(gè)人的信譽(yù)”,個(gè)人的信譽(yù)就是博客和博客之間發(fā)展各種關(guān)系的組合,這種信譽(yù)對每個(gè)人來講可能是不同的,但對每個(gè)博客來講就產(chǎn)生了新的評價(jià)機(jī)制,這個(gè)機(jī)制將是博客商業(yè)化的一個(gè)前提條件。趨勢二:博客越來越呈現(xiàn)出富媒體化,早期的博客是以文字為主,但隨著多媒體發(fā)展博客相冊、博客圖片已經(jīng)成為博客的基本配置,而現(xiàn)在許多博客網(wǎng)站已經(jīng)提供了博客音頻和博客視頻。趨勢三:博客現(xiàn)在正在形成并完善精選機(jī)制,博客作為自媒體和個(gè)人媒體,產(chǎn)生的信息非常巨大。其中難免產(chǎn)生信息垃圾,隨著博客的發(fā)展,博客通過精選機(jī)制精選出大家喜聞樂見的信息,像國內(nèi)網(wǎng)摘、博客的評價(jià)系統(tǒng)等2,3。1.3 系統(tǒng)開發(fā)的背景博客的精神是:自由表達(dá),開放寬容,個(gè)性張揚(yáng),專業(yè)精神。在沒有自己的博客之前,人們會(huì)經(jīng)常進(jìn)出于論壇發(fā)表貼子或者通過即時(shí)通信軟件聊天,來表達(dá)自已的想法,可是這些都是零散的和雜亂的。博客的出現(xiàn),讓人們可以不斷的把自己以前的和每天激發(fā)的一些想法或者感受整理放在自己的博客上,每次在寫文章的時(shí)候,可能又會(huì)產(chǎn)生新的想法。雖然一些想法一些思考只是皮毛,沒有什么深度,但是當(dāng)下筆去寫的時(shí)候每次都會(huì)對某個(gè)小小的問題有了更多的一點(diǎn)點(diǎn)思考,再寫博客的時(shí)候就感覺到了一種滿足感,一種想法得以釋放思考得以延伸的滿足感。生活中每天的一個(gè)小小的事情都會(huì)引起人們的思考,甚至是和朋友的聊天中一個(gè)小小的火花迸發(fā)。督促自己努力、把一時(shí)的想法變成觀點(diǎn),爭取在生命中的每天里留下點(diǎn)什么,這也是人們寫博客的目的之一。這樣就能督促自己每一天不要渾渾噩噩,時(shí)光流逝無痕無聲無息,寫博客也是在自己的每一天上留下了一道淺淺的思考和劃痕。不僅如此,通過寫博客、記錄自己的想法可以幫助實(shí)現(xiàn)如下這些目的:(1)記錄生活,在自己的每一天上留下思考的劃痕。 (2)整理思路,固化知識,獲得更多更好的想法。 (3)分享,將自己的想法、經(jīng)驗(yàn)與人分享。(4)交流、提高,通過交流產(chǎn)生更多的思維火花,相互提高。 (5)交友,互相鼓勵(lì),一路同行。 如果說博客網(wǎng)站是一個(gè)舞臺(tái),那么所有的博客都是其中的舞者,把自己有價(jià)值的真實(shí)的一面展示在網(wǎng)絡(luò)世界中,相互交流溝通; 如果博客僅僅為了寫日志,那么博客是一面鏡子,鏡子中展現(xiàn)的是真實(shí)的自己;如果博客是一個(gè)自由媒體,可以把自身感覺有價(jià)值的信息通過博客這個(gè)工具發(fā)布,與網(wǎng)友共享。1.4 技術(shù)路線本系統(tǒng)的開發(fā)采用的是JSP+JavaBean+Servlet模式,在該模式中,結(jié)合了JSP和Servlet技術(shù),充分利用了JSP和Servlet兩種技術(shù)原有的優(yōu)點(diǎn)。在此模式中,JavaBean作為模型的角色,充當(dāng)JSP和Servlet通信的中間工具,Servlet處理完后設(shè)置JavaBean的屬性,JSP讀取此JavaBean的屬性,然后進(jìn)行顯示。該模式更加明顯地把顯示和邏輯分離,使得代碼更容易管理,適合大型項(xiàng)目的開發(fā)4。1.5 系統(tǒng)設(shè)計(jì)目標(biāo)分析本系統(tǒng)是用JSP實(shí)現(xiàn)的一個(gè)完全基于瀏覽器的博客系統(tǒng),任何注冊個(gè)人博客的人都擁有以下功能:(1)登錄博客系統(tǒng)的后臺(tái)管理平臺(tái)。(2)更改博客賬號的基本信息。(3)撰寫日志。(4)日志管理。(5)評論管理。(6)留言管理。博客訪問者具有以下功能:(1)瀏覽博客系統(tǒng)中的日志、留言、評論。(2)發(fā)表評論及留言。(3)檢索日志。第2章 基本技術(shù)方案 2.1 JSP中的各種技術(shù)2.1.1 JSP概述JSP即Java Server Pages,是由Sun Microsystem公司于1996年6月推出的新技術(shù),是基于Java Servlet以及整個(gè)Java體系的Web開發(fā)技術(shù)。JSP已經(jīng)成為開發(fā)Web動(dòng)態(tài)網(wǎng)頁重要、快速和有效的工具,是全新的網(wǎng)絡(luò)服務(wù)器編程環(huán)境。JSP充分利用了Java的強(qiáng)大功能,是一種優(yōu)秀的服務(wù)器端技術(shù)。隨著Java技術(shù)的日益成熟和流行,JSP在網(wǎng)絡(luò)編程中也變得越來越重要。JSP基于強(qiáng)大的Java語言,具有極強(qiáng)的擴(kuò)展能力,良好的縮收性,以及與平臺(tái)無關(guān)的開發(fā)特性,成為構(gòu)建動(dòng)態(tài)網(wǎng)站的主流技術(shù)之一,JSP有著其他技術(shù)所不具備的優(yōu)勢。其優(yōu)勢在于:可以將內(nèi)容的生成和顯示進(jìn)行分離、生成可重用的組件、采用標(biāo)識簡化頁面開發(fā)。JSP能提供所有Servlet的功能5。2.1.2 Servlet概述Servlet是Java編寫的服務(wù)器端程序,是由服務(wù)器端執(zhí)行和調(diào)用的Java類。Servlet是采用Java技術(shù)來實(shí)現(xiàn)CGI功能的一種技術(shù),能夠像CGI一樣動(dòng)態(tài)地?cái)U(kuò)展Web服務(wù)器的功能,并采用請求響應(yīng)模式提供Web服務(wù)。Servlet和CGI一樣都是運(yùn)行在Web服務(wù)器上,用來生成Web頁面。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。其工作流程圖如圖2.1所示。圖2.1 Servlet工作流程圖Servlet工作流程:(1)客戶端發(fā)送請求信息至服務(wù)器。(2)服務(wù)器將請求信息發(fā)送至Servlet。(3)Servlet生成響應(yīng)內(nèi)容并將其傳給Servlet。響應(yīng)內(nèi)容動(dòng)態(tài)生成,通常取決于客戶端的請求。(4)服務(wù)器將響應(yīng)信息返回至客戶端。2.1.3 JavaBean概述JavaBean是Sun公司為了進(jìn)入因特網(wǎng)、企業(yè)網(wǎng)以及萬維網(wǎng)上進(jìn)行分布式計(jì)算的組件結(jié)構(gòu)入口。按照Sun公司的定義,JavaBean是一個(gè)可重復(fù)使用的軟件部件。JavaBean體系結(jié)構(gòu)是第一個(gè)全面地基于組件的標(biāo)準(zhǔn)模型之一,該組件是Java類,這些類遵循一個(gè)接口格式,以便于使方法命名、底層行為以及繼承或?qū)崿F(xiàn)的行為能夠把類看做標(biāo)準(zhǔn)的JavaBean組件的方式進(jìn)行構(gòu)造7。在Java模型中,通過JavaBean可以無限擴(kuò)充Java程序的功能,通過JavaBean的組合可以快速生成新的應(yīng)用程序。JavaBean具有以下特點(diǎn):(1)可以實(shí)現(xiàn)代碼的重復(fù)利用。(2)易維護(hù)性、易使用性、易編寫性。(3)可以在Java的任何平臺(tái)上工作,不需要重新編譯。(4)可以在內(nèi)部網(wǎng)或者網(wǎng)絡(luò)之間進(jìn)行傳輸。(5)可以以其它部件的模式進(jìn)行工作。JavaBean在JSP程序中常用來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等,可以很好的實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序的分離,使得系統(tǒng)具有更好的健壯性和靈活性。2.2 基于B/S的WEB應(yīng)用體系結(jié)構(gòu)2.2.1 傳統(tǒng)的兩層體系結(jié)構(gòu)在Web發(fā)展的初期,Web應(yīng)用主要是通過靜態(tài)頁面在Internet上發(fā)布信息。用戶通過瀏覽器向服務(wù)器發(fā)送請求,服務(wù)器接收用戶端的請求,向客戶端瀏覽器發(fā)送所請求的頁面。在這種結(jié)構(gòu)下,網(wǎng)站上的頁面是靜態(tài)的,無法根據(jù)用戶的實(shí)際使用情況做動(dòng)態(tài)的變化。網(wǎng)站的信息提供者通過更新服務(wù)器上的網(wǎng)頁來向用戶提供最新的信息。用戶和瀏覽器之間只有有限的交互,而網(wǎng)站和用戶之間幾乎沒有交互。2.2.2 三層體系結(jié)構(gòu)三層體系結(jié)構(gòu)圖如圖2.2所示。圖2.2 三層體系結(jié)構(gòu)圖CGI,ASP,PHP等技術(shù)的出現(xiàn),使得開發(fā)動(dòng)態(tài)交互式的Web應(yīng)用得以實(shí)現(xiàn)。用戶通過瀏覽器向服務(wù)器發(fā)送請求,Web服務(wù)器接收客戶端發(fā)送來的請求,對請求進(jìn)行分析,如果請求是靜態(tài)頁面,那么就將所請求的頁面發(fā)送到客戶端;如果請求的是動(dòng)態(tài)頁面,那么就執(zhí)行此動(dòng)態(tài)頁面,并將執(zhí)行結(jié)果發(fā)送給客戶端。動(dòng)態(tài)頁面中的腳本程序可以和數(shù)據(jù)庫服務(wù)器進(jìn)行交互。Web服務(wù)器可以根據(jù)用戶的請求動(dòng)態(tài)更新頁面上的信息,Web信息提供者可以通過改變數(shù)據(jù)庫中的數(shù)據(jù)向用戶提供最新信息,而不需要逐個(gè)更改頁面。用戶可以通過這些動(dòng)態(tài)頁面向數(shù)據(jù)庫中輸入信息,從而增強(qiáng)了用戶和服務(wù)器之間的交互性。2.2.3 JSP網(wǎng)站開發(fā)模式目前,JSP技術(shù)已經(jīng)成為一種受大多數(shù)大型企業(yè)或中小型企業(yè)喜愛的動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)。越來越多的技術(shù)人員也逐步成為JSP技術(shù)的推崇者。JSP技術(shù)正是利用了Java的“一次開發(fā),處處使用”的性能,成為了網(wǎng)站開發(fā)技術(shù)人員的首選技術(shù)。當(dāng)然,JSP技術(shù)的最大優(yōu)勢在于能夠?qū)㈨撁娴谋憩F(xiàn)形式和頁面的商業(yè)邏輯分開。JSP網(wǎng)站開發(fā)技術(shù)標(biāo)準(zhǔn)提供了兩種開發(fā)模式:一種是JSP+JavaBean開發(fā)模式;一種是JSP+Servlet+JavaBean開發(fā)模式8,9。JSP+JavaBean模型圖如圖2.3所示。圖2.3 JSP+JavaBean模型圖在這種模型中,JSP頁面獨(dú)自響應(yīng)請求并將處理結(jié)果返回給客戶,所有的數(shù)據(jù)通過JavaBean來處理,JSP實(shí)現(xiàn)頁面的顯示。此模型常常會(huì)導(dǎo)致頁面被嵌入大量的腳本語言或者Java代碼段,當(dāng)處理大型業(yè)務(wù)時(shí),頁面程序?qū)⒆兊卯惓?fù)雜給開發(fā)和維護(hù)帶來困難。JSP+Servlet+JavaBean模型圖如圖2.4所示。圖2.4 JSP+Servlet+JavaBean模型圖Servlet技術(shù)是一種采用Java技術(shù)來實(shí)現(xiàn)CGI功能的一種技術(shù)。Servlet是運(yùn)行在Web服務(wù)器上,用來生成Web頁面。Servlet技術(shù)非常適于服務(wù)器端的處理和編程。在此種開發(fā)模式中,JSP技術(shù)用來顯示頁面,該頁面中沒有任何的商業(yè)處理邏輯,通過Servlet技術(shù)來完成大量的事物處理工作。Servlet用來處理事務(wù)的請求,充當(dāng)著一個(gè)控制者的角色,并負(fù)責(zé)向客戶發(fā)送請求,創(chuàng)建JSP需要的Bean和對象,根據(jù)用戶的請求行為,決定將哪個(gè)JSP頁面發(fā)送給用戶。從上面兩種開發(fā)模式來說:第二種模式要好些,更適合于團(tuán)隊(duì)開發(fā),速度相對較慢,但是可維護(hù)性高6。2.3 Eclipse簡介Eclipse最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),包括Platform、JDT和PDE。Eclipse是一個(gè)開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成10。2.4 Tomcat簡介如今,基于Web的應(yīng)用越來越多,傳統(tǒng)的Html已經(jīng)滿足不了如今的需求。因此需要一個(gè)交互式的Web,于是便誕生了各種Web語言。如Asp,Jsp,Php等。當(dāng)然,這些語言與傳統(tǒng)的語言有著密切的聯(lián)系,如Php基于C和C+語言,Jsp基于Java語言。Tomcat即是一個(gè)Jsp和Servlet的運(yùn)行平臺(tái)。Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開發(fā)而成11。2.5 SQL Server簡介Microsoft SQL Server 2000是微軟所推出的一套在Windows平臺(tái)上執(zhí)行的功能強(qiáng)大的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),用以作為應(yīng)用程序的數(shù)據(jù)來源,存放各種數(shù)據(jù),并可以讓用戶很容易地達(dá)成所要進(jìn)行的數(shù)據(jù)存取操作。同時(shí),也提供了一些可視化的管理工具,協(xié)助數(shù)據(jù)庫系統(tǒng)管理者更方便快速地管理及設(shè)計(jì)數(shù)據(jù)庫的內(nèi)容,以及對數(shù)據(jù)庫進(jìn)行維護(hù)。SQL Server 2000不僅可以實(shí)現(xiàn)個(gè)人數(shù)據(jù)庫的管理,更適合企業(yè)級數(shù)據(jù)庫的應(yīng)用12,13。2.6 MVC設(shè)計(jì)模式MVC模式的基本形式圖如圖2.5所示。圖2.5 MVC模式的基本形式圖MVC(Model-View-Controller)模式并不是J2EE行業(yè)人士標(biāo)新立異的。MVC的核心就是要做到三級甚至多級的松散耦合,MVC模式將系統(tǒng)分為三個(gè)部分,分別是數(shù)據(jù)模型、視圖和控制器,并定義了這三個(gè)部分之間實(shí)現(xiàn)通信的一種模式,使每個(gè)部分不必卷入到其他部分的狀態(tài)表示和方法實(shí)現(xiàn)的細(xì)節(jié)中去。每個(gè)部分有自己的數(shù)據(jù)管理規(guī)則,各個(gè)對象之間的通信只能使用自己定義的一個(gè)受限連接集合進(jìn)行。保持這種分離性通常是面向?qū)ο缶幊毯驮O(shè)計(jì)要追求的目標(biāo),讓各個(gè)對象只需專注于自己的事務(wù)。模型部分代表了商業(yè)數(shù)據(jù)的訪問及修改數(shù)據(jù)的操作。當(dāng)數(shù)據(jù)發(fā)生改變時(shí),要負(fù)責(zé)通知視圖部分,并且提供視圖查詢狀態(tài)的能力。另外,還向控制部分提供應(yīng)用功能。視圖部分以自己的方式顯示模型的內(nèi)容。訪問模型的數(shù)據(jù),并且當(dāng)模型的數(shù)據(jù)發(fā)生變化時(shí)更新模型的顯示。視圖還把從用戶那里得到的信息傳給控制部分??刂撇糠侄x了應(yīng)用的行為。分發(fā)用戶請求和選擇表現(xiàn)視圖,還負(fù)責(zé)解釋用戶輸入,進(jìn)而調(diào)用模型的功能。在Web應(yīng)用中,用戶輸入包括對Web級資源的HTTP、GET和POST請求??刂撇糠指鶕?jù)用戶交互和模型的狀態(tài)選擇要顯示的視圖。一個(gè)應(yīng)用程序一般為相關(guān)的功能選擇一個(gè)控制部分14,15。第3章 系統(tǒng)分析與總體設(shè)計(jì)博客信息系統(tǒng)包括:前臺(tái)信息顯示系統(tǒng)、后臺(tái)信息管理系統(tǒng)。前者是面向公眾的一個(gè)窗口,通過前臺(tái)信息顯示系統(tǒng)方便訪問者瀏覽日志、評論和留言;發(fā)表評論和留言。后者是后臺(tái)信息管理系統(tǒng),方便博客管理員發(fā)表日志;回復(fù)評論和留言;管理日志、評論、留言及個(gè)人信息 12。3.1 系統(tǒng)需求分析3.1.1 用戶需求分析用例圖用來描述系統(tǒng)與參與者之間的相互作用,與用例圖相關(guān)的幾個(gè)概念:(1)角色:代表了某一事件發(fā)生的參與者,用一個(gè)小人表示。(2)用例:代表系統(tǒng)可以實(shí)現(xiàn)的功能,通常一個(gè)用例代表一組功能,實(shí)質(zhì)上規(guī)定了系統(tǒng)實(shí)現(xiàn)功能的范圍。(3)用例圖:當(dāng)角色和用例發(fā)生某種關(guān)系時(shí),就可以用一個(gè)圖將它們關(guān)聯(lián)起來,這就是用例圖。博客信息管理系統(tǒng)用例圖如圖3.1所示。圖3.1 博客信息管理系統(tǒng)用例圖博客信息管理系統(tǒng)允許用戶有三種身份:博客訪問者、博客管理員及系統(tǒng)管理員。博客系統(tǒng)參與者中每種身份操作起來都很方便、快捷。博客訪問者無需登陸就可以瀏覽信息、發(fā)表評論或留言;博客管理員注冊后再登陸,就可以發(fā)布日志、管理個(gè)人主頁;而博客管理員的基本信息都由系統(tǒng)管理員對其統(tǒng)一管理。3.2 數(shù)據(jù)分析本系統(tǒng)的用戶主要是博客訪問者和博客管理員,下面以博客前臺(tái)展示系統(tǒng)中的用戶查詢?nèi)罩緸槔M(jìn)行說明。該過程的數(shù)據(jù)流程圖如圖3.2所示。圖3.2 用戶查詢?nèi)罩镜臄?shù)據(jù)流程圖用戶查詢?nèi)罩镜臄?shù)據(jù)流程:首先,用戶輸入需查找的關(guān)鍵字,然后提交表單數(shù)據(jù),服務(wù)器接收到關(guān)鍵字后,根據(jù)關(guān)鍵字對日志標(biāo)題進(jìn)行模糊查詢,處理后將結(jié)果以日志標(biāo)題鏈接的形式顯示給該用戶,用戶點(diǎn)擊相應(yīng)的鏈接就可以瀏覽日志內(nèi)容。3.3 系統(tǒng)流程根據(jù)博客信息管理系統(tǒng)的特點(diǎn),將其分為兩大模塊:前臺(tái)用戶瀏覽模塊和后臺(tái)用戶管理模塊。前臺(tái)用戶瀏覽模塊主要用于用戶瀏覽日志信息;后臺(tái)用戶管理模塊主要用于博客管理員對個(gè)人博客網(wǎng)站的管理,如日志管理、留言管理及評論管理等。博客系統(tǒng)平臺(tái)的前臺(tái)用戶瀏覽模塊流程圖如圖3.3所示。圖3.3 前臺(tái)用戶瀏覽模塊流程圖前臺(tái)用戶瀏覽模塊主要用于用戶瀏覽日志信息,用戶瀏覽日志有三種瀏覽方式可以選擇:一是直接點(diǎn)擊日志標(biāo)題鏈接進(jìn)入日志顯示頁面瀏覽日志;二是點(diǎn)擊博客主題鏈接進(jìn)入該個(gè)人博客的首頁,然后在該首頁中選擇所需的日志標(biāo)題鏈接進(jìn)入日志顯示頁面瀏覽日志;三是通過首頁提供的搜索功能,搜索所需要的日志,然后在結(jié)果列表中選擇所需的日志標(biāo)題鏈接進(jìn)入日志顯示頁面瀏覽日志。瀏覽日志的同時(shí)用戶可以查看別人對該日志的評論,然后用戶也可以對該日志發(fā)表自已的評論。博客系統(tǒng)平臺(tái)的后臺(tái)用戶管理模塊流程圖如圖3.4所示。圖3.4 后臺(tái)用戶管理模塊流程圖用戶進(jìn)入后臺(tái)管理平臺(tái),首先必需進(jìn)行權(quán)限驗(yàn)證,防止未授權(quán)的用戶非法登錄。若未通過驗(yàn)證,則顯示出錯(cuò)提示,并跳轉(zhuǎn)到登錄界面。若通過驗(yàn)證,則進(jìn)入個(gè)人博客后臺(tái)管理平臺(tái)。用戶可以瀏覽已發(fā)表的日志,并對其進(jìn)行相應(yīng)的操作如修改日志和刪除日志;可以查看日志的評論信息并對其進(jìn)行回復(fù)或者刪除操作;可以發(fā)表新的日志;可以新建日志分類;可以瀏覽個(gè)人博客的留言信息并對其進(jìn)行相應(yīng)的操作如回復(fù)留言和刪除留言;還可以對個(gè)人信息進(jìn)行修改。3.4 功能模塊劃分前臺(tái)模塊功能結(jié)構(gòu)如圖3.5所示。圖3.5 博客信息系統(tǒng)前臺(tái)功能結(jié)構(gòu)圖后臺(tái)模塊功能結(jié)構(gòu)如圖3.6所示。圖3.6 博客信息系統(tǒng)后臺(tái)功能結(jié)構(gòu)圖3.5 功能模塊介紹博客信息管理系統(tǒng)分為面向網(wǎng)絡(luò)用戶的前臺(tái)及面向個(gè)人博客維護(hù)管理的后臺(tái),依據(jù)博客網(wǎng)站中所要實(shí)現(xiàn)的基本功能的設(shè)定,將所有功能分解為如下四個(gè)主要的功能模塊來加以實(shí)現(xiàn)。用戶以合法的用戶名及密碼登錄,系統(tǒng)即可按該登錄用戶的權(quán)限分配操作模塊。3.5.1 博客注冊登錄管理模塊博客注冊登錄管理模塊用于建立博客網(wǎng)站固定的客戶群體,通過記錄對應(yīng)的博客檔案,實(shí)現(xiàn)對博客信息的后臺(tái)維護(hù)及管理,同時(shí)也便于通過博客檔案庫將網(wǎng)站最新動(dòng)態(tài)及相關(guān)企業(yè)的信息方便地傳達(dá)給每一位潛在的客戶。該功能模塊實(shí)現(xiàn)了以下幾個(gè)子功能。(1)新博客在線注冊。(2)博客登錄管理。(3)跳轉(zhuǎn)到博客主頁。只有進(jìn)行登錄并通過身份驗(yàn)證的用戶,才可以在個(gè)人博客頁面發(fā)表日志,并借助個(gè)人設(shè)置實(shí)現(xiàn)對個(gè)人博客相關(guān)信息的管理維護(hù)。對于沒有經(jīng)過身份驗(yàn)證的網(wǎng)絡(luò)用戶不允許在博客頁面中發(fā)表日志,更不允許對博客頁面信息進(jìn)行管理維護(hù)。該模塊實(shí)現(xiàn)新博客的注冊及登錄驗(yàn)證功能。其中,注冊新博客時(shí)會(huì)對用戶輸入的注冊信息進(jìn)行有效性驗(yàn)證,包括基本數(shù)據(jù)格式的有效性以及邏輯有效性,例如,用戶名被占用時(shí)將及時(shí)給出提示。注冊成功的博客登錄時(shí),會(huì)隨時(shí)根據(jù)博客輸入的登錄信息進(jìn)行提示,如用戶名錯(cuò)誤或者密碼錯(cuò)誤。3.5.2 博客及文章檢索查詢模塊博客及文章檢索查詢模塊為網(wǎng)絡(luò)用戶提供便捷的搜索,以及日志閱讀瀏覽等功能,同時(shí)對日志的評論信息、博客推薦也能夠及時(shí)反饋給網(wǎng)絡(luò)用戶。該功能模塊實(shí)現(xiàn)了以下幾個(gè)子功能。(1)熱門博客頁面推薦。(2)最新博客日志推薦。(3)日志信息關(guān)鍵字搜索。該模塊能夠在網(wǎng)頁中隨時(shí)提供在線的最新日志信息。該信息需要定期更新,網(wǎng)絡(luò)用戶可以隨時(shí)獲得最新日志以及最熱門的博客推薦。在客戶選擇了某個(gè)博客或者某個(gè)感興趣的日志后,可以方便地跳轉(zhuǎn)到對應(yīng)博客頁面進(jìn)行日志的閱讀,并和博客進(jìn)行交流互動(dòng)。為了使網(wǎng)絡(luò)用戶盡快定位到所需的博客資料及日志信息,本模塊提供了搜索功能,用戶可以對所關(guān)注的日志信息按照標(biāo)題進(jìn)行關(guān)鍵字搜索,以避免用戶瀏覽多個(gè)頁面來尋找所需的日志信息。3.5.3 博客頁面顯示模塊當(dāng)網(wǎng)絡(luò)用戶進(jìn)入某個(gè)人博客主頁后,在該頁面中將提供博客日志列表的顯示,同時(shí)為了方便用戶瀏覽,在該模塊中提供根據(jù)分類名進(jìn)行日志列表的顯示,也提供日志評論的瀏覽,此外還允許用戶在博客頁面中發(fā)表評論及留言。該功能模塊實(shí)現(xiàn)了如下幾個(gè)子功能。(1)用戶可以分頁查看對應(yīng)的日志內(nèi)容及評論信息。(2)用戶可以針對日志內(nèi)容發(fā)表評論。(3)用戶可以針對博客進(jìn)行留言。(4)用戶可以分類查看日志內(nèi)容。在該模塊中還提供了博客頁面統(tǒng)計(jì)信息,日志、評論及留言信息分頁顯示等方便用戶的顯示效果。3.5.4 博客個(gè)人維護(hù)管理模塊博客個(gè)人維護(hù)管理模塊用于實(shí)現(xiàn)用戶對博客個(gè)人主頁及相關(guān)信息的動(dòng)態(tài)管理。該功能模塊實(shí)現(xiàn)了如下幾個(gè)子功能:(1)日志及日志分類管理。(2)評論及留言管理。(3)個(gè)人基本信息維護(hù)管理。借助該模塊,用戶可以隨時(shí)對個(gè)人博客主頁中的內(nèi)容進(jìn)行增加或修改,包括日志分類信息的更新、評論及留言管理等功能,也允許用戶對博客的個(gè)人信息進(jìn)行維護(hù)及其管理。第4章 系統(tǒng)詳細(xì)設(shè)計(jì)4.1 數(shù)據(jù)庫分析數(shù)據(jù)庫是當(dāng)前應(yīng)用軟件系統(tǒng)的重要組成部分,如何使基于數(shù)據(jù)庫的應(yīng)用系統(tǒng)安全、可靠、高效的運(yùn)行一直是軟件開發(fā)技術(shù)研究的難題。所以本系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)基于以下幾點(diǎn)來考慮:(1)數(shù)據(jù)庫規(guī)范化與非規(guī)范化的考慮。(2)數(shù)據(jù)查詢優(yōu)化與索引的建立。(3)存儲(chǔ)過程與視圖。4.1.1 數(shù)據(jù)庫設(shè)計(jì)E-R圖為了把用戶的數(shù)據(jù)要求清晰明確地表達(dá)出來,通常要建立一個(gè)概念性的數(shù)據(jù)模型。概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)來對數(shù)據(jù)和信息建模。描述了從用戶角度看到的數(shù)據(jù),反映了用戶的現(xiàn)實(shí)環(huán)境。最常用的表示概念性數(shù)據(jù)模型的方法,是實(shí)體聯(lián)系方法(EntityRelationship Approach)。這種方法用ER圖描述現(xiàn)實(shí)世界中的實(shí)體,而不涉及這些實(shí)體在系統(tǒng)中的實(shí)現(xiàn)方法。用這種方法表示的概念性數(shù)據(jù)模型又稱為ER模型。ER模型中包含“實(shí)體”,“聯(lián)系”和“屬性”。博客信息管理系統(tǒng)涉及的實(shí)體包括:(1)用戶:用戶ID、用戶名稱、用戶密碼、博客主題、說明、E-mail、注冊日期、發(fā)表日志數(shù)。 (2)類別:類別編號、類別名、類別描述、用戶ID。(3)日志:日志編號、日志標(biāo)題、日志內(nèi)容、類別編號、發(fā)表日期、最后修改日期、用戶ID、瀏覽次數(shù)、評論數(shù)。(4)評論:評論編號、評論標(biāo)題、評論內(nèi)容、發(fā)表日期、最后回復(fù)日期、評論人、日志編號。(5)留言:留言編號、留言標(biāo)題、留言內(nèi)容、發(fā)表日期、最后回復(fù)日期、留言人、用戶ID。綜合本系統(tǒng)各子模塊要實(shí)現(xiàn)的功能,通過前面對博客信息系統(tǒng)數(shù)據(jù)的分析可以得到:用戶表、類別表、日志表、日志評論表、留言表的數(shù)據(jù)庫概念模型(E-R圖)。用戶E-R圖如圖4.1所示。圖4.1 用戶E-R圖日志類別E-R圖如圖4.2所示。圖4.2 日志類別E-R圖日志E-R圖如圖4.3所示。圖4.3 日志E-R圖日志評論E-R圖如圖4.4所示。圖4.4 日志評論E-R圖留言E-R圖如圖4.5所示。圖4.5 留言E-R圖4.2 系統(tǒng)數(shù)據(jù)表設(shè)計(jì)(1)用戶表,此表主要用于保存用戶的基本信息。其結(jié)構(gòu)如表4.1所示。表4.1 用戶表列名 含義 類型 長度 缺省值 允許空BlogID 用戶編號 Int 4 無 否UserName 用戶名 Varchar 20 無 否Password 用戶密碼 Varchar 20 無 否NickName 博客主題 Varchar 50 無 否Description 博客描述 Varchar 100 無 是Email 電子郵件 Email 50 無 否RegisterTime 注冊日期 Datetime 8 無 否ArticleNum 發(fā)表的日志數(shù) Int 4 0 否(2)日志表,此表主要用于保存日志的基本信息。其結(jié)構(gòu)如表4.2所示。 表4.2 日志表列名 含義 類型 長度 缺省值 允許空ArticleID 日志編號 Int 4 無 否Title 日志標(biāo)題 Varchar 50 無 否Content 日志內(nèi)容 text 8 無 否CategoryID 類別ID int 4 無 否PublishTime 日志發(fā)表時(shí)間 Datetime 8 無 否LastModifyTime 日志最后修改時(shí)間 Datetime 8 無 否BlogID 用戶ID Int 4 無 否ReadTimes 日志瀏覽次數(shù) Int 4 0 否FeedBackNum 日志評論數(shù) Int 4 0 否(3)日志評論表,此表主要用于保存日志評論的基本信息。其結(jié)構(gòu)如表4.3所示。表4.3 日志評論表列名 含義 類型 長度 缺省值 允許空FeedBackID 評論編號 Int 4 無 否Title 評論標(biāo)題 Varchar 20 無 否Content 評論內(nèi)容 Text 8 無 否PublishTime 發(fā)表時(shí)間 Datetime 8 無 否UserName 用戶名 Varchar 20 無 否ArticleID 日志ID Int 4 無 否(4)留言表,此表主要用于保存留言的基本信息。其結(jié)構(gòu)如表4.4所示。 表4.4 留言表列名 含義 類型 長度 缺省值 允許空MessageID 留言編號 Int 4 無 否Title 留言標(biāo)題 Varchar 20 無 否Content 留言內(nèi)容 text 8 無 否PublishTime 發(fā)表時(shí)間 Datetime 8 無 否LastModifyTime 最后回復(fù)時(shí)間 Datetime 8 無 否UserName 用戶名 Varchar 20 無 否BlogID 用戶ID Int 4 無 否(5)類別表,此表用于保存日志類別的基本信息。其結(jié)構(gòu)如表4.5所示。表4.5 類別表列名 含義 類型 長度 缺省值 允許空CategoryID 類別編號 Int 4 無 否Name 類別名 Varchar 20 無 否Description 類別描述 Varchar 100 無 是BlogID 用戶編號 Int 4 無 否數(shù)據(jù)表在設(shè)計(jì)完成后,指定好各數(shù)據(jù)表主鍵、外鍵,通過SQL Server 2000企業(yè)管理器中提供的新建數(shù)據(jù)庫關(guān)系統(tǒng)圖即可自動(dòng)生成表與表之間的關(guān)系圖。各個(gè)關(guān)聯(lián)表之間通過設(shè)置好的外鍵連接在一起。本系統(tǒng)具體的數(shù)據(jù)表之間關(guān)系圖如圖4.6所示:圖4.6 數(shù)據(jù)表之間關(guān)系圖4.3 數(shù)據(jù)連接目前流行的數(shù)據(jù)庫連接技術(shù)主要有:JDBC-ODBC橋、JDBC和數(shù)據(jù)連接池技術(shù)。該系統(tǒng)采用數(shù)據(jù)連接池技術(shù),使用連接池的優(yōu)點(diǎn)主要體現(xiàn)在兩個(gè)方面:對數(shù)據(jù)庫的連接統(tǒng)一進(jìn)行配置、管理、監(jiān)控,以及對數(shù)據(jù)庫連接池的參數(shù)進(jìn)行優(yōu)化調(diào)整,同時(shí)對應(yīng)用程序中沒有關(guān)閉或其他原因造成沒有關(guān)閉的數(shù)據(jù)庫連接由連接池統(tǒng)一進(jìn)行管理。便于程序的移植和后端數(shù)據(jù)庫的切換,因?yàn)樵趹?yīng)用中通過統(tǒng)一的JNDI獲得數(shù)據(jù)庫的連接,而具體連接的是哪一臺(tái)機(jī)器上的數(shù)據(jù)庫與程序無關(guān)。數(shù)據(jù)庫連接池技術(shù)的思想非常簡單,將數(shù)據(jù)庫連接作為對象存儲(chǔ)在一個(gè)Vector對象中,一旦數(shù)據(jù)庫連接建立后,不同的數(shù)據(jù)庫訪問請求就可以共享這些連接。這樣,通過復(fù)用這些已經(jīng)建立的數(shù)據(jù)庫連接,可以克服上述缺點(diǎn),極大地節(jié)省系統(tǒng)資源和時(shí)間。數(shù)據(jù)庫連接池的主要操作如下:(1)建立數(shù)據(jù)庫連接池對象(服務(wù)器啟動(dòng))。(2)按照事先指定的參數(shù)創(chuàng)建初始數(shù)量的數(shù)據(jù)庫連接(即:空閑連接數(shù))。(3)對于一個(gè)數(shù)據(jù)庫訪問請求,直接從連接池中得到一個(gè)連接。如果數(shù)據(jù)庫連接池對象中沒有空閑的連接,且連接數(shù)沒有達(dá)到最大(即:最大活躍連接數(shù)),創(chuàng)建一個(gè)新的數(shù)據(jù)庫連接。(4)存取數(shù)據(jù)庫。(5)關(guān)閉數(shù)據(jù)庫,釋放所有數(shù)據(jù)庫連接(此時(shí)的關(guān)閉數(shù)據(jù)庫連接,并非真正關(guān)閉,而是將其放入空閑隊(duì)列中。如實(shí)際空閑連接數(shù)大于初始空閑連接數(shù)則釋放連接)。(6)釋放數(shù)據(jù)庫連接池對象(服務(wù)器停止、維護(hù)期間,釋放數(shù)據(jù)庫連接池對象,并釋放所有連接)。第5章 系統(tǒng)功能的具體實(shí)現(xiàn)5.1 系統(tǒng)的主窗口系統(tǒng)的界面按照常規(guī)的WEB界面進(jìn)行設(shè)計(jì),設(shè)計(jì)的原則是界面友好,易于操作,容易上手,盡可能的貼切用戶實(shí)際。博客信息管理系統(tǒng)首頁圖如圖5.1所示。圖5.1 博客信息管理系統(tǒng)首頁圖所有的網(wǎng)絡(luò)用戶都可以進(jìn)入該首頁進(jìn)行登錄、注冊、瀏覽等相關(guān)的操作。在頁面的上方是博客信息管理系統(tǒng)的導(dǎo)航列表,圖中顯示的導(dǎo)航條包括登錄、注冊、博客列表、博文全覽以及站務(wù)公告。在頁面的左側(cè)是熱點(diǎn)博客,包括博客主題及其用戶名;新入博客,包括博客主題;站內(nèi)搜索條,用戶可以根據(jù)日志標(biāo)題進(jìn)行搜索;最新評論列表,包括評論標(biāo)題;最新留言列表,包括留言標(biāo)題;站點(diǎn)的統(tǒng)計(jì)信息,包括博客總數(shù),日志總數(shù)。在頁面的中間則是精華日志和最新日志列表,包括用戶名、日志標(biāo)題、瀏覽次數(shù)和發(fā)表時(shí)間;頁面的底部是版權(quán)說明信息。個(gè)人博客主頁界面圖如圖5.2所示。圖5.2 個(gè)人博客主頁界面圖所有的網(wǎng)絡(luò)用戶都可以進(jìn)入某個(gè)人的博客主頁進(jìn)行瀏覽、留言等相關(guān)的操作。在頁面的上方是個(gè)人博客日志的分類名列表,包括分類名及其該分類下的日志數(shù)量。在頁面的左側(cè)分別是登錄表單,提供博客管理員進(jìn)入后臺(tái)管理頁面;個(gè)人博客精華日志列表,包括日志標(biāo)題;最新評論,包括評論標(biāo)題;最新留言,包括留言標(biāo)題;站點(diǎn)信息,包括個(gè)人日志總數(shù)、評論總數(shù)和留言總數(shù)。在頁面的中間則分別是最新日志的列表,包括日志標(biāo)題、所屬分類名、發(fā)表時(shí)間、作者、部分日志內(nèi)容及其查看日志和發(fā)表評論鏈接;發(fā)表留言表單,包括昵稱、留言標(biāo)題和留言內(nèi)容。5.2 公共核心類的設(shè)計(jì)5.2.1 數(shù)據(jù)庫相關(guān)訪問數(shù)據(jù)庫相關(guān)類如下:(1)獲取數(shù)據(jù)源,其代碼如下:public static Connection getConnection() try Context ctx = (Context)new InitialContext().lookup(Constants.ENV); DataSource ds=(DataSource)ctx.lookup(Constants.JDBC);getConnection()方法:該方法通過Context類提供的lookup()方法查找數(shù)據(jù)源,從而獲得jdbc/blog數(shù)據(jù)源的引用,得到DataSource對象的引用后,就可以通過DataSource的getConnection()方法獲得數(shù)據(jù)庫連接對象。(2)連接數(shù)據(jù)庫和操作數(shù)據(jù)庫;代碼如下: / 構(gòu)造數(shù)據(jù)庫的連接和訪問類public DBConnect() throws Exception / 獲得數(shù)據(jù)庫連接對象 conn=DB.getConnection(); / 創(chuàng)建一個(gè)JDBC聲明 stmt = conn.createStatement();/ 預(yù)設(shè)SQL語句public void prepareStatement(String sql) throws SQLException prepstmt = conn.prepareStatement(sql);/ 設(shè)置索引值位置的對應(yīng)值public void setString(int index, String value) throws SQLException prepstmt.setString(index, value);public void setInt(int index, int value) throws SQLException prepstmt.setInt(index, value);/ 執(zhí)行SQL語句并返回字段集public ResultSet executeQuery() throws SQLException if (prepstmt != null) return prepstmt.executeQuery(); else return null;DBConnect()方法:該方法主要負(fù)責(zé)獲得數(shù)據(jù)庫連接對象。prepareStatement(String sql)方法:該方法主要完成預(yù)設(shè)SQL語句,只有一個(gè)用來接收SQL語句的參數(shù),如果SQL語句有誤將拋出異常。setString(int index, String value)方法:該方法用于設(shè)置預(yù)設(shè)SQL語句中的相應(yīng)字段值,index表示索引位置,value表示需設(shè)置字符串類型的值。setInt(int index, int value)方法:該方法用于預(yù)設(shè)SQL語句中的相應(yīng)字段值,index表示索引位置,value表示需設(shè)置整型類型的值。executeQuery()方法:該方法用于執(zhí)行預(yù)設(shè)的SQL語句。5.2.2 編寫JavaBean類為每一個(gè)數(shù)據(jù)庫表建一個(gè)JavaBean類,完成對該表字段的獲取和設(shè)置。博客信息管理系統(tǒng)所用的JavaBean類列表如表5.1所示。表5.1 JavaBean類列表JavaBean類 說明Blog類 博客管理員表對應(yīng)的JavaBean類Article類 日志表對應(yīng)的JavaBean類CateGory類 類別表對應(yīng)的JavaBean類FeedBack類 評論表對應(yīng)的JavaBean類Message類 留言表對應(yīng)的JavaBean類Feedback類的代碼如下:public class Feedback / 屬性,對應(yīng)數(shù)據(jù)表中的字段名private int feedbackid;private String title; / 字段的訪問和設(shè)置方法public int getFeedbackid() return feedbackid;public void setFeedbackid (int feedbackid) this. feedbackid = feedbackid;Feedback類:通過getFeedbackid()方法獲取feedbackid屬性的值,通過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:健全全過程人民民主制度體系研究
- 課題申報(bào)參考:家校社聯(lián)動(dòng)共育模式對青少年24h活動(dòng)行為與抑郁癥狀改善的促進(jìn)研究
- 2025年香港離婚協(xié)議書范本離婚后子女監(jiān)護(hù)權(quán)協(xié)議3篇
- 二零二五年影視剪輯師版權(quán)合作協(xié)議3篇
- 二零二五版白酒銷售顧問銷售數(shù)據(jù)分析與報(bào)告合同3篇
- 二零二五版木材廠土地租賃合同與林業(yè)產(chǎn)業(yè)發(fā)展規(guī)劃3篇
- 二零二五版國際IT產(chǎn)品代理銷售協(xié)議2篇
- 2025版小區(qū)公共區(qū)域保潔與綠化維護(hù)承包合同3篇
- 2025年三明貨運(yùn)從業(yè)資格證好考嗎
- 二零二五版供應(yīng)鏈融資高額抵押反擔(dān)保合同3篇
- 2024公路瀝青路面結(jié)構(gòu)內(nèi)部狀況三維探地雷達(dá)快速檢測規(guī)程
- 2024年高考真題-地理(河北卷) 含答案
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 2024風(fēng)力發(fā)電葉片維保作業(yè)技術(shù)規(guī)范
- 《思想道德與法治》課程教學(xué)大綱
- 封條(標(biāo)準(zhǔn)A4打印封條)
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第十章動(dòng)作技能的指導(dǎo)與示范
- 石油天然氣建設(shè)工程交工技術(shù)文件編制規(guī)范(SYT68822023年)交工技術(shù)文件表格儀表自動(dòng)化安裝工程
- 中醫(yī)治療“濕疹”醫(yī)案72例
- 2023年大學(xué)生《思想道德與法治》考試題庫附答案(712題)
- 清代文學(xué)緒論
評論
0/150
提交評論