jsp個(gè)人博客系統(tǒng)論文_第1頁(yè)
jsp個(gè)人博客系統(tǒng)論文_第2頁(yè)
jsp個(gè)人博客系統(tǒng)論文_第3頁(yè)
jsp個(gè)人博客系統(tǒng)論文_第4頁(yè)
jsp個(gè)人博客系統(tǒng)論文_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、-. z1 引言博客Blog或Weblog一詞源于Web Log網(wǎng)絡(luò)日志的縮寫(xiě),是一種十分簡(jiǎn)易的傻瓜化個(gè)人信息發(fā)布方式。任何人都可以像使用免費(fèi)電子一樣,完成個(gè)人網(wǎng)頁(yè)的創(chuàng)立、發(fā)布和更新。博客就是開(kāi)放的私人空間,可以充分利用超文本、網(wǎng)絡(luò)互動(dòng)、動(dòng)態(tài)更新等特點(diǎn),在網(wǎng)絡(luò)中,精選并全球互聯(lián)網(wǎng)中最有價(jià)值的信息、知識(shí)與資源;也可以將個(gè)人工作過(guò)程、生活故事、思想歷程、閃現(xiàn)的靈感等及時(shí)記錄和發(fā)布,發(fā)揮個(gè)人無(wú)限的表達(dá)力;更可以以文會(huì)友,結(jié)識(shí)和會(huì)聚朋友,進(jìn)展深度交流溝通1。博客當(dāng)然是個(gè)大家都陌生的名詞,博客的英文名詞就是Blog或Weblog指人時(shí)對(duì)應(yīng)于Blogger,是一個(gè)典型的網(wǎng)絡(luò)新事物,查閱最新的英文詞典也不可

2、能查到。該詞來(lái)源于Web Log網(wǎng)絡(luò)日志的縮寫(xiě),特指一種特別的網(wǎng)絡(luò)個(gè)人出版形式,容按照時(shí)間順序排列,并且不斷更新。博客是一種零編輯、零技術(shù)、零本錢、零形式的網(wǎng)上個(gè)人出版方式。博客概念一般包含了三個(gè)要素當(dāng)然,也不需要局限這些定義:a網(wǎng)頁(yè)主體容由不斷更新的、個(gè)性化的眾多日志組成。b按時(shí)間順序排列,而且是倒序方式,也就是最新的放在最上面,最舊的放在最下面。c容可以是各種主題、各種外觀布局和各種寫(xiě)作風(fēng)格,但是文章容以超作為重要的表達(dá)方式。因此,博客是個(gè)人性和公共性的結(jié)合體,其精華不是主要表達(dá)個(gè)人思想,不是主要記錄個(gè)人日常經(jīng)歷;而是以個(gè)人的視角,以整個(gè)互聯(lián)網(wǎng)為視野,精選和記錄自己在互聯(lián)網(wǎng)上看到的精彩容,

3、為他人提供幫助,使其具有更高的共享價(jià)值。博客精神的核心并不是自?shī)首詷?lè),甚至不是個(gè)人表達(dá)自由,相反,是表達(dá)一種利他的共享精神,為他人提供幫助。個(gè)人日記和個(gè)人主要表現(xiàn)的還是小我,而博客表現(xiàn)的是大我。也許形式上很接近,但在有著本質(zhì)的差異。所有優(yōu)秀博客中,真正表達(dá)作者個(gè)人的容非常有限,最多只是點(diǎn)綴,而不像個(gè)人那樣是核心。1.1 系統(tǒng)開(kāi)發(fā)的背景博客的精神是:自由表達(dá),開(kāi)放寬容,個(gè)性揚(yáng),專業(yè)精神。在沒(méi)有自己的博客之前,人們會(huì)經(jīng)常進(jìn)出于論壇發(fā)表貼子或者通過(guò)即時(shí)通信軟件聊天,來(lái)表達(dá)自已的想法,可是這些都是零散的和雜亂的。博客的出現(xiàn),讓人們可以不斷的把自己以前的和每天激發(fā)的一些想法或者感受整理放在自己的博客上,

4、每次在寫(xiě)文章的時(shí)候,可能又會(huì)產(chǎn)生新的想法。雖然一些想法一些思考只是皮毛,沒(méi)有什么深度,但是當(dāng)下筆去寫(xiě)的時(shí)候每次都會(huì)對(duì)*個(gè)小小的問(wèn)題有了更多的一點(diǎn)點(diǎn)思考,再寫(xiě)博客的時(shí)候就感覺(jué)到了一種滿足感,一種想法得以釋放思考得以延伸的滿足感。生活中每天的一個(gè)小小的事情都會(huì)引起人們的思考,甚至是和朋友的聊天中一個(gè)小小的火花迸發(fā)。催促自己努力、把一時(shí)的想法變成觀點(diǎn),爭(zhēng)取在生命中的每天里留下點(diǎn)什么,這也是人們寫(xiě)博客的目的之一。這樣就能催促自己每一天不要渾渾噩噩,時(shí)光流逝無(wú)痕無(wú)聲無(wú)息,寫(xiě)博客也是在自己的每一天上留下了一道淺淺的思考和劃痕。不僅如此,通過(guò)寫(xiě)博客、記錄自己的想法可以幫助實(shí)現(xiàn)如下這些目的:a記錄生活,在自己

5、的每一天上留下思考的劃痕。b整理思路,固化知識(shí),獲得更多更好的想法。c分享,將自己的想法、經(jīng)歷與人分享。d交流、提高,通過(guò)交流產(chǎn)生更多的思維火花,相互提高。e交友,互相鼓勵(lì),一路同行。如果說(shuō)博客是一個(gè)舞臺(tái),則所有的博客都是其中的舞者,把自己有價(jià)值的真實(shí)的一面展示在網(wǎng)絡(luò)世界中,相互交流溝通;如果博客僅僅為了寫(xiě)日志,則博客是一面鏡子,鏡子中展現(xiàn)的是真實(shí)的自己;如果博客是一個(gè)自由媒體,可以把自身感覺(jué)有價(jià)值的信息通過(guò)博客這個(gè)工具發(fā)布,與網(wǎng)友共享2。1.2國(guó)外現(xiàn)狀據(jù)不完全統(tǒng)計(jì),到今天,全世界博客總量已超過(guò)一億.其中中國(guó)的博客到達(dá)1600萬(wàn)。博客數(shù)量大約6個(gè)月翻一番,2006年4月份每天新增博客7萬(wàn)5千人

