博客管理系統(tǒng)_第1頁
博客管理系統(tǒng)_第2頁
博客管理系統(tǒng)_第3頁
博客管理系統(tǒng)_第4頁
博客管理系統(tǒng)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、大連民族學院計算機科學與工程學院博客系統(tǒng)的設計與實現(xiàn)(系):計算機科學與工程業(yè):計算機科學與技術名:XXX號:2007081321完成日期:2011 年11月24日1系統(tǒng)分析與總體設計博客信息系統(tǒng)包括:前臺信息顯示系統(tǒng)、后臺信息管理系統(tǒng)。前者是面向公眾的一 個窗口,通過前臺信息顯示系統(tǒng)方便訪問者瀏覽日志、評論和留言;發(fā)表評論和留言。后 者是后臺信息管理系統(tǒng),方便博客管理員發(fā)表日志;回復評論和留言;管理日志、評論、留言及個人信息12。1.1系統(tǒng)需求分析1.1.1用戶需求分析用例圖用來描述系統(tǒng)與參與者之間的相互作用,與用例圖相關的幾個概念:(1)角色:代表了某一事件發(fā)生的參與者,用一個小人表示。(

2、2)用例:代表系統(tǒng)可以實現(xiàn)的功能,通常一個用例代表一組功能,實質(zhì)上規(guī)定了 系統(tǒng)實現(xiàn)功能的范圍。(3)用例圖:當角色和用例發(fā)生某種關系時,就可以用一個圖將它們關聯(lián)起來,這 就是用例圖。博客信息管理系統(tǒng)用例圖如圖1.1所示。圖1.1博客信息管理系統(tǒng)用例圖博客信息管理系統(tǒng)允許用戶有三種身份:博客訪問者、博客管理員及系統(tǒng)管理員。 博客系統(tǒng)參與者中每種身份操作起來都很方便、快捷。博客訪問者無需登陸就可以瀏覽信息、發(fā)表評論或留言;博客管理員注冊后再登陸,就可以發(fā)布日志、管理個人主頁; 而博客管理員的基本信息都由系統(tǒng)管理員對其統(tǒng)一管理。1.2數(shù)據(jù)分析本系統(tǒng)的用戶主要是博客訪問者和博客管理員,下面以博客前臺展

3、示系統(tǒng)中的用戶查 詢?nèi)罩緸槔M行說明。該過程的數(shù)據(jù)流程圖如圖1.2所示。提交事物</事物處理程序件文儲存 一 . 、圖1.2用戶查詢?nèi)罩镜臄?shù)據(jù)流程圖用戶查詢?nèi)罩镜臄?shù)據(jù)流程:首先,用戶輸入需查找的關鍵字,然后提交表單數(shù)據(jù),服 務器接收到關鍵字后,根據(jù)關鍵字對日志標題進行模糊查詢,處理后將結(jié)果以日志標題鏈 接的形式顯示給該用戶,用戶點擊相應的鏈接就可以瀏覽日志內(nèi)容。1.3系統(tǒng)流程根據(jù)博客信息管理系統(tǒng)的特點,將其分為兩大模塊:前臺用戶瀏覽模塊和后臺用戶管理模塊。前臺用戶瀏覽模塊主要用于用戶瀏覽日志信息;后臺用戶管理模塊主要用于博客 管理員對個人博客網(wǎng)站的管理,如日志管理、留言管理及評論管理等。

4、博客系統(tǒng)平臺的前臺用戶瀏覽模塊流程圖如圖1.3所示。前臺用戶瀏覽模塊主要用于用戶瀏覽日志信息,用戶瀏覽日志有三種瀏覽方式可以選擇:一是直接點擊日志標題鏈接進入日志顯示頁面瀏覽日志;二是點擊博客主題鏈接進入 該個人博客的首頁,然后在該首頁中選擇所需的日志標題鏈接進入日志顯示頁面瀏覽日 志;三是通過首頁提供的搜索功能,搜索所需要的日志,然后在結(jié)果列表中選擇所需的日 志標題鏈接進入日志顯示頁面瀏覽日志。瀏覽日志的同時用戶可以查看別人對該日志的評論,然后用戶也可以對該日志發(fā)表自已的評論。1.4所示。博客系統(tǒng)平臺的后臺用戶管理模塊流程圖如圖用戶進入管理未通過通過權限驗證管理中心日志管理評論管理留言管理V

