版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、博客信息管理系統(tǒng)的設(shè)計與實現(xiàn) 摘 要 博客信息管理系統(tǒng)致力于為廣大用戶提供優(yōu)質(zhì)的互動交流平臺,提高網(wǎng)站的知名 度和訪問量,從而獲得為企業(yè)提供更多產(chǎn)品介紹及展示的機會,提升自己網(wǎng)站的價值。 為了滿足博客信息管理系統(tǒng)的要求,實現(xiàn)系統(tǒng)靜態(tài)與動態(tài)頁面的相互分離,系統(tǒng)采用 JSP+JavaBean+Servlet 和 SQL Server2000 數(shù)據(jù)庫相結(jié)合的開發(fā)模式。 論文首先論述了系統(tǒng)的開發(fā)背景和設(shè)計目標,并對系統(tǒng)開發(fā)所采用的技術(shù)進行相 應(yīng)的簡單介紹。在系統(tǒng)分析中,對系統(tǒng)的模型進行簡單分析,明確系統(tǒng)的操作流程, 并對系統(tǒng)進行可行性分析,確定在目前的條件下,開發(fā)博客信息管理系統(tǒng)是可行的。 在需求分析
2、結(jié)果的基礎(chǔ)上,對系統(tǒng)的功能模塊進行劃分。接著對系統(tǒng)中的數(shù)據(jù)庫進行 模型設(shè)計,包括數(shù)據(jù)流圖、實體聯(lián)系圖及數(shù)據(jù)表結(jié)構(gòu)。在系統(tǒng)的設(shè)計與實現(xiàn)中,確定 系統(tǒng)的開發(fā)思想以及開發(fā)環(huán)境,并對系統(tǒng)中的 JavaBean 和 Servlet 代碼進行設(shè)計。 最后給出了系統(tǒng)中模塊的詳細設(shè)計與實現(xiàn),并對系統(tǒng)模塊涉及到的關(guān)鍵源代碼進行了 詳細的分析。 經(jīng)過調(diào)試運行后表明,系統(tǒng)可以滿足用戶創(chuàng)建個人博客的各項要求。 關(guān)鍵詞:MVC,設(shè)計模式,知識共享,博客信息管理系統(tǒng) ABSTRACT The blog information management system is concentrates on high-qualit
3、y 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 f
4、unctions 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 t
5、he 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, developin
6、g 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
7、 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 debugg
8、ing 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 章 緒論.1 1.1 博客信息系統(tǒng)概述.1 1.2 博客發(fā)展趨勢.2 1.3 系統(tǒng)開發(fā)的背景.2 1.4 技術(shù)路線.3 1.5 系統(tǒng)設(shè)計目標分析.3 第 2 章 基本技術(shù)方案.4 2.1 JSP 中的各種技術(shù).4 概述.4 概述.
9、4 概述.5 2.2 基于 B/S 的 WEB 應(yīng)用體系結(jié)構(gòu).5 傳統(tǒng)的兩層體系結(jié)構(gòu).5 三層體系結(jié)構(gòu).6 網(wǎng)站開發(fā)模式.6 2.3 ECLIPSE簡介.7 2.4 TOMCAT簡介 .7 2.5 SQL SERVER簡介.8 2.6 MVC 設(shè)計模式.8 第 3 章 系統(tǒng)分析與總體設(shè)計.10 3.1 系統(tǒng)需求分析.10 用戶需求分析.10 3.2 數(shù)據(jù)分析.11 3.3 系統(tǒng)流程.11 3.4 功能模塊劃分.14 3.5 功能模塊介紹.15 博客注冊登錄管理模塊.15 博客及文章檢索查詢模塊.15 博客頁面顯示模塊.16 博客個人維護管理模塊.16 第 4 章 系統(tǒng)詳細設(shè)計.17 4.1 數(shù)
10、據(jù)庫分析.17 數(shù)據(jù)庫設(shè)計 E-R 圖.17 4.2 系統(tǒng)數(shù)據(jù)表設(shè)計.20 4.3 數(shù)據(jù)連接.23 第 5 章 系統(tǒng)功能的具體實現(xiàn).24 5.1 系統(tǒng)的主窗口.24 5.2 公共核心類的設(shè)計.26 數(shù)據(jù)庫相關(guān).26 編寫 JAVABEAN類 .28 管理類設(shè)計.29 5.3 系統(tǒng)主要功能模塊詳述.31 博客管理員登陸模塊.31 日志管理顯示模塊.32 撰寫日志模塊.35 刪除日志模塊.36 修改日志模塊.38 日志搜索模塊.39 結(jié) 論.40 參考文獻.41 致 謝.42 第 1 章 緒論 1.1 博客信息系統(tǒng)概述 “博客” (Blog 或 Weblog)一詞源于“Web Log(網(wǎng)絡(luò)日志)
11、”的縮寫,是一種十 分簡易的傻瓜化個人信息發(fā)布方式。任何人都可以像使用免費電子郵件一樣,完成個 人網(wǎng)頁的創(chuàng)建、發(fā)布和更新。博客就是開放的私人空間,可以充分利用超文本鏈接、 網(wǎng)絡(luò)互動、動態(tài)更新等特點,在網(wǎng)絡(luò)中,精選并鏈接全球互聯(lián)網(wǎng)中最有價值的信息、 知識與資源;也可以將個人工作過程、生活故事、思想歷程、閃現(xiàn)的靈感等及時記錄 和發(fā)布,發(fā)揮個人無限的表達力;更可以以文會友,結(jié)識和匯聚朋友,進行深度交流 溝通1。 “博客”當然是個大家都陌生的名詞,博客的英文名詞就是“Blog 或 Weblog” (指人時對應(yīng)于 Blogger) ,是一個典型的網(wǎng)絡(luò)新事物,查閱最新的英文詞典也不可 能查到。該詞來源于“
12、Web Log(網(wǎng)絡(luò)日志) ”的縮寫,特指一種特別的網(wǎng)絡(luò)個人出版 形式,內(nèi)容按照時間順序排列,并且不斷更新。 博客是一種零編輯、零技術(shù)、零成本、零形式的網(wǎng)上個人出版方式。 博客概念一般包含了三個要素(當然,也不需要局限這些定義): (1)網(wǎng)頁主體內(nèi)容由不斷更新的、個性化的眾多日志組成。 (2)按時間順序排列,而且是倒序方式,也就是最新的放在最上面,最舊的放 在最下面。 (3)內(nèi)容可以是各種主題、各種外觀布局和各種寫作風格,但是文章內(nèi)容以 “超鏈接”作為重要的表達方式。 因此,博客是個人性和公共性的結(jié)合體,其精髓不是主要表達個人思想,不是主 要記錄個人日常經(jīng)歷;而是以個人的視角,以整個互聯(lián)網(wǎng)為視
13、野,精選和記錄自己在 互聯(lián)網(wǎng)上看到的精彩內(nèi)容,為他人提供幫助,使其具有更高的共享價值。 博客精神的核心并不是自娛自樂,甚至不是個人表達自由,相反,是體現(xiàn)一種利 他的共享精神,為他人提供幫助。個人日記和個人網(wǎng)站主要表現(xiàn)的還是“小我” ,而 博客表現(xiàn)的是“大我” 。也許形式上很接近,但內(nèi)在有著本質(zhì)的差異。所有優(yōu)秀博客 網(wǎng)站中,真正表達作者個人的內(nèi)容非常有限,最多只是點綴,而不像個人網(wǎng)站那樣是 核心。 1.2 博客發(fā)展趨勢 趨勢一:博客現(xiàn)在正在形成個人的信譽機制,有了博客之后就確立了一個個人虛 擬身份,簡單的來講就是個人在互聯(lián)網(wǎng)上是有名有姓的,而不再是一種匿名的行為, 網(wǎng)民從流浪漢變成了一個定居者。
14、以前在互聯(lián)網(wǎng)上的各種行為都是在匿名狀態(tài)中,相 互之間是不認識的,但有了博客之后可以天天關(guān)注,而別的人也可以通過博客找到這 個人。這樣隨著時間的積累就會產(chǎn)生一個新的東西,概括叫做“個人的信譽” ,個人 的信譽就是博客和博客之間發(fā)展各種關(guān)系的組合,這種信譽對每個人來講可能是不同 的,但對每個博客來講就產(chǎn)生了新的評價機制,這個機制將是博客商業(yè)化的一個前提 條件。 趨勢二:博客越來越呈現(xiàn)出富媒體化,早期的博客是以文字為主,但隨著多媒體 發(fā)展博客相冊、博客圖片已經(jīng)成為博客的基本配置,而現(xiàn)在許多博客網(wǎng)站已經(jīng)提供了 博客音頻和博客視頻。 趨勢三:博客現(xiàn)在正在形成并完善精選機制,博客作為自媒體和個人媒體,產(chǎn)生
15、 的信息非常巨大。其中難免產(chǎn)生信息垃圾,隨著博客的發(fā)展,博客通過精選機制精選 出大家喜聞樂見的信息,像國內(nèi)網(wǎng)摘、博客的評價系統(tǒng)等2,3。 1.3 系統(tǒng)開發(fā)的背景 博客的精神是:自由表達,開放寬容,個性張揚,專業(yè)精神。 在沒有自己的博客之前,人們會經(jīng)常進出于論壇發(fā)表貼子或者通過即時通信軟件 聊天,來表達自已的想法,可是這些都是零散的和雜亂的。博客的出現(xiàn),讓人們可以 不斷的把自己以前的和每天激發(fā)的一些想法或者感受整理放在自己的博客上,每次在 寫文章的時候,可能又會產(chǎn)生新的想法。雖然一些想法一些思考只是皮毛,沒有什么 深度,但是當下筆去寫的時候每次都會對某個小小的問題有了更多的一點點思考,再 寫博客
16、的時候就感覺到了一種滿足感,一種想法得以釋放思考得以延伸的滿足感。生 活中每天的一個小小的事情都會引起人們的思考,甚至是和朋友的聊天中一個小小的 火花迸發(fā)。督促自己努力、把一時的想法變成觀點,爭取在生命中的每天里留下點什 么,這也是人們寫博客的目的之一。這樣就能督促自己每一天不要渾渾噩噩,時光流 逝無痕無聲無息,寫博客也是在自己的每一天上留下了一道淺淺的思考和劃痕。 不僅如此,通過寫博客、記錄自己的想法可以幫助實現(xiàn)如下這些目的: (1)記錄生活,在自己的每一天上留下思考的劃痕。 (2)整理思路,固化知識,獲得更多更好的想法。 (3)分享,將自己的想法、經(jīng)驗與人分享。 (4)交流、提高,通過交流
17、產(chǎn)生更多的思維火花,相互提高。 (5)交友,互相鼓勵,一路同行。 如果說博客網(wǎng)站是一個舞臺,那么所有的博客都是其中的舞者,把自己有價值的 真實的一面展示在網(wǎng)絡(luò)世界中,相互交流溝通; 如果博客僅僅為了寫日志,那么博 客是一面鏡子,鏡子中展現(xiàn)的是真實的自己;如果博客是一個自由媒體,可以把自身 感覺有價值的信息通過博客這個工具發(fā)布,與網(wǎng)友共享。 1.4 技術(shù)路線 本系統(tǒng)的開發(fā)采用的是 JSP+JavaBean+Servlet 模式,在該模式中,結(jié)合了 JSP 和 Servlet 技術(shù),充分利用了 JSP 和 Servlet 兩種技術(shù)原有的優(yōu)點。在此模式中, JavaBean 作為模型的角色,充當 J
18、SP 和 Servlet 通信的中間工具,Servlet 處理完后 設(shè)置 JavaBean 的屬性,JSP 讀取此 JavaBean 的屬性,然后進行顯示。該模式更加明 顯地把顯示和邏輯分離,使得代碼更容易管理,適合大型項目的開發(fā)4。 1.5 系統(tǒng)設(shè)計目標分析 本系統(tǒng)是用 JSP 實現(xiàn)的一個完全基于瀏覽器的博客系統(tǒng),任何注冊個人博客的人 都擁有以下功能: (1)登錄博客系統(tǒng)的后臺管理平臺。 (2)更改博客賬號的基本信息。 (3)撰寫日志。 (4)日志管理。 (5)評論管理。 (6)留言管理。 博客訪問者具有以下功能: (1)瀏覽博客系統(tǒng)中的日志、留言、評論。 (2)發(fā)表評論及留言。 (3)檢索
19、日志。 第 2 章 基本技術(shù)方案 2.1 JSP 中的各種技術(shù) JSP 概述 JSP 即 Java Server Pages,是由 Sun Microsystem 公司于 1996 年 6 月推出的新 技術(shù),是基于 Java Servlet 以及整個 Java 體系的 Web 開發(fā)技術(shù)。JSP 已經(jīng)成為開發(fā) Web 動態(tài)網(wǎng)頁重要、快速和有效的工具,是全新的網(wǎng)絡(luò)服務(wù)器編程環(huán)境。JSP 充分利 用了 Java 的強大功能,是一種優(yōu)秀的服務(wù)器端技術(shù)。隨著 Java 技術(shù)的日益成熟和流 行,JSP 在網(wǎng)絡(luò)編程中也變得越來越重要。JSP 基于強大的 Java 語言,具有極強的擴 展能力,良好的縮收性,以
20、及與平臺無關(guān)的開發(fā)特性,成為構(gòu)建動態(tài)網(wǎng)站的主流技術(shù) 之一,JSP 有著其他技術(shù)所不具備的優(yōu)勢。其優(yōu)勢在于:可以將內(nèi)容的生成和顯示進 行分離、生成可重用的組件、采用標識簡化頁面開發(fā)。JSP 能提供所有 Servlet 的功 能5。 Servlet 概述 Servlet 是 Java 編寫的服務(wù)器端程序,是由服務(wù)器端執(zhí)行和調(diào)用的 Java 類。 Servlet 是采用 Java 技術(shù)來實現(xiàn) CGI 功能的一種技術(shù),能夠像 CGI 一樣動態(tài)地擴展 Web 服務(wù)器的功能,并采用請求響應(yīng)模式提供 Web 服務(wù)。Servlet 和 CGI 一樣都 是運行在 Web 服務(wù)器上,用來生成 Web 頁面。Ser
21、vlet 的主要功能在于交互式地瀏覽 和修改數(shù)據(jù),生成動態(tài) Web 內(nèi)容。其工作流程圖如圖 2.1 所示。 Web Client HTTP Servlet request HTTP Servlet response Web Component DataBase Web Server 圖 2.1 Servlet 工作流程圖 Servlet 工作流程: (1)客戶端發(fā)送請求信息至服務(wù)器。 (2)服務(wù)器將請求信息發(fā)送至 Servlet。 (3)Servlet 生成響應(yīng)內(nèi)容并將其傳給 Servlet。響應(yīng)內(nèi)容動態(tài)生成,通常取決 于客戶端的請求。 (4)服務(wù)器將響應(yīng)信息返回至客戶端。 JavaBean
22、概述 JavaBean 是 Sun 公司為了進入因特網(wǎng)、企業(yè)網(wǎng)以及萬維網(wǎng)上進行分布式計算的 組件結(jié)構(gòu)入口。按照 Sun 公司的定義,JavaBean 是一個可重復使用的軟件部件。 JavaBean 體系結(jié)構(gòu)是第一個全面地基于組件的標準模型之一,該組件是 Java 類,這 些類遵循一個接口格式,以便于使方法命名、底層行為以及繼承或?qū)崿F(xiàn)的行為能夠把 類看做標準的 JavaBean 組件的方式進行構(gòu)造7。 在 Java 模型中,通過 JavaBean 可以無限擴充 Java 程序的功能,通過 JavaBean 的組合可以快速生成新的應(yīng)用程序。JavaBean 具有以下特點: (1)可以實現(xiàn)代碼的重復
23、利用。 (2)易維護性、易使用性、易編寫性。 (3)可以在 Java 的任何平臺上工作,不需要重新編譯。 (4)可以在內(nèi)部網(wǎng)或者網(wǎng)絡(luò)之間進行傳輸。 (5)可以以其它部件的模式進行工作。 JavaBean 在 JSP 程序中常用來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等,可以很好的實現(xiàn) 業(yè)務(wù)邏輯和前臺程序的分離,使得系統(tǒng)具有更好的健壯性和靈活性。 2.2 基于 B/S 的 WEB 應(yīng)用體系結(jié)構(gòu) 傳統(tǒng)的兩層體系結(jié)構(gòu) 在 Web 發(fā)展的初期,Web 應(yīng)用主要是通過靜態(tài)頁面在 Internet 上發(fā)布信息。用 戶通過瀏覽器向服務(wù)器發(fā)送請求,服務(wù)器接收用戶端的請求,向客戶端瀏覽器發(fā)送所 請求的頁面。在這種結(jié)構(gòu)下,網(wǎng)站
24、上的頁面是靜態(tài)的,無法根據(jù)用戶的實際使用情況 做動態(tài)的變化。網(wǎng)站的信息提供者通過更新服務(wù)器上的網(wǎng)頁來向用戶提供最新的信息。 用戶和瀏覽器之間只有有限的交互,而網(wǎng)站和用戶之間幾乎沒有交互。 三層體系結(jié)構(gòu) 三層體系結(jié)構(gòu)圖如圖 2.2 所示。 瀏覽器Web 服務(wù)器數(shù)據(jù)庫 請求 響應(yīng) 圖 2.2 三層體系結(jié)構(gòu)圖 CGI,ASP,PHP 等技術(shù)的出現(xiàn),使得開發(fā)動態(tài)交互式的 Web 應(yīng)用得以實現(xiàn)。用戶 通過瀏覽器向服務(wù)器發(fā)送請求,Web 服務(wù)器接收客戶端發(fā)送來的請求,對請求進行分 析,如果請求是靜態(tài)頁面,那么就將所請求的頁面發(fā)送到客戶端;如果請求的是動態(tài) 頁面,那么就執(zhí)行此動態(tài)頁面,并將執(zhí)行結(jié)果發(fā)送給客戶
25、端。動態(tài)頁面中的腳本程序 可以和數(shù)據(jù)庫服務(wù)器進行交互。 Web 服務(wù)器可以根據(jù)用戶的請求動態(tài)更新頁面上的信息,Web 信息提供者可以通 過改變數(shù)據(jù)庫中的數(shù)據(jù)向用戶提供最新信息,而不需要逐個更改頁面。用戶可以通過 這些動態(tài)頁面向數(shù)據(jù)庫中輸入信息,從而增強了用戶和服務(wù)器之間的交互性。 JSP 網(wǎng)站開發(fā)模式 目前,JSP 技術(shù)已經(jīng)成為一種受大多數(shù)大型企業(yè)或中小型企業(yè)喜愛的動態(tài)網(wǎng)頁開 發(fā)技術(shù)。越來越多的技術(shù)人員也逐步成為 JSP 技術(shù)的推崇者。JSP 技術(shù)正是利用了 Java 的“一次開發(fā),處處使用”的性能,成為了網(wǎng)站開發(fā)技術(shù)人員的首選技術(shù)。當 然,JSP 技術(shù)的最大優(yōu)勢在于能夠?qū)㈨撁娴谋憩F(xiàn)形式和頁面
26、的商業(yè)邏輯分開。 JSP 網(wǎng)站開發(fā)技術(shù)標準提供了兩種開發(fā)模式:一種是 JSP+JavaBean 開發(fā)模式; 一種是 JSP+Servlet+JavaBean 開發(fā)模式8,9。 JSP+JavaBean 模型圖如圖 2.3 所示。 JSP 瀏 覽 器 DataBaseJavaBean 圖 2.3 JSP+JavaBean 模型圖 在這種模型中,JSP 頁面獨自響應(yīng)請求并將處理結(jié)果返回給客戶,所有的數(shù)據(jù)通 過 JavaBean 來處理,JSP 實現(xiàn)頁面的顯示。此模型常常會導致頁面被嵌入大量的腳 本語言或者 Java 代碼段,當處理大型業(yè)務(wù)時,頁面程序?qū)⒆兊卯惓碗s給開發(fā)和維 護帶來困難。 JSP+
27、Servlet+JavaBean 模型圖如圖 2.4 所示。 瀏 覽 器 DataBaseJavaBean Servlet JSP 圖 2.4 JSP+Servlet+JavaBean 模型圖 Servlet 技術(shù)是一種采用 Java 技術(shù)來實現(xiàn) CGI 功能的一種技術(shù)。Servlet 是運行 在 Web 服務(wù)器上,用來生成 Web 頁面。Servlet 技術(shù)非常適于服務(wù)器端的處理和編程。 在此種開發(fā)模式中,JSP 技術(shù)用來顯示頁面,該頁面中沒有任何的商業(yè)處理邏輯, 通過 Servlet 技術(shù)來完成大量的事物處理工作。Servlet 用來處理事務(wù)的請求,充當 著一個控制者的角色,并負責向客戶發(fā)
28、送請求,創(chuàng)建 JSP 需要的 Bean 和對象,根據(jù) 用戶的請求行為,決定將哪個 JSP 頁面發(fā)送給用戶。 從上面兩種開發(fā)模式來說:第二種模式要好些,更適合于團隊開發(fā),速度相對較 慢,但是可維護性高6。 2.3 Eclipse 簡介 Eclipse 最初由 OTI 和 IBM 兩家公司的 IDE 產(chǎn)品開發(fā)組創(chuàng)建,起始于 1999 年 4 月。IBM 提供了最初的 Eclipse 代碼基礎(chǔ),包括 Platform、JDT 和 PDE。 Eclipse 是一個開放源代碼的軟件開發(fā)項目,專注于為高度集成的工具開發(fā)提供 一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。由 Eclipse 項目、Eclipse 工
29、具項目和 Eclipse 技術(shù)項目三個項目組成10。 2.4 Tomcat 簡介 如今,基于 Web 的應(yīng)用越來越多,傳統(tǒng)的 Html 已經(jīng)滿足不了如今的需求。因此 需要一個交互式的 Web,于是便誕生了各種 Web 語言。如 Asp,Jsp,Php 等。當然, 這些語言與傳統(tǒng)的語言有著密切的聯(lián)系,如 Php 基于 C 和 C+語言,Jsp 基于 Java 語 言。Tomcat 即是一個 Jsp 和 Servlet 的運行平臺。 Tomcat 是一個免費的開源的 Serlvet 容器,是 Apache 基金會的 Jakarta 項目中 的一個核心項目,由 Apache,Sun 和其它一些公司及
30、個人共同開發(fā)而成11。 2.5 SQL Server 簡介 Microsoft SQL Server 2000 是微軟所推出的一套在 Windows 平臺上執(zhí)行的功能 強大的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),用以作為應(yīng)用程序的數(shù)據(jù)來源,存放各種數(shù)據(jù),并可 以讓用戶很容易地達成所要進行的數(shù)據(jù)存取操作。同時,也提供了一些可視化的管理 工具,協(xié)助數(shù)據(jù)庫系統(tǒng)管理者更方便快速地管理及設(shè)計數(shù)據(jù)庫的內(nèi)容,以及對數(shù)據(jù)庫 進行維護。SQL Server 2000 不僅可以實現(xiàn)個人數(shù)據(jù)庫的管理,更適合企業(yè)級數(shù)據(jù)庫 的應(yīng)用12,13。 2.6 MVC 設(shè)計模式 MVC 模式的基本形式圖如圖 2.5 所示。 圖 2.5 MVC
31、模式的基本形式圖 MVC(Model-View-Controller)模式并不是 J2EE 行業(yè)人士標新立異的。MVC 的核 心就是要做到三級甚至多級的松散耦合,MVC 模式將系統(tǒng)分為三個部分,分別是數(shù)據(jù) 模型、視圖和控制器,并定義了這三個部分之間實現(xiàn)通信的一種模式,使每個部分不 必卷入到其他部分的狀態(tài)表示和方法實現(xiàn)的細節(jié)中去。每個部分有自己的數(shù)據(jù)管理規(guī) 則,各個對象之間的通信只能使用自己定義的一個受限連接集合進行。保持這種分離 性通常是面向?qū)ο缶幊毯驮O(shè)計要追求的目標,讓各個對象只需專注于自己的事務(wù)。 模型部分代表了商業(yè)數(shù)據(jù)的訪問及修改數(shù)據(jù)的操作。當數(shù)據(jù)發(fā)生改變時,要負責 通知視圖部分,并且提
32、供視圖查詢狀態(tài)的能力。另外,還向控制部分提供應(yīng)用功能。 視圖部分以自己的方式顯示模型的內(nèi)容。訪問模型的數(shù)據(jù),并且當模型的數(shù)據(jù)發(fā) 生變化時更新模型的顯示。視圖還把從用戶那里得到的信息傳給控制部分。 控制部分定義了應(yīng)用的行為。分發(fā)用戶請求和選擇表現(xiàn)視圖,還負責解釋用戶輸 入,進而調(diào)用模型的功能。在 Web 應(yīng)用中,用戶輸入包括對 Web 級資源的 HTTP、GET 和 POST 請求??刂撇糠指鶕?jù)用戶交互和模型的狀態(tài)選擇要顯示的視圖。一個應(yīng)用程 序一般為相關(guān)的功能選擇一個控制部分14,15。 第 3 章 系統(tǒng)分析與總體設(shè)計 博客信息系統(tǒng)包括:前臺信息顯示系統(tǒng)、后臺信息管理系統(tǒng)。前者是面向公眾的 一
33、個窗口,通過前臺信息顯示系統(tǒng)方便訪問者瀏覽日志、評論和留言;發(fā)表評論和留 言。后者是后臺信息管理系統(tǒng),方便博客管理員發(fā)表日志;回復評論和留言;管理日 志、評論、留言及個人信息 12。 3.1 系統(tǒng)需求分析 用戶需求分析 用例圖用來描述系統(tǒng)與參與者之間的相互作用,與用例圖相關(guān)的幾個概念: (1)角色:代表了某一事件發(fā)生的參與者,用一個小人表示。 (2)用例:代表系統(tǒng)可以實現(xiàn)的功能,通常一個用例代表一組功能,實質(zhì)上規(guī) 定了系統(tǒng)實現(xiàn)功能的范圍。 (3)用例圖:當角色和用例發(fā)生某種關(guān)系時,就可以用一個圖將它們關(guān)聯(lián)起來, 這就是用例圖。 博客信息管理系統(tǒng)用例圖如圖 3.1 所示。 圖 3.1 博客信息管
34、理系統(tǒng)用例圖 博客信息管理系統(tǒng)允許用戶有三種身份:博客訪問者、博客管理員及系統(tǒng)管理員。 博客系統(tǒng)參與者中每種身份操作起來都很方便、快捷。博客訪問者無需登陸就可 以瀏覽信息、發(fā)表評論或留言;博客管理員注冊后再登陸,就可以發(fā)布日志、管理個 人主頁;而博客管理員的基本信息都由系統(tǒng)管理員對其統(tǒng)一管理。 3.2 數(shù)據(jù)分析 本系統(tǒng)的用戶主要是博客訪問者和博客管理員,下面以博客前臺展示系統(tǒng)中的用 戶查詢?nèi)罩緸槔M行說明。該過程的數(shù)據(jù)流程圖如圖 3.2 所示。 提交事物 事物處理程序 存儲文件 博客展示 系統(tǒng) 顯示結(jié)果 圖 3.2 用戶查詢?nèi)罩镜臄?shù)據(jù)流程圖 用戶查詢?nèi)罩镜臄?shù)據(jù)流程:首先,用戶輸入需查找的關(guān)鍵字
35、,然后提交表單數(shù)據(jù), 服務(wù)器接收到關(guān)鍵字后,根據(jù)關(guān)鍵字對日志標題進行模糊查詢,處理后將結(jié)果以日志 標題鏈接的形式顯示給該用戶,用戶點擊相應(yīng)的鏈接就可以瀏覽日志內(nèi)容。 3.3 系統(tǒng)流程 根據(jù)博客信息管理系統(tǒng)的特點,將其分為兩大模塊:前臺用戶瀏覽模塊和后臺用 戶管理模塊。前臺用戶瀏覽模塊主要用于用戶瀏覽日志信息;后臺用戶管理模塊主要 用于博客管理員對個人博客網(wǎng)站的管理,如日志管理、留言管理及評論管理等。 博客系統(tǒng)平臺的前臺用戶瀏覽模塊流程圖如圖 3.3 所示。 用戶進入瀏覽 瀏覽方式 選擇博客直接選擇日志檢索日志 在博客中選擇 日志 在檢索結(jié)果中選 擇日志 將日志數(shù)據(jù)按照預先的組織形 式展現(xiàn)給瀏覽
36、者 評論 將日志評論保存到數(shù)據(jù) 庫 結(jié)束 圖 3.3 前臺用戶瀏覽模塊流程圖 前臺用戶瀏覽模塊主要用于用戶瀏覽日志信息,用戶瀏覽日志有三種瀏覽方式可 以選擇:一是直接點擊日志標題鏈接進入日志顯示頁面瀏覽日志;二是點擊博客主題 鏈接進入該個人博客的首頁,然后在該首頁中選擇所需的日志標題鏈接進入日志顯示 頁面瀏覽日志;三是通過首頁提供的搜索功能,搜索所需要的日志,然后在結(jié)果列表 中選擇所需的日志標題鏈接進入日志顯示頁面瀏覽日志。瀏覽日志的同時用戶可以查 看別人對該日志的評論,然后用戶也可以對該日志發(fā)表自已的評論。 博客系統(tǒng)平臺的后臺用戶管理模塊流程圖如圖 3.4 所示。 用戶進入管理 結(jié)束 權(quán)限驗
37、證 管理中心 日志管理評論管理留言管理 出錯提示 未通過 通過 圖 3.4 后臺用戶管理模塊流程圖 用戶進入后臺管理平臺,首先必需進行權(quán)限驗證,防止未授權(quán)的用戶非法登錄。 若未通過驗證,則顯示出錯提示,并跳轉(zhuǎn)到登錄界面。若通過驗證,則進入個人博客 后臺管理平臺。用戶可以瀏覽已發(fā)表的日志,并對其進行相應(yīng)的操作如修改日志和刪 除日志;可以查看日志的評論信息并對其進行回復或者刪除操作;可以發(fā)表新的日志; 可以新建日志分類;可以瀏覽個人博客的留言信息并對其進行相應(yīng)的操作如回復留言 和刪除留言;還可以對個人信息進行修改。 3.4 功能模塊劃分 前臺模塊功能結(jié)構(gòu)如圖 3.5 所示。 博客信息管理系統(tǒng)前臺
38、博客展示日志展示評論展示留言展示用戶管理 熱 點 博 客 最 新 日 志 日 志 列 表 最 新 留 言 用 戶 登 陸 用 戶 注 冊 查詢管理 日 志 查 詢 發(fā) 表 留 言 博 客 列 表 最 新 博 客 精 華 日 志 最 新 評 論 發(fā) 表 評 論 博 客 查 詢 圖 3.5 博客信息系統(tǒng)前臺功能結(jié)構(gòu)圖 后臺模塊功能結(jié)構(gòu)如圖 3.6 所示。 博客管理員 個人信息管理日志管理評論管理留言管理分類管理 登 陸 注 冊 修 改 個 人 信 息 撰 寫 日 志 刪 除 日 志 修 改 日 志 刪 除 評 論 回 復 評 論 刪 除 留 言 回 復 留 言 添 加 分 類 刪 除 分 類 修
39、改 分 類 圖 3.6 博客信息系統(tǒng)后臺功能結(jié)構(gòu)圖 3.5 功能模塊介紹 博客信息管理系統(tǒng)分為面向網(wǎng)絡(luò)用戶的前臺及面向個人博客維護管理的后臺,依 據(jù)博客網(wǎng)站中所要實現(xiàn)的基本功能的設(shè)定,將所有功能分解為如下四個主要的功能模 塊來加以實現(xiàn)。用戶以合法的用戶名及密碼登錄,系統(tǒng)即可按該登錄用戶的權(quán)限分配 操作模塊。 博客注冊登錄管理模塊 博客注冊登錄管理模塊用于建立博客網(wǎng)站固定的客戶群體,通過記錄對應(yīng)的博客 檔案,實現(xiàn)對博客信息的后臺維護及管理,同時也便于通過博客檔案庫將網(wǎng)站最新動 態(tài)及相關(guān)企業(yè)的信息方便地傳達給每一位潛在的客戶。 該功能模塊實現(xiàn)了以下幾個子功能。 (1)新博客在線注冊。 (2)博客登
40、錄管理。 (3)跳轉(zhuǎn)到博客主頁。 只有進行登錄并通過身份驗證的用戶,才可以在個人博客頁面發(fā)表日志,并借助 個人設(shè)置實現(xiàn)對個人博客相關(guān)信息的管理維護。對于沒有經(jīng)過身份驗證的網(wǎng)絡(luò)用戶不 允許在博客頁面中發(fā)表日志,更不允許對博客頁面信息進行管理維護。 該模塊實現(xiàn)新博客的注冊及登錄驗證功能。其中,注冊新博客時會對用戶輸入的 注冊信息進行有效性驗證,包括基本數(shù)據(jù)格式的有效性以及邏輯有效性,例如,用戶 名被占用時將及時給出提示。注冊成功的博客登錄時,會隨時根據(jù)博客輸入的登錄信 息進行提示,如用戶名錯誤或者密碼錯誤。 博客及文章檢索查詢模塊 博客及文章檢索查詢模塊為網(wǎng)絡(luò)用戶提供便捷的搜索,以及日志閱讀瀏覽等
41、功能, 同時對日志的評論信息、博客推薦也能夠及時反饋給網(wǎng)絡(luò)用戶。 該功能模塊實現(xiàn)了以下幾個子功能。 (1)熱門博客頁面推薦。 (2)最新博客日志推薦。 (3)日志信息關(guān)鍵字搜索。 該模塊能夠在網(wǎng)頁中隨時提供在線的最新日志信息。該信息需要定期更新,網(wǎng)絡(luò) 用戶可以隨時獲得最新日志以及最熱門的博客推薦。在客戶選擇了某個博客或者某個 感興趣的日志后,可以方便地跳轉(zhuǎn)到對應(yīng)博客頁面進行日志的閱讀,并和博客進行交 流互動。 為了使網(wǎng)絡(luò)用戶盡快定位到所需的博客資料及日志信息,本模塊提供了搜索功能, 用戶可以對所關(guān)注的日志信息按照標題進行關(guān)鍵字搜索,以避免用戶瀏覽多個頁面來 尋找所需的日志信息。 博客頁面顯示模
42、塊 當網(wǎng)絡(luò)用戶進入某個人博客主頁后,在該頁面中將提供博客日志列表的顯示,同 時為了方便用戶瀏覽,在該模塊中提供根據(jù)分類名進行日志列表的顯示,也提供日志 評論的瀏覽,此外還允許用戶在博客頁面中發(fā)表評論及留言。 該功能模塊實現(xiàn)了如下幾個子功能。 (1)用戶可以分頁查看對應(yīng)的日志內(nèi)容及評論信息。 (2)用戶可以針對日志內(nèi)容發(fā)表評論。 (3)用戶可以針對博客進行留言。 (4)用戶可以分類查看日志內(nèi)容。 在該模塊中還提供了博客頁面統(tǒng)計信息,日志、評論及留言信息分頁顯示等方便 用戶的顯示效果。 博客個人維護管理模塊 博客個人維護管理模塊用于實現(xiàn)用戶對博客個人主頁及相關(guān)信息的動態(tài)管理。 該功能模塊實現(xiàn)了如下
43、幾個子功能: (1)日志及日志分類管理。 (2)評論及留言管理。 (3)個人基本信息維護管理。 借助該模塊,用戶可以隨時對個人博客主頁中的內(nèi)容進行增加或修改,包括日志 分類信息的更新、評論及留言管理等功能,也允許用戶對博客的個人信息進行維護及 其管理。 第 4 章 系統(tǒng)詳細設(shè)計 4.1 數(shù)據(jù)庫分析 數(shù)據(jù)庫是當前應(yīng)用軟件系統(tǒng)的重要組成部分,如何使基于數(shù)據(jù)庫的應(yīng)用系統(tǒng)安全、 可靠、高效的運行一直是軟件開發(fā)技術(shù)研究的難題。所以本系統(tǒng)的數(shù)據(jù)庫設(shè)計基于以 下幾點來考慮: (1)數(shù)據(jù)庫規(guī)范化與非規(guī)范化的考慮。 (2)數(shù)據(jù)查詢優(yōu)化與索引的建立。 (3)存儲過程與視圖。 數(shù)據(jù)庫設(shè)計 E-R 圖 為了把用戶的數(shù)
44、據(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 模 型中包含“實體” , “聯(lián)系”和“屬性” 。 博客信息管理系統(tǒng)涉及的實體包括: (1)用戶:用戶 ID、用戶名稱、用戶密碼、博客主題、說明、E-mail、注冊
45、日 期、發(fā)表日志數(shù)。 (2)類別:類別編號、類別名、類別描述、用戶 ID。 (3)日志:日志編號、日志標題、日志內(nèi)容、類別編號、發(fā)表日期、最后修改 日期、用戶 ID、瀏覽次數(shù)、評論數(shù)。 (4)評論:評論編號、評論標題、評論內(nèi)容、發(fā)表日期、最后回復日期、評論 人、日志編號。 (5)留言:留言編號、留言標題、留言內(nèi)容、發(fā)表日期、最后回復日期、留言 人、用戶 ID。 綜合本系統(tǒng)各子模塊要實現(xiàn)的功能,通過前面對博客信息系統(tǒng)數(shù)據(jù)的分析可以得 到:用戶表、類別表、日志表、日志評論表、留言表的數(shù)據(jù)庫概念模型(E-R 圖)。 用戶 E-R 圖如圖 4.1 所示。 博客管理員 ID 用戶名 密碼 主題 E-ma
46、il 說明 發(fā)表日志數(shù) 注冊日期 圖 4.1 用戶 E-R 圖 日志類別 E-R 圖如圖 4.2 所示。 日志類別 ID 類別名類別描述 所屬博客ID 圖 4.2 日志類別 E-R 圖 日志 E-R 圖如圖 4.3 所示。 日志 ID 日志標題 日志內(nèi)容 類別ID 發(fā)表時間 所屬博客ID 瀏覽次數(shù) 評論數(shù) 最后修改時間 圖 4.3 日志 E-R 圖 日志評論 E-R 圖如圖 4.4 所示。 日志評論 ID 評論標題 評論內(nèi)容 發(fā)表時間 評論者名字 評論日志ID 最后回復時間 圖 4.4 日志評論 E-R 圖 留言 E-R 圖如圖 4.5 所示。 留言 ID 留言標題 留言內(nèi)容 發(fā)表時間 最后回
47、復時間 留言者名字 博客ID 圖 4.5 留言 E-R 圖 4.2 系統(tǒng)數(shù)據(jù)表設(shè)計 (1)用戶表,此表主要用于保存用戶的基本信息。其結(jié)構(gòu)如表 4.1 所示。 表 4.1 用戶表 列名含義類型長度缺省值允許空 BlogID 用戶編號 Int4 無否 UserName 用戶名 Varchar20 無否 Password 用戶密碼 Varchar20 無否 NickName 博客主題 Varchar50 無否 Description 博客描述 Varchar100 無是 Email 電子郵件 Email50 無否 RegisterTime 注冊日期 Datetime8 無否 ArticleNum 發(fā)
48、表的日志數(shù) Int40 否 (2)日志表,此表主要用于保存日志的基本信息。其結(jié)構(gòu)如表 4.2 所示。 表 4.2 日志表 列名含義類型長度缺省值允許空 ArticleID 日志編號 Int4 無否 Title 日志標題 Varchar50 無否 Content 日志內(nèi)容 text8 無否 CategoryID 類別 ID int4 無否 PublishTime 日志發(fā)表時間 Datetime8 無否 LastModifyTime 日志最后修改時間 Datetime8 無否 BlogID 用戶 ID Int4 無否 ReadTimes日志瀏覽次數(shù)Int40否 FeedBackNum日志評論數(shù)In
49、t40否 (3)日志評論表,此表主要用于保存日志評論的基本信息。其結(jié)構(gòu)如表 4.3 所 示。 表 4.3 日志評論表 列名含義類型長度缺省值允許空 FeedBackID 評論編號 Int4 無否 Title 評論標題 Varchar20 無否 Content 評論內(nèi)容 Text8 無否 PublishTime 發(fā)表時間 Datetime8 無否 UserName 用戶名 Varchar20 無否 ArticleID 日志 ID Int4 無否 (4)留言表,此表主要用于保存留言的基本信息。其結(jié)構(gòu)如表 4.4 所示。 表 4.4 留言表 列名含義類型長度缺省值允許空 MessageID 留言編號
50、 Int4 無否 Title 留言標題 Varchar20 無否 Content 留言內(nèi)容 text8 無否 PublishTime 發(fā)表時間 Datetime8 無否 LastModifyTime 最后回復時間 Datetime8 無否 UserName 用戶名 Varchar20 無否 BlogID 用戶 ID Int4 無否 (5)類別表,此表用于保存日志類別的基本信息。其結(jié)構(gòu)如表 4.5 所示。 表 4.5 類別表 列名含義類型長度缺省值允許空 CategoryID 類別編號 Int4 無否 Name 類別名 Varchar20 無否 Description 類別描述 Varchar1
51、00 無是 BlogID 用戶編號 Int4 無否 數(shù)據(jù)表在設(shè)計完成后,指定好各數(shù)據(jù)表主鍵、外鍵,通過 SQL Server 2000 企業(yè) 管理器中提供的新建數(shù)據(jù)庫關(guān)系統(tǒng)圖即可自動生成表與表之間的關(guān)系圖。各個關(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)點主要體現(xiàn)在兩個方面:對數(shù)據(jù)庫的連接 統(tǒng)一進行配置、管理、監(jiān)控,以及對數(shù)據(jù)庫連接池的參數(shù)進行優(yōu)化調(diào)整,同時對應(yīng)用 程序中沒有
52、關(guān)閉或其他原因造成沒有關(guān)閉的數(shù)據(jù)庫連接由連接池統(tǒng)一進行管理。便于 程序的移植和后端數(shù)據(jù)庫的切換,因為在應(yīng)用中通過統(tǒng)一的 JNDI 獲得數(shù)據(jù)庫的連接, 而具體連接的是哪一臺機器上的數(shù)據(jù)庫與程序無關(guān)。 數(shù)據(jù)庫連接池技術(shù)的思想非常簡單,將數(shù)據(jù)庫連接作為對象存儲在一個 Vector 對象中,一旦數(shù)據(jù)庫連接建立后,不同的數(shù)據(jù)庫訪問請求就可以共享這些連接。這樣, 通過復用這些已經(jīng)建立的數(shù)據(jù)庫連接,可以克服上述缺點,極大地節(jié)省系統(tǒng)資源和時 間。 數(shù)據(jù)庫連接池的主要操作如下: (1)建立數(shù)據(jù)庫連接池對象(服務(wù)器啟動) 。 (2)按照事先指定的參數(shù)創(chuàng)建初始數(shù)量的數(shù)據(jù)庫連接(即:空閑連接數(shù)) 。 (3)對于一個數(shù)
53、據(jù)庫訪問請求,直接從連接池中得到一個連接。如果數(shù)據(jù)庫連 接池對象中沒有空閑的連接,且連接數(shù)沒有達到最大(即:最大活躍連接 數(shù)) ,創(chuàng)建一個新的數(shù)據(jù)庫連接。 (4)存取數(shù)據(jù)庫。 (5)關(guān)閉數(shù)據(jù)庫,釋放所有數(shù)據(jù)庫連接(此時的關(guān)閉數(shù)據(jù)庫連接,并非真正關(guān) 閉,而是將其放入空閑隊列中。如實際空閑連接數(shù)大于初始空閑連接數(shù)則 釋放連接) 。 (6)釋放數(shù)據(jù)庫連接池對象(服務(wù)器停止、維護期間,釋放數(shù)據(jù)庫連接池對象, 并釋放所有連接) 。 第 5 章 系統(tǒng)功能的具體實現(xiàn) 5.1 系統(tǒng)的主窗口 系統(tǒng)的界面按照常規(guī)的 WEB 界面進行設(shè)計,設(shè)計的原則是界面友好,易于操作, 容易上手,盡可能的貼切用戶實際。 博客信息
54、管理系統(tǒng)首頁圖如圖 5.1 所示。 圖 5.1 博客信息管理系統(tǒng)首頁圖 所有的網(wǎng)絡(luò)用戶都可以進入該首頁進行登錄、注冊、瀏覽等相關(guān)的操作。在頁面 的上方是博客信息管理系統(tǒng)的導航列表,圖中顯示的導航條包括登錄、注冊、博客列 表、博文全覽以及站務(wù)公告。在頁面的左側(cè)是熱點博客,包括博客主題及其用戶名; 新入博客,包括博客主題;站內(nèi)搜索條,用戶可以根據(jù)日志標題進行搜索;最新評論 列表,包括評論標題;最新留言列表,包括留言標題;站點的統(tǒng)計信息,包括博客總 數(shù),日志總數(shù)。在頁面的中間則是精華日志和最新日志列表,包括用戶名、日志標題、 瀏覽次數(shù)和發(fā)表時間;頁面的底部是版權(quán)說明信息。 個人博客主頁界面圖如圖 5
55、.2 所示。 圖 5.2 個人博客主頁界面圖 所有的網(wǎng)絡(luò)用戶都可以進入某個人的博客主頁進行瀏覽、留言等相關(guān)的操作。在 頁面的上方是個人博客日志的分類名列表,包括分類名及其該分類下的日志數(shù)量。在 頁面的左側(cè)分別是登錄表單,提供博客管理員進入后臺管理頁面;個人博客精華日志 列表,包括日志標題;最新評論,包括評論標題;最新留言,包括留言標題;站點信 息,包括個人日志總數(shù)、評論總數(shù)和留言總數(shù)。在頁面的中間則分別是最新日志的列 表,包括日志標題、所屬分類名、發(fā)表時間、作者、部分日志內(nèi)容及其查看日志和發(fā) 表評論鏈接;發(fā)表留言表單,包括昵稱、留言標題和留言內(nèi)容。 5.2 公共核心類的設(shè)計 數(shù)據(jù)庫相關(guān) 訪問數(shù)
56、據(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的ge
57、tConnection()方法獲得數(shù)據(jù)庫連接對象。 (2)連接數(shù)據(jù)庫和操作數(shù)據(jù)庫;代碼如下: / 構(gòu)造數(shù)據(jù)庫的連接和訪問類 public DBConnect() throws Exception / 獲得數(shù)據(jù)庫連接對象 conn=DB.getConnection(); / 創(chuàng)建一個JDBC聲明 stmt = conn.createStatement(); / 預設(shè)SQL語句 public void prepareStatement(String sql) throws SQLException prepstmt = conn.prepareStatement(sql); / 設(shè)置索引值位置的對
58、應(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 prepstm
59、t.executeQuery(); else return null; DBConnect()方法:該方法主要負責獲得數(shù)據(jù)庫連接對象。 prepareStatement(String sql)方法:該方法主要完成預設(shè) SQL 語句,只有一個 用來接收 SQL 語句的參數(shù),如果 SQL 語句有誤將拋出異常。 setString(int index, String value)方法:該方法用于設(shè)置預設(shè) SQL 語句中的 相應(yīng)字段值,index 表示索引位置,value 表示需設(shè)置字符串類型的值。 setInt(int index, int value)方法:該方法用于預設(shè) SQL 語句中的相應(yīng)字段
60、值, index 表示索引位置,value 表示需設(shè)置整型類型的值。 executeQuery()方法:該方法用于執(zhí)行預設(shè)的 SQL 語句。 編寫 JavaBean 類 為每一個數(shù)據(jù)庫表建一個 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 類
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省沂水縣第四實驗中學2023-2024學年七年級12月月考道德與法治試題(解析版)-A4
- 江蘇省南京市聯(lián)合體2024-2025學年七年級上學期期中考試數(shù)學試題(1)-A4
- 2023年會議電視系統(tǒng)(含終端)項目融資計劃書
- 有機化學題庫(附參考答案)
- 養(yǎng)老院老人心理咨詢師晉升制度
- 2024停薪留職期間員工培訓與職業(yè)規(guī)劃合同范本3篇
- 2024農(nóng)機銷售與農(nóng)業(yè)廢棄物資源化利用合同3篇
- 宏觀經(jīng)濟學課件(高教版)
- 2025年河南貨運從業(yè)資格證模擬考試試題答案解析
- 2025年湖北貨運從業(yè)資格考試題目及答案大全
- 2023年報告文學研究(自考)(重點)題庫(帶答案)
- 國軍淞滬會戰(zhàn)
- 2023年湖南體育職業(yè)學院高職單招(語文)試題庫含答案解析
- GB/T 39314-2020鋁合金石膏型鑄造通用技術(shù)導則
- 裝飾裝修施工質(zhì)量檢查評分表
- 非開挖施工技術(shù)講稿課件
- 單絨毛膜雙羊膜囊雙胎2022優(yōu)秀課件
- 《思想道德與法治》 課件 第四章 明確價值要求 踐行價值準則
- 北師大版八年級上數(shù)學競賽試卷
- 幼兒園講座:課程游戲化、生活化建設(shè)的背景與目的課件
- 地理信息系統(tǒng)(GIS)公開課(課堂)課件
評論
0/150
提交評論