6、。每天發(fā)貼120萬(wàn)篇,平均一小時(shí)5萬(wàn)貼。博客的影響力,早已超出了他作為個(gè)人,甚至作為自己所在行業(yè)的原有圍。開(kāi)場(chǎng)引起主流媒體的強(qiáng)烈關(guān)注。自2006年以后,博客迎來(lái)了它的飛速開(kāi)展時(shí)期,作為專業(yè)領(lǐng)域的知識(shí)傳播模式,博客成為了該領(lǐng)域最具影響力的方式之一,博客的影響力也將超越傳統(tǒng)媒體。它將成為一種全新的信息組織和傳播方式,發(fā)揮更大的作用。1.3博客開(kāi)展趨勢(shì)趨勢(shì)一:博客現(xiàn)在正在形成個(gè)人的信譽(yù)機(jī)制,有了博客之后就確立了一個(gè)個(gè)人虛擬身份,簡(jiǎn)單的來(lái)講就是個(gè)人在互聯(lián)網(wǎng)上是有名有姓的,而不再是一種匿名的行為,網(wǎng)民從流浪漢變成了一個(gè)定居者。以前在互聯(lián)網(wǎng)上的各種行為都是在匿名狀態(tài)中,相互之間是不認(rèn)識(shí)的,但有了博客之后可

7、以天天關(guān)注,而別的人也可以通過(guò)博客找到這個(gè)人。這樣隨著時(shí)間的積累就會(huì)產(chǎn)生一個(gè)新的東西,概括叫做個(gè)人的信譽(yù),個(gè)人的信譽(yù)就是博客和博客之間開(kāi)展各種關(guān)系的組合,這種信譽(yù)對(duì)每個(gè)人來(lái)講可能是不同的,但對(duì)每個(gè)博客來(lái)講就產(chǎn)生了新的評(píng)價(jià)機(jī)制,這個(gè)機(jī)制將是博客商業(yè)化的一個(gè)前提條件。趨勢(shì)二:博客越來(lái)越呈現(xiàn)出富媒體化,早期的博客是以文字為主,但隨著多媒體開(kāi)展博客相冊(cè)、博客圖片已經(jīng)成為博客的根本配置,而現(xiàn)在許多博客已經(jīng)提供了博客音頻和博客視頻。趨勢(shì)三:博客現(xiàn)在正在形成并完善精選機(jī)制,博客作為自媒體和個(gè)人媒體,產(chǎn)生的信息非常巨大。其中難免產(chǎn)生信息垃圾,隨著博客的開(kāi)展,博客通過(guò)精選機(jī)制精選出大家喜聞樂(lè)見(jiàn)的信息,像國(guó)網(wǎng)摘、

8、博客的評(píng)價(jià)系統(tǒng)等。1.4課題研究的意義隨著B(niǎo)log人數(shù)的增加,Blog作為一種新的生活方式、新的工作方式和新的學(xué)習(xí)方式已經(jīng)被越來(lái)越多的人所承受,并且在改變傳統(tǒng)的網(wǎng)絡(luò)和社會(huì)構(gòu)造。它使交流和溝通更有明確的選擇和方向性;單一的思想和群體的智慧結(jié)合變得更加有效;個(gè)人出版變成人人都可以實(shí)現(xiàn)的夢(mèng)想。Blog正在影響和改變著我們的生活。本系統(tǒng)采用MVC模式設(shè)計(jì)實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的博客系統(tǒng)。MVC模式極提高了系統(tǒng)的靈活性、復(fù)用性、開(kāi)發(fā)效率、適應(yīng)性和可維護(hù)性,充分發(fā)揮了JSP、Servlet等J2EE組件的特點(diǎn)3。從而,使更多的人們通過(guò)文字、圖片、聲音、視頻、無(wú)線等,盡情展示自我、分享感受、參與交流,美好你我生活。

9、Show you,share me,人人都可以博客,人人都需要博客。1.5 系統(tǒng)設(shè)計(jì)目標(biāo)分析本系統(tǒng)是用JSP實(shí)現(xiàn)的一個(gè)完全基于瀏覽器的博客系統(tǒng),任何注冊(cè)個(gè)人博客的人都擁有以下功能:a登錄博客系統(tǒng)的后臺(tái)管理平臺(tái)。b更改博客賬號(hào)的根本信息。c撰寫(xiě)日志。d日志管理。e評(píng)論管理。f留言管理。博客訪問(wèn)者具有以下功能:a瀏覽博客系統(tǒng)中的日志、留言、評(píng)論。b發(fā)表評(píng)論及留言。c檢索日志。2 根本技術(shù)方案2.1 JSP中的各種技術(shù)2.1.1 JSP概述JSP即Java Server Pages,是由Sun Microsystem公司于1996年6月推出的新技術(shù),是基于Java Servlet以及整個(gè)Java體系

10、的Web開(kāi)發(fā)技術(shù)4。JSP已經(jīng)成為開(kāi)發(fā)Web動(dòng)態(tài)網(wǎng)頁(yè)重要、快速和有效的工具,是全新的網(wǎng)絡(luò)效勞器編程環(huán)境。JSP充分利用了Java的強(qiáng)大功能,是一種優(yōu)秀的效勞器端技術(shù)。隨著Java技術(shù)的日益成熟和流行,JSP在網(wǎng)絡(luò)編程中也變得越來(lái)越重要。JSP基于強(qiáng)大的Java語(yǔ)言,具有極強(qiáng)的擴(kuò)展能力,良好的縮收性,以及與平臺(tái)無(wú)關(guān)的開(kāi)發(fā)特性,成為構(gòu)建動(dòng)態(tài)的主流技術(shù)之一,JSP有著其他技術(shù)所不具備的優(yōu)勢(shì)3。其優(yōu)勢(shì)在于:可以將容的生成和顯示進(jìn)展別離、生成可重用的組件、采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)。JSP能提供所有Servlet的功能52.1.2 Servlet概述Servlet是Java編寫(xiě)的效勞器端程序,是由效勞器端執(zhí)行

11、和調(diào)用的Java類。Servlet是采用Java技術(shù)來(lái)實(shí)現(xiàn)CGI功能的一種技術(shù),能夠像CGI一樣動(dòng)態(tài)地?cái)U(kuò)展Web效勞器的功能,并采用請(qǐng)求響應(yīng)模式提供Web效勞。Servlet和CGI一樣都是運(yùn)行在Web效勞器上,用來(lái)生成Web頁(yè)面。Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web容。其工作流程圖如圖2.1所示。Servlet工作流程:a客戶端發(fā)送請(qǐng)求信息至效勞器。b效勞器將請(qǐng)求信息發(fā)送至Servlet。cServlet生成響應(yīng)容并將其傳給Servlet。響應(yīng)容動(dòng)態(tài)生成,通常取決于客戶端的請(qǐng)求。圖2.1Servlet工作流程圖d效勞器將響應(yīng)信息返回至客戶端 JavaBean概述