5、V出錯提示圖1.4后臺用戶管理模塊流程圖用戶進入后臺管理平臺,首先必需進行權限驗證,防止未授權的用戶非法登錄。若未 通過驗證,則顯示出錯提示,并跳轉(zhuǎn)到登錄界面。若通過驗證,則進入個人博客后臺管理 平臺。用戶可以瀏覽已發(fā)表的日志,并對其進行相應的操作如修改日志和刪除日志;可以 查看日志的評論信息并對其進行回復或者刪除操作;可以發(fā)表新的日志;可以新建日志分 類;可以瀏覽個人博客的留言信息并對其進行相應的操作如回復留言和刪除留言;還可以 對個人信息進行修改。1.4功能模塊劃分前臺模塊功能結(jié)構(gòu)如圖1.5所示。王 博客列 丄 熱點丄 最新博客工發(fā)表評論 丄最新評論 王日志列 丄精華日志 丄最新日i發(fā)表留

6、亠一曰用戶登陸用戶注冊日志查詢王博客查詢后臺模塊功能結(jié)構(gòu)如圖1.6所示。圖1.5博客信息系統(tǒng)前臺功能結(jié)構(gòu)圖修改個人信息修改日志刪除日志回復評論回復留一口工 刪除留一口上 添加分類修改分類工 刪除分類圖1.6博客信息系統(tǒng)后臺功能結(jié)構(gòu)圖1.5功能模塊介紹博客信息管理系統(tǒng)分為面向網(wǎng)絡用戶的前臺及面向個人博客維護管理的后臺,依據(jù)博 客網(wǎng)站中所要實現(xiàn)的基本功能的設定,將所有功能分解為如下四個主要的功能模塊來加以實現(xiàn)。用戶以合法的用戶名及密碼登錄,系統(tǒng)即可按該登錄用戶的權限分配操作模塊。1.5.1 博客注冊登錄管理模塊博客注冊登錄管理模塊用于建立博客網(wǎng)站固定的客戶群體,通過記錄對應的博客檔 案,實現(xiàn)對博客

7、信息的后臺維護及管理,同時也便于通過博客檔案庫將網(wǎng)站最新動態(tài)及相 關企業(yè)的信息方便地傳達給每一位潛在的客戶。該功能模塊實現(xiàn)了以下幾個子功能。(1)新博客在線注冊。(2)博客登錄管理。(3)跳轉(zhuǎn)到博客主頁。只有進行登錄并通過身份驗證的用戶,才可以在個人博客頁面發(fā)表日志,并借助個人設置實現(xiàn)對個人博客相關信息的管理維護。對于沒有經(jīng)過身份驗證的網(wǎng)絡用戶不允許在博客頁面中發(fā)表日志,更不允許對博客頁面信息進行管理維護。該模塊實現(xiàn)新博客的注冊及登錄驗證功能。其中,注冊新博客時會對用戶輸入的注冊信息進行有效性驗證,包括基本數(shù)據(jù)格式的有效性以及邏輯有效性,例如,用戶名被占用 時將及時給出提示。注冊成功的博客登錄

8、時,會隨時根據(jù)博客輸入的登錄信息進行提示, 如用戶名錯誤或者密碼錯誤。1.5.2 博客及文章檢索查詢模塊 博客及文章檢索查詢模塊為網(wǎng)絡用戶提供便捷的搜索,以及日志閱讀瀏覽等功能,同 時對日志的評論信息、博客推薦也能夠及時反饋給網(wǎng)絡用戶。該功能模塊實現(xiàn)了以下幾個子功能。( 1)熱門博客頁面推薦。( 2)最新博客日志推薦。( 3)日志信息關鍵字搜索。 該模塊能夠在網(wǎng)頁中隨時提供在線的最新日志信息。該信息需要定期更新,網(wǎng)絡用戶 可以隨時獲得最新日志以及最熱門的博客推薦。 在客戶選擇了某個博客或者某個感興趣的 日志后,可以方便地跳轉(zhuǎn)到對應博客頁面進行日志的閱讀,并和博客進行交流互動。為了使網(wǎng)絡用戶盡快