12、JavaBean是Sun公司為了進(jìn)入因特網(wǎng)、企業(yè)網(wǎng)以及萬(wàn)維網(wǎng)上進(jìn)展分布式計(jì)算的組件構(gòu)造入口。按照Sun公司的定義,JavaBean是一個(gè)可重復(fù)使用的軟件部件。JavaBean體系構(gòu)造是第一個(gè)全面地基于組件的標(biāo)準(zhǔn)模型之一,該組件是Java類,這些類遵循一個(gè)接口格式,以便于使方法命名、底層行為以及繼承或?qū)崿F(xiàn)的行為能夠把類看做標(biāo)準(zhǔn)的JavaBean組件的方式進(jìn)展構(gòu)造7。在Java模型中,通過(guò)JavaBean可以無(wú)限擴(kuò)大Java程序的功能,通過(guò)JavaBean的組合可以快速生成新的應(yīng)用程序。JavaBean具有以下特點(diǎn):a可以實(shí)現(xiàn)代碼的重復(fù)利用。b易維護(hù)性、易使用性、易編寫(xiě)性。c可以在Java的任何平

13、臺(tái)上工作,不需要重新編譯。d可以在部網(wǎng)或者網(wǎng)絡(luò)之間進(jìn)展傳輸。e可以以其它部件的模式進(jìn)展工作。JavaBean在JSP程序中常用來(lái)封裝事務(wù)邏輯、數(shù)據(jù)庫(kù)操作等,可以很好的實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序的別離,使得系統(tǒng)具有更好的強(qiáng)健性和靈活性。2.2基于B/S的WEB應(yīng)用體系構(gòu)造2.2.1 傳統(tǒng)的兩層體系構(gòu)造在Web開(kāi)展的初期,Web應(yīng)用主要是通過(guò)靜態(tài)頁(yè)面在Internet上發(fā)布信息。用戶通過(guò)瀏覽器向效勞器發(fā)送請(qǐng)求,效勞器接收用戶端的請(qǐng)求,向客戶端瀏覽器發(fā)送所請(qǐng)求的頁(yè)面。在這種構(gòu)造下,上的頁(yè)面是靜態(tài)的,無(wú)法根據(jù)用戶的實(shí)際使用情況做動(dòng)態(tài)的變化。的信息提供者通過(guò)更新效勞器上的網(wǎng)頁(yè)來(lái)向用戶提供最新的信息。用戶和瀏

14、覽器之間只有有限的交互,而和用戶之間幾乎沒(méi)有交互。2.2.2三層體系構(gòu)造三層體系構(gòu)造圖如圖2.2所示。CGI,ASP,PHP等技術(shù)的出現(xiàn),使得開(kāi)發(fā)動(dòng)態(tài)交互式的Web應(yīng)用得以實(shí)現(xiàn)。用戶通過(guò)瀏覽器向效勞器發(fā)送請(qǐng)求,Web效勞器接收客戶端發(fā)送來(lái)的請(qǐng)求,對(duì)請(qǐng)圖2.2 三層體系構(gòu)造圖求進(jìn)展分析,如果請(qǐng)靜態(tài)頁(yè)面,則就將所請(qǐng)求的頁(yè)面發(fā)送到客戶端;如果請(qǐng)求的是動(dòng)態(tài)頁(yè)面,則就執(zhí)行此動(dòng)態(tài)頁(yè)面,并將執(zhí)行結(jié)果發(fā)送給客戶端。動(dòng)態(tài)頁(yè)面中的腳本程序可以和數(shù)據(jù)庫(kù)效勞器進(jìn)展交互。Web效勞器可以根據(jù)用戶的請(qǐng)求動(dòng)態(tài)更新頁(yè)面上的信息,Web信息提供者可以通過(guò)改變數(shù)據(jù)庫(kù)中的數(shù)據(jù)向用戶提供最新信息,而不需要逐個(gè)更改頁(yè)面。用戶可以通過(guò)這

15、些動(dòng)態(tài)頁(yè)面向數(shù)據(jù)庫(kù)中輸入信息,從而增強(qiáng)了用戶和效勞器之間的交互性。2.2.3 JSP開(kāi)發(fā)模式目前,JSP技術(shù)已經(jīng)成為一種受大多數(shù)大型企業(yè)或中小型企業(yè)喜愛(ài)的動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。越來(lái)越多的技術(shù)人員也逐步成為JSP技術(shù)的推崇者。JSP技術(shù)正是利用了Java的一次開(kāi)發(fā),處處使用的性能,成為了開(kāi)發(fā)技術(shù)人員的首選技術(shù)。當(dāng)然,JSP技術(shù)的最大優(yōu)勢(shì)在于能夠?qū)㈨?yè)面的表現(xiàn)形式和頁(yè)面的商業(yè)邏輯分開(kāi)。JSP開(kāi)發(fā)技術(shù)標(biāo)準(zhǔn)提供了兩種開(kāi)發(fā)模式:一種是JSP+JavaBean開(kāi)發(fā)模式;一種是JSP+Servlet+JavaBean開(kāi)發(fā)模式8,9。JSP+JavaBean模型圖如圖2.3所示。圖2.3 JSP+JavaBean模

16、型圖在這種模型中,JSP頁(yè)面單獨(dú)響應(yīng)請(qǐng)求并將處理結(jié)果返回給客戶,所有的數(shù)據(jù)通過(guò)JavaBean來(lái)處理,JSP實(shí)現(xiàn)頁(yè)面的顯示。此模型常常會(huì)導(dǎo)致頁(yè)面被嵌入大量的腳本語(yǔ)言或者Java代碼段,當(dāng)處理大型業(yè)務(wù)時(shí),頁(yè)面程序?qū)⒆兊卯惓?fù)雜給開(kāi)發(fā)和維護(hù)帶來(lái)困難。JSP+Servlet+JavaBean模型圖如圖2.4所示。圖2.4 JSP+Servlet+JavaBean模型圖Servlet技術(shù)是一種采用Java技術(shù)來(lái)實(shí)現(xiàn)CGI功能的一種技術(shù)。Servlet是運(yùn)行在Web效勞器上,用來(lái)生成Web頁(yè)面。Servlet技術(shù)非常適于效勞器端的處理和編程。在此種開(kāi)發(fā)模式中,JSP技術(shù)用來(lái)顯示頁(yè)面,該頁(yè)面中沒(méi)有任何的商