9、定位到所需的博客資料及日志信息,本模塊提供了搜索功能,用 戶可以對所關注的日志信息按照標題進行關鍵字搜索, 以避免用戶瀏覽多個頁面來尋找所 需的日志信息。3.5.3 博客頁面顯示模塊 當網(wǎng)絡用戶進入某個人博客主頁后,在該頁面中將提供博客日志列表的顯示,同時為 了方便用戶瀏覽,在該模塊中提供根據(jù)分類名進行日志列表的顯示,也提供日志評論的瀏 覽,此外還允許用戶在博客頁面中發(fā)表評論及留言。用戶可以分頁查看對應的日志內(nèi)容及評論信息。 用戶可以針對日志內(nèi)容發(fā)表評論。 用戶可以針對博客進行留言。 用戶可以分類查看日志內(nèi)容。該功能模塊實現(xiàn)了如下幾個子功能。(1)(2)(3)(4) 在該模塊中還提供了博客頁面

10、統(tǒng)計信息,日志、評論及留言信息分頁顯示等方便用戶 的顯示效果。1.5.4 博客個人維護管理模塊 博客個人維護管理模塊用于實現(xiàn)用戶對博客個人主頁及相關信息的動態(tài)管理。該功能模塊實現(xiàn)了如下幾個子功能:( 1)日志及日志分類管理。( 2)評論及留言管理。包括日志分類信息的更新、(3)個人基本信息維護管理。借助該模塊, 用戶可以隨時對個人博客主頁中的內(nèi)容進行增加或修改,評論及留言管理等功能,也允許用戶對博客的個人信息進行維護及其管理。2 系統(tǒng)詳細設計2.1 數(shù)據(jù)庫分析數(shù)據(jù)庫是當前應用軟件系統(tǒng)的重要組成部分,如何使基于數(shù)據(jù)庫的應用系統(tǒng)安全、可 靠、高效的運行一直是軟件開發(fā)技術研究的難題。所以本系統(tǒng)的數(shù)據(jù)

11、庫設計基于以下幾點 來考慮:(1)數(shù)據(jù)庫規(guī)范化與非規(guī)范化的考慮。( 2)數(shù)據(jù)查詢優(yōu)化與索引的建立。3)存儲過程與視圖。2.1.1 數(shù)據(jù)庫設計 E-R 圖 為了把用戶的數(shù)據(jù)要求清晰明確地表達出來,通常要建立一個概念性的數(shù)據(jù)模型。概 念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點來對數(shù)據(jù)和信息建模。描述 了從用戶角度看到的數(shù)據(jù),反映了用戶的現(xiàn)實環(huán)境。最常用的表示概念性數(shù)據(jù)模型的方法,是實體聯(lián)系方法( Entity Relationship Approach )。這種方法用ER圖描述現(xiàn)實世界中的實體,而不涉及這些實體在系統(tǒng)中的實現(xiàn) 方法。用這種方法表示的概念性數(shù)據(jù)模型又稱為ER模型。ER模型

12、中包含“實體”,“聯(lián)系”和“屬性”。博客信息管理系統(tǒng)涉及的實體包括:E-mail 、注冊日期、(1)用戶:用戶 ID 、用戶名稱、用戶密碼、博客主題、說明、 發(fā)表日志數(shù)。類別:類別編號、類別名、類別描述、用戶 ID 。 日志:日志編號、日志標題、日志內(nèi)容、類別編號、發(fā)表日期、最后修改日期、 用戶 ID 、瀏覽次數(shù)、評論數(shù)。評論:評論編號、評論標題、評論內(nèi)容、發(fā)表日期、最后回復日期、評論人、 日志編號。留言:留言編號、留言標題、留言內(nèi)容、發(fā)表日期、最后回復日期、留言人、 用戶 ID 。4)5)綜合本系統(tǒng)各子模塊要實現(xiàn)的功能,通過前面對博客信息系統(tǒng)數(shù)據(jù)的分析可以得到: 用戶表、類別表、日志表、日志