17、業(yè)處理邏輯,通過(guò)Servlet技術(shù)來(lái)完成大量的事物處理工作。Servlet用來(lái)處理事務(wù)的請(qǐng)求,充當(dāng)著一個(gè)控制者的角色,并負(fù)責(zé)向客戶發(fā)送請(qǐng)求,創(chuàng)立JSP需要的Bean和對(duì)象,根據(jù)用戶的請(qǐng)求行為,決定將哪個(gè)JSP頁(yè)面發(fā)送給用戶。從上面兩種開(kāi)發(fā)模式來(lái)說(shuō):第二種模式要好些,更適合于團(tuán)隊(duì)開(kāi)發(fā),速度相對(duì)較慢,但是可維護(hù)性高6。2.3 Eclipse簡(jiǎn)介Eclipse最初由OTI和IBM兩家公司的IDE產(chǎn)品開(kāi)發(fā)組創(chuàng)立,起始于1999年4月。IBM提供了最初的Eclipse代碼根底,包括Platform、JDT和PDE。Eclipse是一個(gè)開(kāi)放源代碼的軟件開(kāi)發(fā)工程,專注于為高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、

18、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。由Eclipse工程、Eclipse工具工程和Eclipse技術(shù)工程三個(gè)工程組成10。2.4 Tomcat簡(jiǎn)介如今,基于Web的應(yīng)用越來(lái)越多,傳統(tǒng)的Html已經(jīng)滿足不了如今的需求。因此需要一個(gè)交互式的Web,于是便誕生了各種Web語(yǔ)言。如Asp,Jsp,Php等。當(dāng)然,這些語(yǔ)言與傳統(tǒng)的語(yǔ)言有著密切的聯(lián)系,如Php基于C和C+語(yǔ)言,Jsp基于Java語(yǔ)言。Tomcat即是一個(gè)Jsp和Servlet的運(yùn)行平臺(tái)。Tomcat是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器,是Apache基金會(huì)的Jakarta工程中的一個(gè)核心工程,由Apache,Sun和其它一些公司及個(gè)人共同開(kāi)發(fā)而成11

19、。2.5 SQL Server簡(jiǎn)介Microsoft SQL Server 2000是微軟所推出的一套在Windows平臺(tái)上執(zhí)行的功能強(qiáng)大的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),用以作為應(yīng)用程序的數(shù)據(jù)來(lái)源,存放各種數(shù)據(jù),并可以讓用戶很容易地達(dá)成所要進(jìn)展的數(shù)據(jù)存取操作。同時(shí),也提供了一些可視化的管理工具,協(xié)助數(shù)據(jù)庫(kù)系統(tǒng)管理者更方便快速地管理及設(shè)計(jì)數(shù)據(jù)庫(kù)的容,以及對(duì)數(shù)據(jù)庫(kù)進(jìn)展維護(hù)。SQL Server 2000不僅可以實(shí)現(xiàn)個(gè)人數(shù)據(jù)庫(kù)的管理,更適合企業(yè)級(jí)數(shù)據(jù)庫(kù)的應(yīng)用12,13。2.6 MVC設(shè)計(jì)模式MVC模式的根本形式圖如圖2.5所示。圖2.5 MVC模式的根本形式圖MVC(Model-View-Controlle

20、r)模式并不是J2EE行業(yè)人士標(biāo)新立異的。MVC的核心就是要做到三級(jí)甚至多級(jí)的松散耦合,MVC模式將系統(tǒng)分為三個(gè)局部,分別是數(shù)據(jù)模型、視圖和控制器,并定義了這三個(gè)局部之間實(shí)現(xiàn)通信的一種模式,使每個(gè)局部不必卷入到其他局部的狀態(tài)表示和方法實(shí)現(xiàn)的細(xì)節(jié)中去。每個(gè)局部有自己的數(shù)據(jù)管理規(guī)則,各個(gè)對(duì)象之間的通信只能使用自己定義的一個(gè)受限連接集合進(jìn)展。保持這種別離性通常是面向?qū)ο缶幊毯驮O(shè)計(jì)要追求的目標(biāo),讓各個(gè)對(duì)象只需專注于自己的事務(wù)。模型局部代表了商業(yè)數(shù)據(jù)的訪問(wèn)及修改數(shù)據(jù)的操作。當(dāng)數(shù)據(jù)發(fā)生改變時(shí),要負(fù)責(zé)通知視圖局部,并且提供視圖查詢狀態(tài)的能力。另外,還向控制局部提供給用功能。視圖局部以自己的方式顯示模型的容。

21、訪問(wèn)模型的數(shù)據(jù),并且當(dāng)模型的數(shù)據(jù)發(fā)生變化時(shí)更新模型的顯示。視圖還把從用戶那里得到的信息傳給控制局部。控制局部定義了應(yīng)用的行為。分發(fā)用戶請(qǐng)求和選擇表現(xiàn)視圖,還負(fù)責(zé)解釋用戶輸入,進(jìn)而調(diào)用模型的功能。在Web應(yīng)用中,用戶輸入包括對(duì)Web級(jí)資源的HTTP、GET和POST請(qǐng)求。控制局部根據(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è)窗口,通過(guò)前臺(tái)信息顯示系統(tǒng)方便訪問(wèn)者瀏覽日志、評(píng)論和留言;發(fā)表評(píng)論和留言。后者是后臺(tái)信息管理系統(tǒng),方便博客管理員發(fā)表日志;回復(fù)評(píng)

22、論和留言;管理日志、評(píng)論、留言及個(gè)人信息 12。系統(tǒng)需求分析3.1.1 用戶需求分析用例圖用來(lái)描述系統(tǒng)與參與者之間的相互作用,與用例圖相關(guān)的幾個(gè)概念:a角色:代表了*一事件發(fā)生的參與者,用一個(gè)小人表示。b用例:代表系統(tǒng)可以實(shí)現(xiàn)的功能,通常一個(gè)用例代表一組功能,實(shí)質(zhì)上規(guī)定了系統(tǒng)實(shí)現(xiàn)功能的圍。c用例圖:當(dāng)角色和用例發(fā)生*種關(guān)系時(shí),就可以用一個(gè)圖將它們關(guān)聯(lián)起來(lái),這就是用例圖。博客信息管理系統(tǒng)允許用戶有三種身份:博客訪問(wèn)者、博客管理員及系統(tǒng)管理員。博客系統(tǒng)參與者中每種身份操作起來(lái)都很方便、快捷。博客訪問(wèn)者無(wú)需登陸就可以瀏覽信息、發(fā)表評(píng)論或留言;博客管理員注冊(cè)后再登陸,就可以發(fā)布日志、管理個(gè)人主頁(yè);而博

23、客管理員的根本信息都由系統(tǒng)管理員對(duì)其統(tǒng)一管理。博客信息管理系統(tǒng)用例圖如圖3.1所示。圖3.1博客信息管理系統(tǒng)用例圖3.2 數(shù)據(jù)分析系統(tǒng)的用戶主要是博客訪問(wèn)者和博客管理員,下面以博客前臺(tái)展示系統(tǒng)中的用戶查詢?nèi)罩緸槔M(jìn)展說(shuō)明。該過(guò)程的數(shù)據(jù)流程圖如圖3.2所示。 圖3.2 用戶查詢?nèi)罩镜臄?shù)據(jù)流程圖用戶查詢?nèi)罩镜臄?shù)據(jù)流程:首先,用戶輸入需查找的關(guān)鍵字,然后提交表單數(shù)據(jù),效勞器接收到關(guān)鍵字后,根據(jù)關(guān)鍵字對(duì)日志標(biāo)題進(jìn)展模糊查詢,處理后將結(jié)果以日志標(biāo)題的形式顯示給該用戶,用戶點(diǎn)擊相應(yīng)的就可以瀏覽日志容。3.3 系統(tǒng)流程根據(jù)博客信息管理系統(tǒng)的特點(diǎn),將其分為兩大模塊:前臺(tái)用戶瀏覽模塊和后臺(tái)用戶管理模塊。前臺(tái)用戶

24、瀏覽模塊主要用于用戶瀏覽日志信息;后臺(tái)用戶管理模塊主要用于博客管理員對(duì)個(gè)人博客的管理,如日志管理、留言管理及評(píng)論管理等。博客系統(tǒng)平臺(tái)的前臺(tái)用戶瀏覽模塊流程圖如圖3.3所示。前臺(tái)用戶瀏覽模塊主要用于用戶瀏覽日志信息,用戶瀏覽日志有三種瀏覽方式可以選擇:一是直接點(diǎn)擊日志標(biāo)題進(jìn)入日志顯示頁(yè)面瀏覽日志;二是點(diǎn)擊博客主題進(jìn)入該個(gè)人博客的首頁(yè),然后在該首頁(yè)中選擇所需的日志標(biāo)題進(jìn)入日志顯示頁(yè)面瀏覽日志;三是通過(guò)首頁(yè)提供的搜索功能,搜索所需要的日志,然后在結(jié)果列表中選擇所需的日志標(biāo)題進(jìn)入日志顯示頁(yè)面瀏覽日志。瀏覽日志的同時(shí)用戶可以查看別人對(duì)該日志的評(píng)論,然后用戶也可以對(duì)該日志發(fā)表自已的評(píng)論。用戶進(jìn)入后臺(tái)管理平

25、臺(tái),首先必需進(jìn)展權(quán)限驗(yàn)證,防止未授權(quán)的用戶非法登錄。假設(shè)未通過(guò)驗(yàn)證,則顯示出錯(cuò)提示,并跳轉(zhuǎn)到登錄界面。假設(shè)通過(guò)驗(yàn)證,則進(jìn)入個(gè)人博客后臺(tái)管理平臺(tái)。用戶可以瀏覽已發(fā)表的日志,并對(duì)其進(jìn)展相應(yīng)的操作如修改日志和刪除日志;可以查看日志的評(píng)論信息并對(duì)其進(jìn)展回復(fù)或者刪除操作;可以發(fā)表新的日志;可以新建日志分類;可以瀏覽個(gè)人博客的留言信息并對(duì)其進(jìn)展相應(yīng)的操作如回復(fù)留言圖3.3 前臺(tái)用戶瀏覽模塊流程圖圖3.4 后臺(tái)用戶管理模塊流程圖和刪除留言;還可以對(duì)個(gè)人信息進(jìn)展修改。博客系統(tǒng)平臺(tái)的后臺(tái)用戶管理模塊流程圖如圖3.4所示。3.4 功能模塊劃分前臺(tái)模塊功能構(gòu)造如圖3.5所示。圖3.5 博客信息系統(tǒng)前臺(tái)功能構(gòu)造圖后臺(tái)

26、模塊功能構(gòu)造如圖3.6所示。圖3.6 博客信息系統(tǒng)后臺(tái)功能構(gòu)造圖3.5功能模塊設(shè)計(jì)博客信息管理系統(tǒng)分為面向網(wǎng)絡(luò)用戶的前臺(tái)及面向個(gè)人博客維護(hù)管理的后臺(tái),依據(jù)博客中所要實(shí)現(xiàn)的根本功能的設(shè)定,將所有功能分解為如下四個(gè)主要的功能模塊來(lái)加以實(shí)現(xiàn)。用戶以合法的用戶名及密碼登錄,系統(tǒng)即可按該登錄用戶的權(quán)限分配操作模塊。3.5.1博客注冊(cè)登錄管理模塊博客注冊(cè)登錄管理模塊用于建立博客固定的客戶群體,通過(guò)記錄對(duì)應(yīng)的博客檔案,實(shí)現(xiàn)對(duì)博客信息的后臺(tái)維護(hù)及管理,同時(shí)也便于通過(guò)博客檔案庫(kù)將最新動(dòng)態(tài)及相關(guān)企業(yè)的信息方便地傳達(dá)給每一位潛在的客戶。該功能模塊實(shí)現(xiàn)了以下幾個(gè)子功能。a新博客在線注冊(cè)。b博客登錄管理。c跳轉(zhuǎn)到博客主

27、頁(yè)。只有進(jìn)展登錄并通過(guò)身份驗(yàn)證的用戶,才可以在個(gè)人博客頁(yè)面發(fā)表日志,并借助個(gè)人設(shè)置實(shí)現(xiàn)對(duì)個(gè)人博客相關(guān)信息的管理維護(hù)。對(duì)于沒(méi)有經(jīng)過(guò)身份驗(yàn)證的網(wǎng)絡(luò)用戶不允許在博客頁(yè)面中發(fā)表日志,更不允許對(duì)博客頁(yè)面信息進(jìn)展管理維護(hù)。該模塊實(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ò)誤。3.5.2博客及文章檢索查詢模塊博客及文章檢索查詢模塊為網(wǎng)絡(luò)用戶提供便捷的搜索,以及日志閱讀瀏覽等功能,同時(shí)對(duì)日志的評(píng)論信息、博客推薦

28、也能夠及時(shí)反應(yīng)給網(wǎng)絡(luò)用戶。該功能模塊實(shí)現(xiàn)了以下幾個(gè)子功能。a熱門博客頁(yè)面推薦。b最新博客日志推薦。c日志信息關(guān)鍵字搜索。該模塊能夠在網(wǎng)頁(yè)中隨時(shí)提供在線的最新日志信息。該信息需要定期更新,網(wǎng)絡(luò)用戶可以隨時(shí)獲得最新日志以及最熱門的博客推薦。在客戶選擇了*個(gè)博客或者*個(gè)感興趣的日志后,可以方便地跳轉(zhuǎn)到對(duì)應(yīng)博客頁(yè)面進(jìn)展日志的閱讀,并和博客進(jìn)展交流互動(dòng)。為了使網(wǎng)絡(luò)用戶盡快定位到所需的博客資料及日志信息,本模塊提供了搜索功能,用戶可以對(duì)所關(guān)注的日志信息按照標(biāo)題進(jìn)展關(guān)鍵字搜索,以防止用戶瀏覽多個(gè)頁(yè)面來(lái)尋找所需的日志信息。3.5.3博客頁(yè)面顯示模塊當(dāng)網(wǎng)絡(luò)用戶進(jìn)入*個(gè)人博客主頁(yè)后,在該頁(yè)面中將提供博客日志列表的