13、評論表、留言表的數(shù)據(jù)庫概念模型(E-R 圖)。用戶 E-R 圖如圖 2.1 所示。日志E-R圖如圖2.3所示。圖2.3留言E-R圖如圖2.5所示。圖2.5留言E-R圖2.2系統(tǒng)數(shù)據(jù)表設計2.1所示。(1)用戶表,此表主要用于保存用戶的基本信息。其結(jié)構(gòu)如表表2. 1用戶表列名含義類型長度缺省值允許空BlogID用戶編號Int4無否UserName用戶名Varchar20無否P assword用戶密碼Varchar20無否NickName博客主題Varchar50無否Descri pti on博客描述Varchar100無是Email電子郵件Email50無否RegisterTime注冊日期Dat

14、etime8無否ArticleNum發(fā)表的日志數(shù)Int40否2)日志表,此表主要用于保存日志的基本信息。其結(jié)構(gòu)如表2.2所示。表2. 2日志表列名含義類型長度缺省值允許空ArticleID日志編號Int4無否Title日志標題Varchar50無否Content日志內(nèi)容text8無否CategoryID類別IDint4無否P ublishTime日志發(fā)表時間Datetime8無否LastModifyTime日志最后修改時間Datetime8無否BlogID用戶IDInt4無否ReadTimes日志瀏覽次數(shù)Int40否FeedBackNum日志評論數(shù)Int40否2.3所示。(3)日志評論表,此表

15、主要用于保存日志評論的基本信息。其結(jié)構(gòu)如表表2. 3日志評論表列名含義類型長度缺省值允許空FeedBackID評論編號Int4無否Title評論標題Varchar20無否Content評論內(nèi)容Text8無否P ublishTime發(fā)表時間Datetime8無否UserName用戶名Varchar20無否ArticleID日志IDInt4無否4)留言表,此表主要用于保存留言的基本信息。其結(jié)構(gòu)如表2.4所示。表2. 4留言表列名含義類型長度缺省值允許空MessageID留言編號Int4無否Title留言標題Varchar20無否Content留言內(nèi)容text8無否P ublishTime發(fā)表時間D

16、atetime8無否LastModifyTime最后回復時間Datetime8無否UserName用戶名Varchar20無否BlogID用戶IDInt4無否2.5所示。(5)類別表,此表用于保存日志類別的基本信息。其結(jié)構(gòu)如表表2. 5類別表列名含義類型長度缺省值允許空CategorylD類別編號Int4無否Name類別名Varchar20無否Descri pti on類別描述Varchar100無是BlogID用戶編號Int4無否SQL Server 2000 企業(yè)管理各個關聯(lián)表之間通過4.6所示:數(shù)據(jù)表在設計完成后,指定好各數(shù)據(jù)表主鍵、外鍵,通過 器中提供的新建數(shù)據(jù)庫關系統(tǒng)圖即可自動生成表

17、與表之間的關系圖。設置好的外鍵連接在一起,本系統(tǒng)具體的數(shù)據(jù)表之間關系圖如圖category列名1EC itagoryid裘別Hitune婁別名dscr ipti on奏別描ji一bLcfid裘別所屬的博容u”圖2.6數(shù)據(jù)表之間關系圖2.3數(shù)blogarticleblogj ApaSTor J.zii 匚knai土di三匚ripti 0X1am-biXurti說明登陸密6傳客生題姚稱)博客管理員的E-m 411注冊時間宗表曲日志數(shù)列名or ti clfti Atttlt匚c itcgoryi J. piBli ahtimc1 Lstmodi fytima BLflgi i rtadtir* 口

18、=£*4dtaclnujnI說明I日擊功日總標題日老內(nèi)容 日芒廝屆類刖 日志發(fā)表時間曰吉最后故時何 日吉所屬的卿客 日古詞數(shù) 日吉評論數(shù)據(jù)連接前流行的數(shù)據(jù)庫連接技術主message1PTnessageL i留言口:title留言標題coritent留言內(nèi)容pubXishtine留言境表時間laitrBodifytifne留言攝后回疑時洞54ritUM留言發(fā)表者名:blogid留肓所雇傅客feedback列名說朋JDBC-ODfHdbackidtLtlflcuittnli istmodi tytimearti ciei d評 ttID_評就;標題 評佗內(nèi)容評佗岌表尉間 評論回夏時聞 評