29、顯示,同時(shí)為了方便用戶瀏覽,在該模塊中提供根據(jù)分類名進(jìn)展日志列表的顯示,也提供日志評(píng)論的瀏覽,此外還允許用戶在博客頁(yè)面中發(fā)表評(píng)論及留言。該功能模塊實(shí)現(xiàn)了如下幾個(gè)子功能。a用戶可以分頁(yè)查看對(duì)應(yīng)的日志容及評(píng)論信息。b用戶可以針對(duì)日志容發(fā)表評(píng)論。c用戶可以針對(duì)博客進(jìn)展留言。d用戶可以分類查看日志容。在該模塊中還提供了博客頁(yè)面統(tǒng)計(jì)信息,日志、評(píng)論及留言信息分頁(yè)顯示等方便用戶的顯示效果。3.5.4博客個(gè)人管理維護(hù)模塊博客個(gè)人維護(hù)管理模塊用于實(shí)現(xiàn)用戶對(duì)博客個(gè)人主頁(yè)及相關(guān)信息的動(dòng)態(tài)管理。該功能模塊實(shí)現(xiàn)了如下幾個(gè)子功能:a日志及日志分類管理。b評(píng)論及留言管理。c個(gè)人根本信息維護(hù)管理。借助該模塊,用戶可以隨時(shí)對(duì)

30、個(gè)人博客主頁(yè)中的容進(jìn)展增加或修改,包括日志分類信息的更新、評(píng)論及留言管理等功能,也允許用戶對(duì)博客的個(gè)人信息進(jìn)展維護(hù)及其管理。4 系統(tǒng)分析設(shè)計(jì)4.1數(shù)據(jù)庫(kù)分析數(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)考慮:a數(shù)據(jù)庫(kù)規(guī)化與非規(guī)化的考慮。b數(shù)據(jù)查詢優(yōu)化與索引的建立。c存儲(chǔ)過(guò)程與視圖。4.1.1數(shù)據(jù)庫(kù)設(shè)計(jì)E-R圖為了把用戶的數(shù)據(jù)要求清晰明確地表達(dá)出來(lái),通常要建立一個(gè)概念性的數(shù)據(jù)模型。概念性數(shù)據(jù)模型是一種面向問(wèn)題的數(shù)據(jù)模型,是按照用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模。描述了從用戶角度看到的數(shù)據(jù),反映了

31、用戶的現(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í)體包括:a用戶:用戶ID、用戶名稱、用戶密碼、博客主題、說(shuō)明、注冊(cè)日期、發(fā)表日志數(shù)。b類別:類別編號(hào)、類別名、類別描述、用戶ID。c日志:日志編號(hào)、日志標(biāo)題、日志容、類別編號(hào)、發(fā)表日期、最后修改日期、用戶ID、瀏覽次數(shù)、評(píng)論數(shù)。d評(píng)論:評(píng)論編號(hào)、評(píng)論標(biāo)題、評(píng)論容、發(fā)表日期、最后回復(fù)日期、評(píng)論人、日志編號(hào)

32、。e留言:留言編號(hào)、留言標(biāo)題、留言容、發(fā)表日期、最后回復(fù)日期、留言人、用戶ID。綜合本系統(tǒng)各子模塊要實(shí)現(xiàn)的功能,通過(guò)前面對(duì)博客信息系統(tǒng)數(shù)據(jù)的分析可以得到:用戶表、類別表、日志表、日志評(píng)論表、留言表的數(shù)據(jù)庫(kù)概念模型(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圖日志評(píng)論E-R圖如圖4.4所示。圖4.4 日志評(píng)論E-R圖留言E-R圖如圖4.5所示。圖4.5 留言E-R圖4.2 系統(tǒng)數(shù)據(jù)表設(shè)計(jì)a用戶表,此表主要用于保存用戶的根本信息。其構(gòu)造如表4.1所示。表4.1 用戶表列名含

33、義類型長(zhǎng)度缺省值允許空BlogID用戶編號(hào)Int4無(wú)否UserName用戶名Varchar20無(wú)否Password用戶密碼Varchar20無(wú)否NickName博客主題Varchar50無(wú)否Description博客描述Varchar100無(wú)是Email電子Email50無(wú)否RegisterTime注冊(cè)日期Datetime8無(wú)否ArticleNum發(fā)表的日志數(shù)Int40否b日志表,此表主要用于保存日志的根本信息。其構(gòu)造如表4.2所示。表4.2日志表列名含義類型長(zhǎng)度缺省值允許空ArticleID日志編號(hào)Int4無(wú)否Title日志標(biāo)題Varchar50無(wú)否Content日志容te*t8無(wú)否Cate

34、goryID類別IDint4無(wú)否PublishTime日志發(fā)表時(shí)間Datetime8無(wú)否LastModifyTime日志最后修改時(shí)間Datetime8無(wú)否BlogID用戶IDInt4無(wú)否ReadTimes日志瀏覽次數(shù)Int40否FeedBackNum日志評(píng)論數(shù)Int40否c日志評(píng)論表,此表主要用于保存日志評(píng)論的根本信息。其構(gòu)造如表4.3所示。表4.3日志評(píng)論表列名含義類型長(zhǎng)度缺省值允許空FeedBackID評(píng)論編號(hào)Int4無(wú)否Title評(píng)論標(biāo)題Varchar20無(wú)否Content評(píng)論容Te*t8無(wú)否PublishTime發(fā)表時(shí)間Datetime8無(wú)否UserName用戶名Varchar20無(wú)否

35、ArticleID日志IDInt4無(wú)否d留言表,此表主要用于保存留言的根本信息。其構(gòu)造如表4.4所示。表4.4留言表列名含義類型長(zhǎng)度缺省值允許空MessageID留言編號(hào)Int4無(wú)否Title留言標(biāo)題Varchar20無(wú)否Content留言容te*t8無(wú)否PublishTime發(fā)表時(shí)間Datetime8無(wú)否LastModifyTime最后回復(fù)時(shí)間Datetime8無(wú)否UserName用戶名Varchar20無(wú)否BlogID用戶IDInt4無(wú)否e類別表,此表用于保存日志類別的根本信息。其構(gòu)造如表4.5所示。表4.5類別表列名含義類型長(zhǎng)度缺省值允許空CategoryID類別編號(hào)Int4無(wú)否Name

36、類別名Varchar20無(wú)否Description類別描述Varchar100無(wú)是BlogID用戶編號(hào)Int4無(wú)否4.3數(shù)據(jù)連接目前流行的數(shù)據(jù)庫(kù)連接技術(shù)主要有:JDBC-ODBC橋、JDBC和數(shù)據(jù)連接池技術(shù)。該系統(tǒng)采用數(shù)據(jù)連接池技術(shù),使用連接池的優(yōu)點(diǎn)主要表達(dá)在兩個(gè)方面:對(duì)數(shù)據(jù)庫(kù)的連接統(tǒng)一進(jìn)展配置、管理、監(jiān)控,以及對(duì)數(shù)據(jù)庫(kù)連接池的參數(shù)進(jìn)展優(yōu)化調(diào)整,同時(shí)對(duì)應(yīng)用程序中沒(méi)有關(guān)閉或其他原因造成沒(méi)有關(guān)閉的數(shù)據(jù)庫(kù)連接由連接池統(tǒng)一進(jìn)展管理。便于程序的移植和后端數(shù)據(jù)庫(kù)的切換,因?yàn)樵趹?yīng)用過(guò)統(tǒng)一的JNDI獲得數(shù)據(jù)庫(kù)的連接,而具體連接的是哪一臺(tái)機(jī)器上的數(shù)據(jù)庫(kù)與程序無(wú)關(guān)。數(shù)據(jù)庫(kù)連接池技術(shù)的思想非常簡(jiǎn)單,將數(shù)據(jù)庫(kù)連接作為

37、對(duì)象存儲(chǔ)在一個(gè)Vector對(duì)象中,一旦數(shù)據(jù)庫(kù)連接建立后,不同的數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求就可以共享這些連接。這樣,通過(guò)復(fù)用這些已經(jīng)建立的數(shù)據(jù)庫(kù)連接,可以克制上述缺點(diǎn),極節(jié)省系統(tǒng)資源和時(shí)間。數(shù)據(jù)庫(kù)連接池的主要操作如下:a建立數(shù)據(jù)庫(kù)連接池對(duì)象效勞器啟動(dòng)。b按照事先指定的參數(shù)創(chuàng)立初始數(shù)量的數(shù)據(jù)庫(kù)連接即:空閑連接數(shù)。c對(duì)于一個(gè)數(shù)據(jù)庫(kù)訪問(wèn)請(qǐng)求,直接從連接池中得到一個(gè)連接。如果數(shù)據(jù)庫(kù)連接池對(duì)象中沒(méi)有空閑的連接,且連接數(shù)沒(méi)有到達(dá)最大即:最大活潑連接數(shù),創(chuàng)立一個(gè)新的數(shù)據(jù)庫(kù)連接。d存取數(shù)據(jù)庫(kù)。e關(guān)閉數(shù)據(jù)庫(kù),釋放所有數(shù)據(jù)庫(kù)連接此時(shí)的關(guān)閉數(shù)據(jù)庫(kù)連接,并非真正關(guān)閉,而是將其放入空閑隊(duì)列中。如實(shí)際空閑連接數(shù)大于初始空閑連接數(shù)則釋放

38、連接。f釋放數(shù)據(jù)庫(kù)連接池對(duì)象效勞器停頓、維護(hù)期間,釋放數(shù)據(jù)庫(kù)連接池對(duì)象,并釋放所有連接。5 系統(tǒng)功能的具體實(shí)現(xiàn)5.1系統(tǒng)的主窗口系統(tǒng)的界面按照常規(guī)的WEB界面進(jìn)展設(shè)計(jì),設(shè)計(jì)的原則是界面友好,易于操作,容易上手,盡可能的貼切用戶實(shí)際。所有的網(wǎng)絡(luò)用戶都可以進(jìn)入該首頁(yè)進(jìn)展登錄、注冊(cè)、瀏覽等相關(guān)的操作。在頁(yè)面的上方是博客系統(tǒng)的導(dǎo)航列表,圖中顯示的導(dǎo)航條包括登錄、注冊(cè)、博客隨筆以及站務(wù)公告。在頁(yè)面的左側(cè)用戶可以根據(jù)隨筆標(biāo)題進(jìn)展搜索;搜索的下方是系統(tǒng)對(duì)博客、隨筆、文章及評(píng)論的統(tǒng)計(jì)信息。最新文章則顯示在博客首頁(yè)的主要中心位置上。博客系統(tǒng)首頁(yè)圖如圖5.1所示。圖5.1 博客系統(tǒng)首頁(yè)圖所有的網(wǎng)絡(luò)用戶都可以進(jìn)入*

39、個(gè)人的博客主頁(yè)進(jìn)展瀏覽、留言等相關(guān)的操作。在后臺(tái)管理頁(yè)面的上方分別顯示博客首頁(yè)、隨筆、日志、相冊(cè)、修改、密碼修改等表單。在這里博客用戶經(jīng)過(guò)身份認(rèn)證進(jìn)入,可以對(duì)自己的日志或者隨筆進(jìn)展刪除、添加、分類等管理。同時(shí)可以修改自己的用戶名和密碼。博客后臺(tái)管理界面圖如圖5.2所示。圖5.2 博客后臺(tái)管理界面圖5.2公共核心類的設(shè)計(jì)5.2.1數(shù)據(jù)庫(kù)相關(guān)訪問(wèn)數(shù)據(jù)庫(kù)相關(guān)類如下:a獲取數(shù)據(jù)源,其代碼如下:public static Connection getConnection()try Conte*t ct*=(Conte*t)new InitialConte*t().lookup(Contants.ENV)

40、;DataSource ds=(DataSource)ct*.lookup(Constants.JDBC);getConnection()方法:該方法通過(guò)Conte*t類提供的lookup()方法查找數(shù)據(jù)源,從而獲得jdbc/blog數(shù)據(jù)源的引用,得到DataSource對(duì)象的引用后,就可以通過(guò)DataSource的getConnection()方法獲得數(shù)據(jù)庫(kù)連接對(duì)象。b連接數(shù)據(jù)庫(kù)和操作數(shù)據(jù)庫(kù);代碼如下: / 構(gòu)造數(shù)據(jù)庫(kù)的連接和訪問(wèn)類public DBConnect() throws E*ception / 獲得數(shù)據(jù)庫(kù)連接對(duì)象conn=DB.getConnection();/ 創(chuàng)立一個(gè)JDBC