19、論若的姓若評論所扈的日志 ”BC橋、JDBC 和數(shù)據(jù)連接池技建立數(shù)據(jù)庫連接池對象(服務器啟動) 。 按照事先指定的參數(shù)創(chuàng)建初始數(shù)量的數(shù)據(jù)庫連接(即:空閑連接數(shù)) 。 對于一個數(shù)據(jù)庫訪問請求,直接從連接池中得到一個連接。如果數(shù)據(jù)庫連接池 對象中沒有空閑的連接,且連接數(shù)沒有達到最大(即:最大活躍連接數(shù)) ,創(chuàng)建 一個新的數(shù)據(jù)庫連接。存取數(shù)據(jù)庫。 關閉數(shù)據(jù)庫,釋放所有數(shù)據(jù)庫連接(此時的關閉數(shù)據(jù)庫連接,并非真正關閉, 而是將其放入空閑隊列中。如實際空閑連接數(shù)大于初始空閑連接數(shù)則釋放連 接)。6)釋放數(shù)據(jù)庫連接池對象(服務器停止、維護期間,釋放數(shù)據(jù)庫連接池對象,并釋放所有連4)5)術。該系統(tǒng)采用數(shù)據(jù)連接

20、池技術,使用連接池的優(yōu)點主要體現(xiàn)在兩個方面:對數(shù)據(jù)庫的連 接統(tǒng)一進行配置、管理、監(jiān)控,以及對數(shù)據(jù)庫連接池的參數(shù)進行優(yōu)化調(diào)整,同時對應用程 序中沒有關閉或其他原因造成沒有關閉的數(shù)據(jù)庫連接由連接池統(tǒng)一進行管理。 便于程序的 移植和后端數(shù)據(jù)庫的切換,因為在應用中通過統(tǒng)一的 JNDI 獲得數(shù)據(jù)庫的連接,而具體連 接的是哪一臺機器上的數(shù)據(jù)庫與程序無關。數(shù)據(jù)庫連接池技術的思想非常簡單,將數(shù)據(jù)庫連接作為對象存儲在一個 Vector 對象 中,一旦數(shù)據(jù)庫連接建立后,不同的數(shù)據(jù)庫訪問請求就可以共享這些連接。這樣,通過復 用這些已經(jīng)建立的數(shù)據(jù)庫連接,可以克服上述缺點,極大地節(jié)省系統(tǒng)資源和時間。數(shù)據(jù)庫連接池的主要操

21、作如下:(1)(2)(3)接)。3系統(tǒng)功能的具體實現(xiàn)3.1系統(tǒng)的主窗口系統(tǒng)的界面按照常規(guī)的 WEB界面進行設計,設計的原則是界面友好,易于操作,容易 上手,盡可能的貼切用戶實際。博客信息管理系統(tǒng)首頁圖如圖3.1所示。MS.犀戶£芳王皇:J鮎1茸0朝曲日4熱點博文斷社£廣元戢愛Lr為區(qū)了'fUB荷諫州1芋揺普強葦塊:和二歹氐樂貳1緒無馬也f前比圭I博主73】n甬:d 1 jfe表詬5:心0 43"卿 傅主:bsowerur. I 國: I 強寒河淚:201 bO5-2S 20:15妾墀譽屜香班賊砸二巨豊壓制0頃無-J博H : 222$已砂0 '疑贏時

22、I目:ZQM 05 2G 20:20 脈世廠元鈦更匕為E子qi上任R點I NS工:2臨I已閥:釦發(fā)視個:20節(jié)06 2$ 211肪 111 Wi: n ei51: T |: 205 2X18enffi文弓頭耳的B來蒙誓美擔昔®S好煞人點冠三自頭壓刊S克無騎34攔廠SE知蓋匕A按孑吐占辛漠111iH便IT> <應:林;圖3.1博客信息管理系統(tǒng)首頁圖所有的網(wǎng)絡用戶都可以進入該首頁進行登錄、注冊、瀏覽等相關的操作。在頁面的上 方是博客信息管理系統(tǒng)的導航列表,圖中顯示的導航條包括登錄、注冊、博客列表、博文 全覽以及站務公告。在頁面的左側(cè)是熱點博客,包括博客主題及其用戶名;新入博客

23、,包括博客主題;站內(nèi)搜索條,用尸可以根據(jù)日志標題進行搜索;最新評論列表,包括評論標 題;最新留言列表,包括留言標題;站點的統(tǒng)計信息,包括博客總數(shù),日志總數(shù)。在頁面 的中間則是精華日志和最新日志列表,包括用戶名、日志標題、瀏覽次數(shù)和發(fā)表時間;頁 面的底部是版權說明信息。3.2所示。個人博客主頁界面圖如圖矢r二憂與天是/lit)和年g刖汨uacfi/rsnjunJSnf! 詵的'困S 我的梱(B集稗遇宣審加翊片闿PpbI諏辭出熠囉膽岀矍站葫古包翻I輙圖3.2個人博客主頁界面圖所有的網(wǎng)絡用戶都可以進入某個人的博客主頁進行瀏覽、留言等相關的操作。在頁面 的上方是個人博客日志的分類名列表,包括分

24、類名及其該分類下的日志數(shù)量。在頁面的左 側(cè)分別是登錄表單,提供博客管理員進入后臺管理頁面;個人博客精華日志列表,包括日 志標題;最新評論,包括評論標題;最新留言,包括留言標題;站點信息,包括個人日志 總數(shù)、評論總數(shù)和留言總數(shù)。在頁面的中間則分別是最新日志的列表,包括日志標題、所 屬分類名、發(fā)表時間、 作者、部分日志內(nèi)容及其查看日志和發(fā)表評論鏈接;發(fā)表留言表單, 包括昵稱、留言標題和留言內(nèi)容。3.2 公共核心類的設計3.2.1 數(shù)據(jù)庫相關訪問數(shù)據(jù)庫相關類如下:( 1)獲取數(shù)據(jù)源,其代碼如下:public static Connection getConnection()try Context c

25、tx = (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ù)

26、據(jù)庫的連接和訪問類public DBConnect() throws Exception / 獲得數(shù)據(jù)庫連接對象conn=DB.getConnection();/ 創(chuàng)建一個 JDBC 聲明stmt = conn.createStatement();/ 預設 SQL 語句public void prepareStatement(String sql) throws SQLException prepstmt = conn.prepareStatement(sql);/ 設置索引值位置的對應值public void setString(int index, String value) throws

27、 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 prep stmt.executeQuery(); elsereturn n ull;DBConnect()方法:該方法主要負責獲得數(shù)

28、據(jù)庫連接對象。prepareStatement(String sql)方法:該方法主要完成預設SQL語句,只有一個用來接收SQL語句的參數(shù),如果 SQL語句有誤將拋出異常。setString(int index, String value)方法:該方法用于設置預設SQL語句中的相應字段值,index表示索引位置,value表示需設置字符串類型的值。setInt(int index, int value)方法:該方法用于預設SQL語句中的相應字段值,index表示索引位置,value表示需設置整型類型的值。executeQuery()方法:該方法用于執(zhí)行預設的SQL語句。322 編寫 JavaB

29、ean 類JavaBean類,完成對該表字段的獲取和設置。JavaBean類列表如表3.1所示。為每一個數(shù)據(jù)庫表建一個博客信息管理系統(tǒng)所用的表 3.1 JavaBean類列表管理類說明Blog 類博客管理員表對應的JavaBean 類Article 類日志表對應的JavaBean 類CateGory 類類別表對應的JavaBean 類FeedBack 類評論表對應的JavaBean 類Message 類留言表對應的JavaBean 類Feedback類的代碼如下:p ublic class Feedback /屬性,對應數(shù)據(jù)表中的字段名P rivate int feedbackid;p riv