41、聲明stmt = conn.createStatement();/ 預(yù)設(shè)SQL語(yǔ)句public void prepareStatement(String sql) throws SQLE*ception prepstmt = conn.prepareStatement(sql);/ 設(shè)置索引值位置的對(duì)應(yīng)值public void setString(int inde*, String value) throws SQLE*ception prepstmt.setString(inde*, value);public void setInt(int inde*, int value) throws

42、 SQLE*ception prepstmt.setInt(inde*, value);/ 執(zhí)行SQL語(yǔ)句并返回字段集public ResultSet e*ecuteQuery() throws SQLE*ception if (prepstmt != null) return prepstmt.e*ecuteQuery(); elsereturn null;DBConnect()方法:該方法主要負(fù)責(zé)獲得數(shù)據(jù)庫(kù)連接對(duì)象。prepareStatement(String sql)方法:該方法主要完成預(yù)設(shè)SQL語(yǔ)句,只有一個(gè)用來(lái)接收SQL語(yǔ)句的參數(shù),如果SQL語(yǔ)句有誤將拋出異常。setString(

43、int inde*, String value)方法:該方法用于設(shè)置預(yù)設(shè)SQL語(yǔ)句中的相應(yīng)字段值,inde*表示索引位置,value表示需設(shè)置字符串類型的值。setInt(int inde*, int value)方法:該方法用于預(yù)設(shè)SQL語(yǔ)句中的相應(yīng)字段值,inde*表示索引位置,value表示需設(shè)置整型類型的值。e*ecuteQuery()方法:該方法用于執(zhí)行預(yù)設(shè)的SQL語(yǔ)句。5.2.2編寫(xiě)JavaBean類為每一個(gè)數(shù)據(jù)庫(kù)表建一個(gè)JavaBean類,完成對(duì)該表字段的獲取和設(shè)置。博客信息管理系統(tǒng)所用的JavaBean類列表如表5.1所示。表5.1 JavaBean類列表JavaBean類說(shuō)明

44、Blog類博客管理員表對(duì)應(yīng)的JavaBean類Article類日志表對(duì)應(yīng)的JavaBean類CateGory類類別表對(duì)應(yīng)的JavaBean類FeedBack類評(píng)論表對(duì)應(yīng)的JavaBean類Essay類隨筆表對(duì)應(yīng)的JavaBean類Feedback類的代碼如下:public class Feedback / 屬性,對(duì)應(yīng)數(shù)據(jù)表中的字段名private int feedbackid;private String title; / 字段的訪問(wèn)和設(shè)置方法public int getFeedbackid() return feedbackid;public void setFeedbackid (int

45、feedbackid) this. feedbackid = feedbackid;Feedback類:通過(guò)getFeedbackid()方法獲取feedbackid屬性的值,通過(guò)setFeedbackid (int feedbackid)方法設(shè)置feedbackid屬性的值。5.2.3管理類設(shè)計(jì)上面每一個(gè)JavaBean類都有一個(gè)相對(duì)應(yīng)的管理類,是在JavaBean類及數(shù)據(jù)庫(kù)相關(guān)類的根底上完成對(duì)數(shù)據(jù)庫(kù)表的訪問(wèn)、更新、統(tǒng)計(jì)操作。博客信息管理系統(tǒng)所用的管理類列表如表5.2所示。表5.2 管理類列表管理類說(shuō)明BlogMgr類完成對(duì)博客管理員表的查詢、更新及統(tǒng)計(jì)Article類完成對(duì)日志表的查詢、更

46、新及統(tǒng)計(jì)FeedBack類完成對(duì)評(píng)論表的查詢、更新及統(tǒng)計(jì)Essay類完成對(duì)隨筆表的查詢、更新及統(tǒng)計(jì)FeedbackMgr類的局部代碼如下:public class FeedbackMgr /* * 添加評(píng)論 */public void add(Feedback feedback)DBConnect dbc = null;ResultSet rs = null;try / 新建數(shù)據(jù)庫(kù)連接和訪問(wèn)對(duì)象dbc = new DBConnect();/ 預(yù)設(shè)sql語(yǔ)句dbc.prepareStatement(INSERT INTO feedback (title,content,publishtime,l

47、astmodifytime,username,articleid) VALUES ( ,);/ 設(shè)置對(duì)應(yīng)值dbc.setString(1, feedback.getTitle();dbc.setString(2, feedback.getContent();dbc.setDate(3, new java.sql.Date(new java.util.Date().getTime();dbc.setDate(4, new java.sql.Date(new java.util.Date().getTime();dbc.setString(5, feedback.getUsername();dbc

48、.setInt(6, feedback.getArticleid();/ 執(zhí)行該更新語(yǔ)句dbc.e*ecuteUpdate();/* * 查詢所有評(píng)論(按最后修改時(shí)間) */public Collection getAllByLastModifyTime() DBConnect dbc = null;Collection c = new ArrayList();ResultSet rs = null;try / 新建數(shù)據(jù)庫(kù)連接和訪問(wèn)對(duì)象dbc = new DBConnect();/ 執(zhí)行SQL語(yǔ)句,返回字段集rs=dbc.e*ecuteQuery(SELECT * FROM feedback

49、order by lastmodifytime desc);Feedback feedback = null;while (rs.ne*t() / 新建評(píng)論對(duì)象feedback = new Feedback();/ 設(shè)置評(píng)論對(duì)象相關(guān)的屬性feedback.setFeedbackid(rs.getInt(feedbackid);feedback.setTitle(rs.getString(title);feedback.setContent(rs.getString(content);feedback.setStrpublishtime(rs.getString(publishtime);fee

50、dback.setStrlastmodifytime(rs.getString(lastmodifytime);feedback.setUsername(rs.getString(username);feedback.setArticleid(rs.getInt(articleid);/ 將該評(píng)論對(duì)象存入集合對(duì)象中c.add(feedback);/ 將該評(píng)論對(duì)象置為nullfeedback = null;/ 如果結(jié)果集不會(huì)空,則循環(huán)添加該評(píng)論對(duì)象FeedbackMgr類:封裝了對(duì)評(píng)論表的所有操作,包括添加評(píng)論、回復(fù)評(píng)論、刪除評(píng)論、查詢*日志的所有評(píng)論按最后修改時(shí)間排序和查詢*用戶的所有評(píng)論按最后修改時(shí)間排序等。5.3系統(tǒng)主要功能模塊詳述5.3.1登錄模塊當(dāng)用戶需發(fā)表新日志或者是對(duì)博客進(jìn)展管理時(shí),就必須先進(jìn)展登錄驗(yàn)證操作,然后進(jìn)入博客系統(tǒng)后臺(tái)。用戶登錄界面圖如圖5.3所示。5.3.2日

溫馨提示

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