30、ate String title;/字段的訪問和設置方法p ublic int getFeedbackid() retur n feedbackid;p ublic void setFeedbackid (int feedbackid) this. feedbackid = feedbackid;Feedback 類:通過 getFeedbackid()方法獲取 feedbackid 屬性的值,通過 setFeedbackid (int feedbackid)方法設置 feedbackid 屬性的值。3.2.3管理類設計上面每一個JavaBean類都有一個相對應的管理類,是在JavaBean類

31、及數(shù)據(jù)庫相關類的基礎上完成對數(shù)據(jù)庫表的訪問、更新、統(tǒng)計操作。博客信息管理系統(tǒng)所用的管理類列表如表3.2所示。表3. 2 管理類列表管理類說明BlogMgr 類完成對博客管理員表的查詢、更新及統(tǒng)計Article 類完成對日志表的查詢、更新及統(tǒng)計FeedBack 類完成對評論表的查詢、更新及統(tǒng)計Message 類完成對留言表的查詢、更新及統(tǒng)計FeedbackMgr類的部分代碼如下:P ublic class FeedbackMgr /*添加評論*/P ublic void add(Feedback feedback" DBCo nn ect dbc = null; ResultSet r

32、s = null;try / 新建數(shù)據(jù)庫連接和訪問對象dbc = new DBConnect();/ 預設 sql 語句dbc.prepareStatement("INSERT INTOfeedback (title,content,publishtime,lastmodifytime,username,articleid)VALUES ( ?,?,?,?,?,?)");/ 設置對應值dbc.setString(1, feedback.getTitle();dbc.setString(2, feedback.getContent();dbc.setDate(3, new j

33、ava.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.setInt(6, feedback.getArticleid();/ 執(zhí)行該更新語句dbc.executeUpdate();/* 查詢所有評論 ( 按最后修改時間 )*/public Collection getAllByLastModifyTime() DBConnect dbc = nul

34、l;Collection c = new ArrayList();ResultSet rs = null;try / 新建數(shù)據(jù)庫連接和訪問對象dbc = new DBConnect();/ 執(zhí)行 SQL 語句,返回字段集 rs=dbc.executeQuery("SELECT * FROM feedback order by lastmodifytime desc");Feedback feedback = null;while (rs.next() / 新建評論對象feedback = new Feedback();/ 設置評論對象相關的屬性 feedback.setFe

35、edbackid(rs.get In t("feedbackid"); feedback.setTitle(rs.getStri ng("title");feedback.setC onten t(rs.getStri ng("c on te nt"); feedback.setStr publishtime(rs.getStn ng(" publishtime"); feedback.setStrlastmodifytime(rs.getStri ng("lastmodifytime"); f

36、eedback.setUsername(rs.getStri ng("username"); feedback.setArticleid(rs.getI nt("articleid");/將該評論對象存入集合對象中c.add(feedback);/將該評論對象置為nullfeedback = n ull;/如果結(jié)果集不會空,則循環(huán)添加該評論對象FeedbackMgr類:封裝了對評論表的所有操作,包括添加評論、回復評論、刪除評論、 查詢某日志的所有評論(按最后修改時間排序)和查詢某用戶的所有評論(按最后修改時 間排序)等。3.3系統(tǒng)主要功能模塊詳述3.3.

37、1博客管理員登陸模塊當用戶需發(fā)表新日志或者是對博客進行管理時,就必須先進行登陸驗證操作,然后進 入博客信息管理系統(tǒng)后臺。用戶登陸界面圖如圖5.3所示。系統(tǒng)后臺登錄圖3.3用戶登陸界面圖登陸模塊的客戶端驗證代碼如下:<scri pt Ian guage="JavaScn pt"><!-fun cti on validateLog in()var strUserName = docume nt. frmLogi n. txtUserName.value; var str Password = docume nt. frmLogi n. txtP assword.value; if (strUserName ="")alert("請您輸入用戶名!");return false;if (str Password ="")alert("請輸入密碼!");return false;->v/scri pt>validateLog in() 方法,用來驗證是否填寫了用戶名和密碼。一般地,在將用戶提交 的數(shù)據(jù)提交到數(shù)據(jù)庫進行數(shù)據(jù)庫操作之前,需要對

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論