基于JSP的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于JSP的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于JSP的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于JSP的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于JSP的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(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、( 20112011屆)屆)本科畢業(yè)論文(設(shè)計(jì))本科畢業(yè)論文(設(shè)計(jì))題目:基于 JSP 的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 學(xué)院: 專(zhuān)業(yè): 信息管理與信息系統(tǒng)班級(jí): 學(xué)號(hào): 姓名: 指導(dǎo)教師: 完成日期: 教 務(wù) 處誠(chéng)誠(chéng) 信信 聲聲 明明 我聲明,所呈交的論文(設(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í)、可信。 論文(設(shè)計(jì))作者簽名: 簽名日期: 年 月 授授 權(quán)權(quán) 聲聲 明明學(xué)校有權(quán)保留送交論文(

2、設(shè)計(jì))的原件,允許論文(設(shè)計(jì))被查閱和借閱,學(xué)校可以公布論文(設(shè)計(jì))的全部或部分內(nèi)容,可以影印、縮印或其他復(fù)制手段保存論文(設(shè)計(jì)),學(xué)校必須嚴(yán)格按照授權(quán)對(duì)論文(設(shè)計(jì))進(jìn)行處理,不得超越授權(quán)對(duì)論文(設(shè)計(jì))進(jìn)行任意處置。論文(設(shè)計(jì))作者簽名: 簽名日期: 年 月 日基于 JSP 的個(gè)人博客系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘要:隨著計(jì)算機(jī)網(wǎng)絡(luò)的高速發(fā)展,博客迅速崛起,博客系統(tǒng)成為了潮流風(fēng)頭的網(wǎng)絡(luò)新興文化系統(tǒng)。課題的主要內(nèi)容便是基于 JSP 的個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)的前臺(tái)用戶操作模塊實(shí)現(xiàn)用戶查看博客文章、查看評(píng)論、評(píng)論文章等操作,而后臺(tái)博主操作模塊則是博主登陸、解決用戶文章管理、文章類(lèi)別管理、相冊(cè)管理、留言管理

3、等功能問(wèn)題。系統(tǒng)采用 JSP 技術(shù)實(shí)現(xiàn)個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),搭建“My Eclipse + Dreamweaver”開(kāi)發(fā)平臺(tái)和“JavaBeans + Servlet”的開(kāi)發(fā)技術(shù)結(jié)構(gòu),使用“MySQL+Navicat”數(shù)據(jù)庫(kù)工具,并應(yīng)用 CSS 進(jìn)行系統(tǒng)美化,采用 CKEditor 進(jìn)行博客系統(tǒng)的文章編輯。關(guān)鍵詞:博客;博客系統(tǒng);JSP 技術(shù);My EclipseDesign and Implementation of Personal Blog SystemBased On JSP TechnologyAbstract: Nowadays, blogs rise rapidly as c

4、omputer networks develop so fast. Then blog system has become a new cultural trend of the limelight of network systems. The main topic of this article is about the design and implementation of personal blog system based on JSP technology. In this system , the operation module for user in front-end i

5、mplement such operations like viewing blog post, viewing comments, commenting articles and so on, while the optional module for blogger in back-end is used to login ,solve article management , article category management, photos management ,message management and other functional problems.This syste

6、m uses JSP technology to achieve design and implement of the personal blog system, and build My Eclipse + Dreamweaver development platform and JavaBeans + Servlet the development of technical structure. It uses MySQL + Navicat database tools. It uses CSS scripts to landscaping application systems. I

7、t uses CKEditor to edit the blog post.Key words: Weblog, Blog System, JSP technology, My Eclipse目 錄1 緒論.11.1 課題研究的背景、意義.11.1.1 歷史背景.11.1.2 研究現(xiàn)狀.11.1.3 意義.31.2 課題的研究?jī)?nèi)容.31.3 課題的研究方法.32 系統(tǒng)分析.52.1 需求分析.52.1.1 需求定義.52.1.2 數(shù)據(jù)流程圖.52.1.3 數(shù)據(jù)字典.62.2 開(kāi)發(fā)工具分析.82.2.1 JSP 概述 .82.2.2 MyEclipse 概述 .102.2.3 Severlet

8、與 Javabean .102.2.4 MySQL.113 數(shù)據(jù)庫(kù)設(shè)計(jì).133.1 概念設(shè)計(jì).133.2 邏輯設(shè)計(jì).133.3 物理設(shè)計(jì).144 系統(tǒng)設(shè)計(jì).164.1 系統(tǒng)總體結(jié)構(gòu)圖.164.2 系統(tǒng)功能模塊設(shè)計(jì).164.3 系統(tǒng)主界面設(shè)計(jì).175 系統(tǒng)實(shí)現(xiàn).185.1 系統(tǒng)前臺(tái)主頁(yè)的實(shí)現(xiàn).185.2 文章顯示模塊的實(shí)現(xiàn).195.3 系統(tǒng)后臺(tái)主頁(yè)的實(shí)現(xiàn).195.4 發(fā)表文章模塊的實(shí)現(xiàn).215.5 系統(tǒng)詳細(xì)代碼.215.5.1 前臺(tái)主頁(yè)實(shí)現(xiàn)代碼.215.5.2 文章顯示模塊主要代碼.255.5.3 后臺(tái)主頁(yè)實(shí)現(xiàn)代碼.275.5.4 發(fā)表文章模塊主要代碼.286 總結(jié).307 致謝.318 參考文

9、獻(xiàn).32本科生畢業(yè)論文(設(shè)計(jì))11 緒論1.1 課題研究的背景、意義1.1.1 歷史背景進(jìn)入 21 世紀(jì)信息時(shí)代后,隨著計(jì)算機(jī)網(wǎng)絡(luò)的高速發(fā)展,人類(lèi)進(jìn)入了計(jì)算機(jī)網(wǎng)絡(luò)世界,人與人之間也出現(xiàn)了多種多樣的交流方式,從早期的 ICQ,到后來(lái)的 E-Mail 和 BBS,都是在計(jì)算機(jī)網(wǎng)絡(luò)的基礎(chǔ)上誕生的。它們的出現(xiàn)讓人類(lèi)的交流變得更加的方便和快捷。之后,博客迅速崛起。在博客風(fēng)靡全球的過(guò)程中,越來(lái)越多的人投入了博客系統(tǒng)的開(kāi)發(fā)研究。主流開(kāi)源博客系統(tǒng)包括 WordPress,Pivotx, PJBlog, Z-Blog, oBlog, Sablog-X 站上了博客發(fā)展技術(shù)尖端。博客系統(tǒng)的開(kāi)發(fā)語(yǔ)言與技術(shù)平臺(tái)的搭建方

10、案層出不窮,基于各種技術(shù)語(yǔ)言開(kāi)發(fā)的博客系統(tǒng)呈現(xiàn)百花爭(zhēng)鳴的局面。博客系統(tǒng)成為了潮流風(fēng)頭的網(wǎng)絡(luò)新興文化系統(tǒng)。1.1.2 研究現(xiàn)狀博客,即 Weblog1,后簡(jiǎn)稱(chēng) blog,又譯為網(wǎng)絡(luò)日志等2,是一種通常由個(gè)人管理、不定期張貼新文章的網(wǎng)站3。在臺(tái)灣,人們認(rèn)為 Blog 本身有社群群組的涵義,通常被音譯成“部落格”4。Blog 就是以網(wǎng)絡(luò)作為載體,簡(jiǎn)易迅速便捷地發(fā)布個(gè)人心得,及時(shí)有效輕松地與他人進(jìn)行交流,再集豐富多彩的個(gè)性化展示于一體的綜合性平臺(tái)5。這些博客撰寫(xiě)人就叫做 Blogger 或 Blog writer6。Blog 一露面,立刻與 Email、BBS、ICQ 并列四大網(wǎng)絡(luò)交流方式7,并逐漸發(fā)

11、展成網(wǎng)絡(luò)時(shí)代的個(gè)人“讀者文摘”8。這種以超級(jí)鏈接為武器的網(wǎng)絡(luò)日記,給人們帶來(lái)了生活方式和工作方式的創(chuàng)新,標(biāo)志著一種新的學(xué)習(xí)方式9。另外,由于 blog 的溝通方式比電子郵件、討論群組更為簡(jiǎn)易和方便,它逐漸被應(yīng)用在企業(yè)內(nèi)部網(wǎng)絡(luò)(Intranet)中10。據(jù)有關(guān)調(diào)查數(shù)據(jù)11顯示,2006 年 11 月 3 日,全球中文博客站點(diǎn)數(shù)量達(dá)到 5230 萬(wàn),博客用戶數(shù)達(dá)到 1987 萬(wàn)。有些調(diào)查數(shù)據(jù)12還顯示出,2006 年,中國(guó)大陸博客服務(wù)商持續(xù)大幅增長(zhǎng),大型網(wǎng)絡(luò)公司如搜狐、百度紛紛推出相應(yīng)的博客服務(wù),博客服務(wù)商之間的市場(chǎng)競(jìng)爭(zhēng)日趨激烈。有關(guān)調(diào)查機(jī)構(gòu)還發(fā)現(xiàn),博客的發(fā)展規(guī)律類(lèi)似于新興科技企業(yè)發(fā)展規(guī)律中的Hy

12、pe Cycle 模型13,開(kāi)始被媒體和從業(yè)者大為炒作,后來(lái)市場(chǎng)預(yù)期不斷下降,直到現(xiàn)在的理性穩(wěn)步發(fā)展,成為互聯(lián)網(wǎng)的基本應(yīng)用14。博客依賴(lài)的基礎(chǔ)平臺(tái)博客系統(tǒng)也隨即進(jìn)入開(kāi)發(fā)熱潮15。目前主流開(kāi)源博客系統(tǒng)主要有這么幾種16:WordPress ,一種支持用戶在 PHP 和 MySQL 數(shù)據(jù)庫(kù)的服務(wù)器上建立自己的 Blog 的引擎;Pivotx, blog CMS,以 PHP 編寫(xiě),管理者接口采用 AJAX 模式運(yùn)作,本科生畢業(yè)論文(設(shè)計(jì))2SEO 友好,支持 MySQL 數(shù)據(jù)庫(kù)以及文本數(shù)據(jù)庫(kù)等;PJBlog,一套開(kāi)源免費(fèi)的中文個(gè)人博客系統(tǒng)程序,采用 asp+Access 的技術(shù),支持簡(jiǎn)繁中文,UTF

13、-8 編碼,相對(duì)于其他系統(tǒng)具有相當(dāng)高的運(yùn)作效能以及更新率,也支持目前 Blog 所使用的新技術(shù);Z-Blog,一款小巧而強(qiáng)大的基于 Asp 平臺(tái)的 Blog 程序,支持界面主題及樣式更換,采用 Web Standards 網(wǎng)頁(yè)設(shè)計(jì)標(biāo)準(zhǔn),靜態(tài)生成日志,支持自定義目錄配置,支持 FierFox、Opera、Safari 等瀏覽器,支持Wap、Windows Live Writer 等離線寫(xiě)作軟件;oBlog,一套經(jīng)過(guò)完善設(shè)計(jì)的多用戶博客建站程序,是 WindowsNT 服務(wù)環(huán)境下多用戶博客程序的最佳解決方案;Bo-Blog,一款基于PHP 的、以 MySQL 為數(shù)據(jù)庫(kù)支持的免費(fèi) blog 程序,基

14、于 XHTML+CSS+div 布局的模板結(jié)構(gòu),可自由定制的頁(yè)面模塊、插件與模板,部分基于 Ajax 的新體驗(yàn),多語(yǔ)言包化與 UTF-8 國(guó)際編碼,強(qiáng)大的 spam 信息防御機(jī)制,RSS、XML-RPC、Tags 支持,內(nèi)置留言本、天氣、表情、置頂、驗(yàn)證碼、頭像等; Sablog-X,一個(gè)采用 PHP 和 MySQL 構(gòu)建的博客系統(tǒng),在代碼質(zhì)量、運(yùn)行效率、負(fù)載能力、安全等級(jí)、功能可操控性和權(quán)限嚴(yán)密性等方面都比較好。而從這些主流開(kāi)源博客系統(tǒng)的實(shí)現(xiàn)技術(shù)來(lái)看,最主要的還是以 PHP,ASP 和 JSP 技術(shù)為主17。三種技術(shù)中,相比之下,JSP 具有一次編寫(xiě)到處到處運(yùn)行18,系統(tǒng)多平臺(tái)支持19,強(qiáng)大

15、的可伸縮性20,多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持等強(qiáng)勢(shì)21。JSP 應(yīng)該是未來(lái)發(fā)展的趨勢(shì),尤其是電子商務(wù)類(lèi)的網(wǎng)站,多采用 JSP,世界上一些大的電子商務(wù)解決方案提供商都采用 JSP/Servelet22。但是, JSP 也存在不可忽視的弱勢(shì)23。與 ASP 一樣,Java 的一些優(yōu)勢(shì)正是它的致命問(wèn)題所在,正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以增加了產(chǎn)品的復(fù)雜性24。此外,Java 的運(yùn)行速度使用 class 常駐內(nèi)存來(lái)完成的,所以在一些情況下有些“最低性價(jià)比”了25。博客系統(tǒng)的架構(gòu)則是 C/S 和 B/S 這兩種開(kāi)發(fā)模式技術(shù)架構(gòu)的主流技術(shù)26。C/S 架構(gòu)軟件的優(yōu)勢(shì)主要有兩點(diǎn)27,一

16、是應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕,二是數(shù)據(jù)的儲(chǔ)存管理功能較為透明。但 C/S 架構(gòu)的劣勢(shì)是需要高昂的維護(hù)成本且投資大。B/S 架構(gòu)軟件的優(yōu)勢(shì)主要也是兩點(diǎn),一是維護(hù)和升級(jí)方式簡(jiǎn)單,二是成本降低,選擇更多。但是,和 C/S 相反,B/S的劣勢(shì)在于應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。此外,它們的區(qū)別還在于,C/S 一般建立在專(zhuān)用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過(guò)專(zhuān)門(mén)服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)。B/S 建立在廣域網(wǎng)之上的,不必是專(zhuān)門(mén)的網(wǎng)絡(luò)硬件環(huán)境,例如電話上網(wǎng),租用設(shè)備,信息自己管理,有比 C/S 更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行28。博客系統(tǒng)的開(kāi)發(fā)平臺(tái)主要有 MyEclipse,Ne

17、tbean,ASP.NET 三種29。MyEclipse 是一個(gè)開(kāi)放源代碼的軟件開(kāi)發(fā)項(xiàng)目,專(zhuān)注于為高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、具有商本科生畢業(yè)論文(設(shè)計(jì))3業(yè)品質(zhì)的工業(yè)平臺(tái),主要由 Eclipse Platform、JDT、CDT 和 PDE 組成。NetBeans 是一個(gè)全功能的開(kāi)放源碼 Java IDE,可支持 Java 2 平臺(tái)標(biāo)準(zhǔn)版(J2SE)應(yīng)用的創(chuàng)建、采用 JSP 和Servlet 的 2 層 Web 應(yīng)用的創(chuàng)建,以及用于 2 層 Web 應(yīng)用的 API 及軟件的核心組的創(chuàng)建。ASP.net 是基于通用語(yǔ)言的編譯運(yùn)行的程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在Web 應(yīng)用

18、軟件開(kāi)發(fā)者的幾乎全部的平臺(tái)上30。除此以外,主流開(kāi)源博客系統(tǒng)頗青睞于 SQL Server、Oracle、Access 及 MySQL 為主的數(shù)據(jù)庫(kù),其他輔助工具則有 Dreamweaver31,CSS32,CKEditor 等33。1.1.3 意義博客具有知識(shí)過(guò)濾與積累的作用,還是一種深度交流溝通的網(wǎng)絡(luò)新方式?;诓┛偷谋姸喙δ芴攸c(diǎn),在計(jì)算機(jī)網(wǎng)絡(luò)高速發(fā)展的當(dāng)代,認(rèn)識(shí)網(wǎng)絡(luò)的新事物,學(xué)習(xí)網(wǎng)絡(luò)的新知識(shí),深入了解博客,是非常有必要的。博客系統(tǒng)作為博客的承載體,其設(shè)計(jì)與實(shí)現(xiàn)也具有重要的意義。博客系統(tǒng)的功能、安裝與使用、運(yùn)行,博客系統(tǒng)的支持平臺(tái)技術(shù)、數(shù)據(jù)庫(kù)連接等等,都影響著博客的質(zhì)量及博客發(fā)表的便捷性。

19、綜合開(kāi)發(fā)語(yǔ)言、技術(shù)與平臺(tái)搭配的效果來(lái)看,JSP 技術(shù)功能較為強(qiáng)大,基于 JSP 的博客系統(tǒng)開(kāi)發(fā)較有發(fā)展前景并且功能更為完善,但是目前各種主流開(kāi)源博客系統(tǒng)卻偏愛(ài)于 PHP 技術(shù)方面的開(kāi)發(fā)研究,JSP 技術(shù)使用并不多。因此,采用 JSP 技術(shù)完成個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)是值得挑戰(zhàn)的事情。因此,畢業(yè)系統(tǒng)設(shè)計(jì)最終決定應(yīng)用 JSP 技術(shù),搭建“MyEclipse + Dreamweaver”開(kāi)發(fā)平臺(tái)和“JavaBean+Servlet”的開(kāi)發(fā)技術(shù)結(jié)構(gòu),使用“MySQL+Navicat”數(shù)據(jù)庫(kù)工具,并應(yīng)用 CSS進(jìn)行系統(tǒng)美化,采用 CKEditor 進(jìn)行博客系統(tǒng)的文章編輯。1.2 課題的研究?jī)?nèi)容課題的主要

20、內(nèi)容是基于 JSP 的個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)的前臺(tái)用戶操作模塊實(shí)現(xiàn)用戶查看博客文章、查看評(píng)論、評(píng)論文章等操作,而后臺(tái)博主操作模塊則是博主登陸、解決用戶文章管理、文章類(lèi)別管理等功能問(wèn)題。1.3 課題的研究方法(1)文獻(xiàn)研究法,即通過(guò)調(diào)查文獻(xiàn)來(lái)獲得資料,從而全面地、正確地了解掌握所要研究問(wèn)題。在文獻(xiàn)研究過(guò)程中,將會(huì)大量閱讀與博客知識(shí)與博客系統(tǒng)開(kāi)發(fā)技術(shù)相關(guān)的文獻(xiàn)資料,了解國(guó)內(nèi)外相關(guān)研究成果,在通過(guò)對(duì)文獻(xiàn)的分析、歸納和綜合,在現(xiàn)有研究成果的基礎(chǔ)上形成本系統(tǒng)的相關(guān)理論和功能結(jié)構(gòu),并借助計(jì)算機(jī)進(jìn)行信息的搜集、整理和加工,形成對(duì)論文設(shè)計(jì)有用的信息。(2)理論與實(shí)際應(yīng)用相結(jié)合的方法,分析系統(tǒng)的用戶需求

21、,在對(duì)各種系統(tǒng)開(kāi)發(fā)平臺(tái)、本科生畢業(yè)論文(設(shè)計(jì))4開(kāi)發(fā)技術(shù)、開(kāi)發(fā)環(huán)境、數(shù)據(jù)庫(kù)技術(shù)等各方面的比較下,選擇相對(duì)較佳方案.(3)利用 UML 建模方法進(jìn)行分析建模以及設(shè)計(jì)建模,并進(jìn)行實(shí)際操作調(diào)試,從而實(shí)現(xiàn)本系統(tǒng)的具體功能。(4)系統(tǒng)分析與邏輯辯證分析相結(jié)合的方法。系統(tǒng)分析方法是用系統(tǒng)的觀念來(lái)研究和處理有關(guān)對(duì)象和聯(lián)系的科學(xué)方法;邏輯辨證分析法是按照事物自身的發(fā)展規(guī)律,運(yùn)用判斷推理的方法揭示事物內(nèi)在規(guī)律及概念與概念之間聯(lián)系的一種復(fù)合的科學(xué)分析方法。本科生畢業(yè)論文(設(shè)計(jì))52 系統(tǒng)分析2.1 需求分析系統(tǒng)分析的任務(wù)是在文獻(xiàn)資料閱讀的基礎(chǔ)上,通過(guò)對(duì)現(xiàn)行管理業(yè)務(wù)的分析,提出系統(tǒng)的目標(biāo)要求和功能分析的總體邏輯模型

22、。2.1.1 需求定義(1)功能需求:系統(tǒng)是一個(gè)基于 JSP 與數(shù)據(jù)庫(kù)技術(shù)的個(gè)人博客,前臺(tái)用戶操作模塊完成用戶查看博客文章、查看評(píng)論、評(píng)論文章以及博主登錄等操作,而后臺(tái)博主操作模塊解決用戶文章管理、文章類(lèi)別管理、分類(lèi)管理等功能問(wèn)題。(2)性能需求:安全性,即通過(guò)設(shè)置權(quán)限,防止博主數(shù)據(jù)遭篡改;正確性,即數(shù)據(jù)的操作和讀取應(yīng)該正確,不會(huì)出現(xiàn)連接錯(cuò)誤。(3)開(kāi)發(fā)環(huán)境需求:應(yīng)用 JSP 技術(shù),搭建“My Eclipse + Dreamweaver”開(kāi)發(fā)平臺(tái)和“JavaBean+Servlet”的開(kāi)發(fā)技術(shù)結(jié)構(gòu),使用“MySQL+Navicat”數(shù)據(jù)庫(kù)工具,并應(yīng)用 CSS進(jìn)行系統(tǒng)美化,采用 CKEditor

23、 進(jìn)行博客系統(tǒng)的文章編輯。2.1.2 數(shù)據(jù)流程圖根據(jù)系統(tǒng)調(diào)查階段的數(shù)據(jù)資料,并依據(jù)博客用戶的要求,確定系統(tǒng)的數(shù)據(jù)流程圖如下圖: 評(píng)論訪客文章信息表博主信息表分享文章類(lèi)別表博主發(fā)布類(lèi)別管理評(píng)論信息表留言留言類(lèi)別管理文章發(fā)表文章刪除操作文章信息修改操作分享操作信息本科生畢業(yè)論文(設(shè)計(jì))6圖 21數(shù)據(jù)流程圖2.1.3 數(shù)據(jù)字典數(shù)據(jù)字典是對(duì)描述數(shù)據(jù)流程圖中的數(shù)據(jù)項(xiàng)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、加工處理邏輯等組成部分的嚴(yán)格定義,下面是本系統(tǒng)的數(shù)據(jù)字典(由于篇幅原因,在此僅給出部分) 。(1)數(shù)據(jù)項(xiàng)的定義數(shù)據(jù)項(xiàng)編號(hào):1-01數(shù)據(jù)項(xiàng)名稱(chēng):文章編號(hào)別名:無(wú)簡(jiǎn) 述:某篇文章的編號(hào)類(lèi)型:字符型長(zhǎng)度:11 字節(jié)數(shù)據(jù)項(xiàng)編號(hào):1

24、-02數(shù)據(jù)項(xiàng)名稱(chēng):文章類(lèi)型編號(hào)別名:無(wú)簡(jiǎn) 述:某種文章類(lèi)型的編號(hào)類(lèi)型:字符型長(zhǎng)度:6 字節(jié)數(shù)據(jù)項(xiàng)編號(hào):1-03數(shù)據(jù)項(xiàng)名稱(chēng):文章題目別名:題目簡(jiǎn) 述:某篇文章的題目類(lèi)型:字符型長(zhǎng)度:255 字節(jié)數(shù)據(jù)項(xiàng)編號(hào):1-04數(shù)據(jù)項(xiàng)名稱(chēng):文章正文別名:正文本科生畢業(yè)論文(設(shè)計(jì))7簡(jiǎn) 述:文章的正文內(nèi)容類(lèi)型:字符型長(zhǎng)度:不限數(shù)據(jù)項(xiàng)編號(hào):1-05數(shù)據(jù)項(xiàng)名稱(chēng):發(fā)表時(shí)間別名:無(wú)簡(jiǎn) 述:發(fā)表文章的時(shí)間類(lèi)型:時(shí)間日期型長(zhǎng)度:18(2)數(shù)據(jù)流的定義數(shù)據(jù)流名稱(chēng):文章編號(hào):F1簡(jiǎn)述:博主發(fā)表的文章數(shù)據(jù)流來(lái)源:博主數(shù)據(jù)流去向:文章信息表數(shù)據(jù)流組成:文章編號(hào)文章題目文章正文發(fā)表時(shí)間數(shù)據(jù)流名稱(chēng):留言編號(hào):F3簡(jiǎn)述:訪客發(fā)表的留言數(shù)

25、據(jù)流來(lái)源:訪客數(shù)據(jù)流去向:留言信息表數(shù)據(jù)流組成:留言編號(hào)留言內(nèi)容留言時(shí)間訪客名稱(chēng)(3) 數(shù)據(jù)存儲(chǔ)的定義數(shù)據(jù)存儲(chǔ)的名稱(chēng):文章信息表數(shù)據(jù)存儲(chǔ)編號(hào):D1簡(jiǎn)述:存放博主發(fā)表的文章本科生畢業(yè)論文(設(shè)計(jì))8數(shù)據(jù)存儲(chǔ)組成:文章編號(hào)文章題目文章正文發(fā)表時(shí)間關(guān)鍵字: 文章編號(hào)數(shù)據(jù)存儲(chǔ)的名稱(chēng):留言信息表數(shù)據(jù)存儲(chǔ)編號(hào):D3簡(jiǎn)述: 訪客的留言數(shù)據(jù)存儲(chǔ)組成:留言編號(hào)留言內(nèi)容訪客名稱(chēng)關(guān)鍵字: 留言編號(hào)數(shù)據(jù)存儲(chǔ)的名稱(chēng):博主信息表數(shù)據(jù)存儲(chǔ)編號(hào):D4簡(jiǎn)述:存放博主的個(gè)人資料數(shù)據(jù)存儲(chǔ)組成:博主的所有個(gè)人資料關(guān)鍵字: 博主姓名數(shù)據(jù)存儲(chǔ)的名稱(chēng):文章類(lèi)別表數(shù)據(jù)存儲(chǔ)編號(hào):D5簡(jiǎn)述:存放文章類(lèi)別數(shù)據(jù)存儲(chǔ)組成:文章類(lèi)別編號(hào)文章類(lèi)別名稱(chēng)關(guān)鍵字

26、: 類(lèi)別編號(hào)數(shù)據(jù)存儲(chǔ)的名稱(chēng):評(píng)論信息表數(shù)據(jù)存儲(chǔ)編號(hào):D6簡(jiǎn)述:存放文章評(píng)論信息和照片評(píng)論信息數(shù)據(jù)存儲(chǔ)組成:評(píng)論類(lèi)型+評(píng)論編號(hào)+評(píng)論信息+訪客名稱(chēng)+評(píng)論時(shí)間關(guān)鍵字:評(píng)論類(lèi)型+評(píng)論編號(hào)2.2 開(kāi)發(fā)工具分析2.2.1 JSP 概述畢業(yè)系統(tǒng)的實(shí)現(xiàn)技術(shù)為 JSP。JSP 具有將內(nèi)容的生成和顯示進(jìn)行分離,強(qiáng)調(diào)可重用的組件,采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā) Web 頁(yè)面,使用 JSP 標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容。本科生畢業(yè)論文(設(shè)計(jì))9JSP 技術(shù)內(nèi)置腳本語(yǔ)言基于 Java 編程語(yǔ)言,且所有的 JSP 頁(yè)面都被編譯成為 Java Servlet, “一次編寫(xiě),各處運(yùn)行” 。JSP 與 ASP,PHP 均為動(dòng)態(tài)

27、網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),都提供在 HTML 代碼中混合某種程序代碼、有語(yǔ)言引擎解釋執(zhí)行程序代碼的能力。在 ASP、PHP、JSP 環(huán)境下,HTML 代碼主要負(fù)責(zé)描述信息的顯示樣式,而程序代碼則用來(lái)描述處理邏輯。普通 HTML 頁(yè)面只依賴(lài)于 Web 服務(wù)器,而 ASP、PHP、JSP 頁(yè)面需要附加的語(yǔ)言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到 HTML 代碼中,然后一起發(fā)送給瀏覽器。ASP、PHP、JSP 三者都是面向服務(wù)器的技術(shù),客端瀏覽器不需要任何附加的軟件支持。但 JSP 代碼被編譯成 Servlet 并由 Java 虛擬機(jī)解釋執(zhí)行,這種編譯操作僅在對(duì) JSP 頁(yè)面的第一次請(qǐng)求時(shí)發(fā)生,

28、因此采用 JSP 技術(shù)的頁(yè)面執(zhí)行速度較快。從應(yīng)用范圍來(lái)看,ASP 是動(dòng)態(tài)網(wǎng)頁(yè)語(yǔ)言,也繼承了微軟產(chǎn)品的一貫傳統(tǒng),只能執(zhí)行于微軟的服務(wù)器產(chǎn)品,IIS 和 PWS 上。在 UNIX 下也有 ChiliSoft 的組件來(lái)支持 ASP,但是ASP 本身的功能有限,必須通過(guò) ASP+COM 的群組合來(lái)擴(kuò)充,在 UNIX 的 COM 實(shí)現(xiàn)起來(lái)非常困難。PHP 是免費(fèi)的、開(kāi)放源代碼的、HTML 嵌入其中的腳本語(yǔ)言,可在Windows,UNIX,Linux 的 Web 服務(wù)器上正常運(yùn)行,還支持 IIS,Apache 等一般的 Web 服務(wù)器。用戶更換平臺(tái)時(shí),無(wú)需變換 PHP 代碼,可即拿即用。JSP 與 PHP

29、 幾乎都可以執(zhí)行于所有平臺(tái),如 Windows NT、Linux、UNIX。在 Windows NT 下 IIS 通過(guò)一個(gè)外加服務(wù)器,例如 JRUN 或者 ServletExec,就能支持 JSP。知名的 Web服務(wù)器 Apache 已經(jīng)能夠支持 JSP。由于 Apache 廣泛應(yīng)用在 Windows NT,UNIX 和 Linux 上,因此 JSP 有更廣泛的執(zhí)行平臺(tái)。雖然現(xiàn)在 WNT 操作系統(tǒng)占了很大的市場(chǎng)份額,但是在服務(wù)器方面,UNIX 的優(yōu)勢(shì)仍然很大,而新崛起的 Linux 更是來(lái)勢(shì)不小。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP 和 JavaBean 甚至不用重新編譯,因?yàn)?Java 字節(jié)

30、碼都是標(biāo)準(zhǔn)的與平臺(tái)無(wú)關(guān)的。JSP 的動(dòng)態(tài)部分用已經(jīng)在聯(lián)網(wǎng)、數(shù)據(jù)庫(kù)訪問(wèn)、分布式對(duì)象等方面擁有廣泛的 API 的Java 編寫(xiě),而 PHP 需要學(xué)習(xí)全新的、應(yīng)用相對(duì)廣泛的語(yǔ)言。兩者相比,JSP 擁有極為廣泛的工具和服務(wù)器提供商的支持。另外,由于 PHP 本身存在的一些缺點(diǎn),如 PHP 缺乏規(guī)模支持,缺乏多層結(jié)構(gòu)支持等,使得它不適合應(yīng)用于大型電子商務(wù)站點(diǎn),而更適合于一些小型的商業(yè)站點(diǎn)。這三種技術(shù)相比之下,JSP 系統(tǒng)多平臺(tái)支持,強(qiáng)大的可伸縮性,多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持等強(qiáng)勢(shì)。JSP 應(yīng)該是未來(lái)發(fā)展的趨勢(shì),尤其是電子商務(wù)類(lèi)的網(wǎng)站,世界上一本科生畢業(yè)論文(設(shè)計(jì))10些大的電子商務(wù)解決方案提供商都采

31、用 JSP/Servelet。但是, JSP 也存在不可忽視的弱勢(shì)。與 ASP 一樣,Java 的一些優(yōu)勢(shì)正是它的致命問(wèn)題所在,正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以增加了產(chǎn)品的復(fù)雜性。此外,Java 的運(yùn)行速度使用 class 常駐內(nèi)存來(lái)完成的,所以在一些情況下有些“最低性價(jià)比”了。2.2.2 MyEclipse 概述根據(jù)博客系統(tǒng)開(kāi)發(fā)技術(shù),本系統(tǒng)選擇了 MyEclipse 開(kāi)發(fā)平臺(tái)。MyEclipse 是一個(gè)開(kāi)放源代碼的軟件開(kāi)發(fā)項(xiàng)目,專(zhuān)注于為高度集成的工具開(kāi)發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由 Eclipse 項(xiàng)目、Eclipse 工具項(xiàng)目和Eclipse 技術(shù)項(xiàng)

32、目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成Eclipse Platform、JDT、CDT 和 PDE.JDT 支持 Java 開(kāi)發(fā)、CDT 支持 C 開(kāi)發(fā)、PDE 用來(lái)支持插件開(kāi)發(fā),Eclipse Platform 則是一個(gè)開(kāi)放的可擴(kuò)展 IDE,提供了一個(gè)通用的開(kāi)發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開(kāi)發(fā)工具的基礎(chǔ)。Eclipse Platform 允許工具建造者獨(dú)立開(kāi)發(fā)與他人工具無(wú)縫集成的工具從而無(wú)須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開(kāi)始。MyEclipse 企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench)是對(duì) Eclipse IDE的擴(kuò)展,利用它

33、我們可以在數(shù)據(jù)庫(kù)和 JavaEE 的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的 JavaEE 集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。2.2.3 Severlet 與 Javabean理論上,JSP 并沒(méi)有提供 Servlet 不能完成的功能。實(shí)際上,JSP 文檔在后臺(tái)被自動(dòng)轉(zhuǎn)換成 Servlet。 Servlet 是一種獨(dú)立于平臺(tái)和協(xié)議的服務(wù)器端的 Java 應(yīng)用程序,可以生成動(dòng)態(tài)的 Web頁(yè)面。Servlet 是使用 Java Ser

34、vlet 應(yīng)用程序設(shè)計(jì)接口及相關(guān)類(lèi)和方法的 Java 程序,它在 Web 服務(wù)器上或應(yīng)用服務(wù)器上運(yùn)行并擴(kuò)展了該服務(wù)器的能力。Java Servlet 對(duì)于 Web 服務(wù)器就好像 Java Applet 對(duì)于 Web 瀏覽器。Applet 裝入 Web 瀏覽器并在 Web 瀏覽器內(nèi)執(zhí)行,而 Servlet 則是裝入 Web 服務(wù)器并在 Web 服務(wù)器內(nèi)執(zhí)行。Java Servlet API 定義了Servlet 和服務(wù)器之間的一個(gè)標(biāo)準(zhǔn)接口,這使得 Servlet 具有跨服務(wù)器平臺(tái)的特性。Servlet 通過(guò)創(chuàng)建一個(gè)框架擴(kuò)展服務(wù)器的能力,采用請(qǐng)求-響應(yīng)模式提供 Web 服務(wù)。與傳統(tǒng)的 CGI(公用

35、網(wǎng)關(guān)接口)和許多其他類(lèi)似 CGI 的技術(shù)相比,Java Servlet 有許多優(yōu)點(diǎn)。Servlet 具有很高的效率;更容易使用;功能更強(qiáng)大;具有更好的可移植性。Java 本科生畢業(yè)論文(設(shè)計(jì))11Servlet 是 JSP 技術(shù)的基礎(chǔ),大型的 Web 應(yīng)用程序的開(kāi)發(fā)需要 Java Servlet 和 JSP 配合才能完成。在系統(tǒng)實(shí)現(xiàn)中,和單獨(dú)使用 servler 相比,JSP 與 Servlet 的配合更為有效。一方面,JSP 中 HTML 的編寫(xiě)與維護(hù)更為簡(jiǎn)單。JSP 中可以使用常規(guī)的 HTML,沒(méi)有額外的反斜杠,沒(méi)有額外的雙引號(hào),也沒(méi)有暗含的 Java 語(yǔ)法。另一方面,它們的結(jié)合使得我們能

36、夠使用標(biāo)準(zhǔn)的網(wǎng)站開(kāi)發(fā)工具。即使對(duì)那些對(duì) JSP 一無(wú)所知的 HTML 工具,我們也可以使用,因?yàn)樗鼈儠?huì)忽略 JSP tags。相關(guān)文獻(xiàn)顯示,JavaBean+Servlet 架構(gòu)在博客系統(tǒng)實(shí)現(xiàn)中有很大的好處。JavaBean 是描述 Java 的軟件組件模型,JavaBean 就是一個(gè) Java 類(lèi),是一種 Java 語(yǔ)言寫(xiě)成的可重用軟件組件,它在內(nèi)部有接口或有與其相關(guān)的屬性,以便不同人在不同時(shí)間開(kāi)發(fā)的 bean 可以詢問(wèn)和集成。非可視化的 JavaBean 與 JSP 結(jié)合起來(lái)使用,在 JSP 程序中常用 JavaBean 來(lái)封裝事務(wù)邏輯(功能實(shí)現(xiàn)部分)如數(shù)據(jù)運(yùn)算、數(shù)據(jù)處理、數(shù)據(jù)庫(kù)操作等,然

37、后在 JSP 網(wǎng)頁(yè)中調(diào)用,而 JSP 文本著重的是網(wǎng)頁(yè)界面設(shè)計(jì),實(shí)現(xiàn)了業(yè)務(wù)邏輯和前臺(tái)顯示部分的分離,這樣不僅使 JSP 網(wǎng)頁(yè)變得清晰,而且可以節(jié)省軟件開(kāi)發(fā)時(shí)間和降低以后維護(hù)的難度,使系統(tǒng)變得健壯和靈活。JavaBean 遵從一定的設(shè)計(jì)模式,使它們易于和其他開(kāi)發(fā)工具和組件一起使用,它是一種 JAVA 語(yǔ)言寫(xiě)成的可重用組件。要編寫(xiě) JavaBean,類(lèi)必須是具體類(lèi)和公共類(lèi),并且具有無(wú)參數(shù)的構(gòu)造器(NON-ARGS CONSTRUCTOR) 。JavaBean 通過(guò)提供符合一致性設(shè)計(jì)模式的公共訪問(wèn)方法將內(nèi)部字段暴露稱(chēng)為屬性。眾所周知,屬性名稱(chēng)也符合這種模式,其他 JAVA 類(lèi)可以通過(guò)自省機(jī)制發(fā)現(xiàn)和操

38、作這些 JavaBean 屬性。用戶可以使用 JavaBean 將功能、處理、值、數(shù)據(jù)庫(kù)訪問(wèn)和其他任何可以用 java 代碼創(chuàng)造的對(duì)象進(jìn)行打包,并且其他的開(kāi)發(fā)者可以通過(guò)內(nèi)部的 JSP 頁(yè)面、Servlet、其他JavaBean、applet 程序或者應(yīng)用來(lái)使用這些對(duì)象。用戶可以認(rèn)為 JavaBean 提供了一種隨時(shí)隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變。采用 JavaBean+Servlet 結(jié)構(gòu)來(lái)進(jìn)行開(kāi)發(fā)設(shè)計(jì)可以靈活處理網(wǎng)頁(yè)中的數(shù)據(jù)交換,能夠很好的體現(xiàn) MVC 的設(shè)計(jì)思想,將表示層、業(yè)務(wù)層和數(shù)據(jù)層分離,并且通過(guò) Servlet 來(lái)控制頁(yè)面的流向,使得整個(gè)系統(tǒng)設(shè)計(jì)思路比較清晰。2.2.4

39、MySQL博客系統(tǒng)使用的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)管理系統(tǒng)是 MySQL。MySQL,是一個(gè)快速、多線程、多用戶和強(qiáng)壯的 SQL 數(shù)據(jù)庫(kù)服務(wù)器。SQL 是世界上最流本科生畢業(yè)論文(設(shè)計(jì))12行的標(biāo)準(zhǔn)化的數(shù)據(jù)庫(kù)語(yǔ)言。MySQL 是具有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫(kù)管理系統(tǒng),是完全網(wǎng)絡(luò)化的跨平臺(tái)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),是目前運(yùn)行速度較快的 SQL 語(yǔ)言數(shù)據(jù)庫(kù)。MySQL功能強(qiáng),使用簡(jiǎn)便,管理方便,運(yùn)行速度快,安全可靠性強(qiáng)。由于 MySQL 是命令行形式的,為了提高開(kāi)發(fā)效率,可以選擇了 Navicat MySQL 輔助管理數(shù)據(jù)庫(kù)。Navicat 是一個(gè)強(qiáng)大的MySQL 數(shù)據(jù)庫(kù)服務(wù)器管理和開(kāi)發(fā)工具。它可以與任何 3.

40、21 或以上版本的 MySQL 一起工作,并支持大部分的 MySQL 最新功能,包括觸發(fā)器、存儲(chǔ)過(guò)程、函數(shù)、事件、視圖、管理用戶,等等。它不僅對(duì)專(zhuān)業(yè)開(kāi)發(fā)人員來(lái)說(shuō)是非常尖端的技術(shù),而且對(duì)于新手來(lái)說(shuō)也易學(xué)易用。由于 MySQL 是命令行形式的,為了提高開(kāi)發(fā)效率,在本系統(tǒng)設(shè)計(jì)中還選擇了 Navicat MySQL 輔助管理數(shù)據(jù)庫(kù)。Navicat 是一個(gè)強(qiáng)大的 MySQL 數(shù)據(jù)庫(kù)服務(wù)器管理和開(kāi)發(fā)工具。它可以與任何 3.21 或以上版本的 MySQL 一起工作,并支持大部分的 MySQL 最新功能,包括觸發(fā)器、存儲(chǔ)過(guò)程、函數(shù)、事件、視圖、管理用戶,等等。它不僅對(duì)專(zhuān)業(yè)開(kāi)發(fā)人員來(lái)說(shuō)是非常尖端的技術(shù),而且對(duì)于

41、新手來(lái)說(shuō)也易學(xué)易用。其精心設(shè)計(jì)的圖形用戶界面(GUI) ,Navicat MySQL 可以讓用戶用一種安全簡(jiǎn)便的方式快速并容易地創(chuàng)建,組織,訪問(wèn)和共享信息。此外,本博客系統(tǒng)中與數(shù)據(jù)庫(kù)有大量的交互操作,為進(jìn)一步提高數(shù)據(jù)庫(kù)操作效率,畢業(yè)系統(tǒng)中使用了 Dbutils 操作數(shù)據(jù)庫(kù)的組件,對(duì)傳統(tǒng)操作數(shù)據(jù)庫(kù)的類(lèi)進(jìn)行二次封裝,可以把結(jié)果集轉(zhuǎn)化成 List。 Dbutils 的使用大量減少了代碼開(kāi)發(fā)量。本科生畢業(yè)論文(設(shè)計(jì))133 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)應(yīng)用程序的核心。數(shù)據(jù)庫(kù)設(shè)計(jì)是建立一個(gè)應(yīng)用程序最重要的步驟之一。數(shù)據(jù)庫(kù)設(shè)計(jì)一般要在需求分析和數(shù)據(jù)分析的基礎(chǔ)上進(jìn)行概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。3.1 概念設(shè)計(jì)

42、系統(tǒng)中的實(shí)體類(lèi)型有:博主、訪客、文章、照片等,這些實(shí)體之間的相互關(guān)系有:博主與文章之間存在“發(fā)表”聯(lián)系,是一對(duì)多關(guān)系;博主與評(píng)論信息表之間存在“回復(fù)”聯(lián)系,是一對(duì)多關(guān)系;博主與留言板存在“回復(fù)”聯(lián)系,是一對(duì)多關(guān)系;訪客與文章之間存在“瀏覽”聯(lián)系,是多對(duì)多關(guān)系;訪客與評(píng)論信息表之間存在“評(píng)論”聯(lián)系,是多對(duì)多關(guān)系;訪客與留言板存在“留言”聯(lián)系,是多對(duì)多關(guān)系。每個(gè)實(shí)體的屬性分別是:博主(姓名,性別,年齡,學(xué)歷,其他信息) ;訪客(訪客 ID,其他信息) ;文章(文章編號(hào),文章題目,文章正文,發(fā)表時(shí)間) ;留言板(留言編號(hào),留言內(nèi)容,訪客名稱(chēng)) ;評(píng)論信息表(評(píng)論類(lèi)型,評(píng)論編號(hào),評(píng)論信息,訪客名稱(chēng),評(píng)

43、論時(shí)間);畫(huà)出個(gè)人博客系統(tǒng)的 ER 圖如圖 4-1 所示。主 主主 主主 主 主 主 主主 主 主 主主 主主 主主 主主 主主 主nn1nnnnnn1圖 3-1 個(gè)人博客管理 E-R 圖本科生畢業(yè)論文(設(shè)計(jì))143.2 邏輯設(shè)計(jì)依據(jù) DBMS 的特征,把概念結(jié)構(gòu)轉(zhuǎn)換為相應(yīng)的邏輯結(jié)構(gòu),這就是邏輯設(shè)計(jì)的任務(wù)。概念設(shè)計(jì)中設(shè)計(jì)的 ER 模型獨(dú)立于 DBMS,這里的轉(zhuǎn)換就是把表示概念結(jié)構(gòu)的 ER 圖轉(zhuǎn)換成關(guān)系模型的邏輯結(jié)構(gòu)。將上圖轉(zhuǎn)換為規(guī)范的關(guān)系模式為:文章信息表(文章編號(hào),文章題目,文章正文,發(fā)表時(shí)間)留言信息表(留言編號(hào),留言內(nèi)容,訪客名稱(chēng))博主信息表(博主 ID,昵稱(chēng),性別,年齡,其他信息)文章

44、類(lèi)別表(文章類(lèi)別編號(hào),文章類(lèi)別名稱(chēng))評(píng)論信息表(評(píng)論類(lèi)型,評(píng)論編號(hào),評(píng)論信息,訪客名稱(chēng),評(píng)論時(shí)間)3.3 物理設(shè)計(jì)在系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)中,由對(duì)具體 DBMS 特征的分析來(lái)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)(也稱(chēng)為存儲(chǔ)結(jié)構(gòu)) ,這就是物理設(shè)計(jì)的目的是。關(guān)系數(shù)據(jù)庫(kù)的物理設(shè)計(jì)任務(wù)有兩個(gè),一是確定所有數(shù)據(jù)庫(kù)文件的名稱(chēng)、數(shù)據(jù)庫(kù)所含字段的名稱(chēng)、類(lèi)型與寬度;二是確定各數(shù)據(jù)庫(kù)文件需要建立什么索引,在什么字段上建立索引等。根據(jù)系統(tǒng)功能設(shè)計(jì)要求和模塊劃分,本站的數(shù)據(jù)庫(kù)主要包括文章信息、文章類(lèi)別、照片信息、文章評(píng)論信息、留言信息。數(shù)據(jù)表結(jié)構(gòu)圖如下:表 1 tb_article 表表 2 tb_articleType 表本科生畢業(yè)論

45、文(設(shè)計(jì))15表 3 tb_master 表表 4 tb_review 表表 5 tb_word 表本科生畢業(yè)論文(設(shè)計(jì))164 系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)總體結(jié)構(gòu)圖繪制系統(tǒng)結(jié)構(gòu)圖的過(guò)程,實(shí)際上就是對(duì)系統(tǒng)功能模塊進(jìn)行分解設(shè)計(jì)的過(guò)程,即合理地將數(shù)據(jù)流程圖轉(zhuǎn)變?yōu)樗枰南到y(tǒng)結(jié)構(gòu)圖。系統(tǒng)結(jié)構(gòu)圖將會(huì)使讀者和用戶能直觀的了解系統(tǒng)的結(jié)構(gòu)模式,理解系統(tǒng)的各個(gè)功能的結(jié)構(gòu),能很好地方便用戶使用和理解整個(gè)系統(tǒng)。個(gè)人博客系統(tǒng)結(jié)構(gòu)圖如圖 4-1 所示: 圖 4-1 博客網(wǎng)站功能結(jié)構(gòu)圖4.2 系統(tǒng)功能模塊設(shè)計(jì)根據(jù)需求分析的結(jié)果,個(gè)人博客系統(tǒng)功能模塊主要分為前臺(tái)用戶操作子模塊(訪客訪問(wèn)博客系統(tǒng))和后臺(tái)博主操作子模塊。(1)前臺(tái)

46、用戶操作子模塊前臺(tái)用戶操作子模塊所要實(shí)現(xiàn)的功能主要是博客系統(tǒng)的訪客訪問(wèn)系統(tǒng)從而訪問(wèn)博客、瀏覽博文、查看評(píng)論、評(píng)論博客文章、分享博文等操作。(2)后臺(tái)博主操作子模塊系統(tǒng)的后臺(tái)博主操作模塊主要實(shí)現(xiàn)博主登陸與管理功能。 博主登陸。博主輸入正確的用戶名與密碼后便可對(duì)系統(tǒng)進(jìn)行正常瀏覽與管理。 文章管理。主要實(shí)現(xiàn)發(fā)表博文、修改博文、刪除博文等功能。 文章類(lèi)別管理。博主可以對(duì)博客文章進(jìn)行分類(lèi),也可以增加、刪除文章類(lèi)別或修改文章類(lèi)別名稱(chēng)。評(píng)論管理。對(duì)于訪客評(píng)論,博主瀏覽過(guò)后可以對(duì)其進(jìn)行回復(fù)、刪除操作。前臺(tái)功能后臺(tái)功能博客功能訪問(wèn)博客瀏覽博文發(fā)表評(píng)論發(fā)表博文分類(lèi)管理系統(tǒng)管理博文管理評(píng)論管理分享博文本科生畢業(yè)論文

47、(設(shè)計(jì))174.3 系統(tǒng)主界面設(shè)計(jì)主界面是一個(gè)系統(tǒng)的門(mén)面,如同公司的形象,特別注重設(shè)計(jì)和規(guī)劃。為此,系統(tǒng)設(shè)計(jì)過(guò)程中從以下幾個(gè)方面對(duì)主界面進(jìn)行了設(shè)計(jì)考慮:(1)在色彩搭配上,系統(tǒng)選擇了較明快的色彩為基調(diào),前臺(tái)以紅色為主,后臺(tái)以藍(lán)色為主,力求簡(jiǎn)潔明了。(2)在字體選用上,大小適當(dāng),盡量使用常用字體,適當(dāng)配用藝術(shù)字。(3)在網(wǎng)頁(yè)制作上,采用框架式結(jié)構(gòu),在框架中嵌入子頁(yè),將大表化小,圖片壓縮,盡量減少頁(yè)面響應(yīng)時(shí)間。(4)在用戶操作上,簡(jiǎn)化用戶操作,刪去那些空洞的環(huán)節(jié)。本科生畢業(yè)論文(設(shè)計(jì))185 系統(tǒng)實(shí)現(xiàn)5.1 系統(tǒng)前臺(tái)主頁(yè)的實(shí)現(xiàn)系統(tǒng)前臺(tái)的主頁(yè)通過(guò)使用 styles.css 進(jìn)行美化和實(shí)現(xiàn),并在各個(gè)信

48、息顯示區(qū)調(diào)用Servlet 的過(guò)程或獲取 JavaBean 的值來(lái)完成最終頁(yè)面的生成。前臺(tái)主頁(yè)的布局與前臺(tái)主頁(yè)分別如圖 5-1,圖 5-2 所示:頁(yè)頭內(nèi)容顯示區(qū)側(cè)欄圖 5-1 前臺(tái)的布局設(shè)計(jì)圖 5-2 前臺(tái)主頁(yè)本科生畢業(yè)論文(設(shè)計(jì))195.2 文章顯示模塊的實(shí)現(xiàn)在博客系統(tǒng)中,文章顯示模塊,主要功能是用戶查看文章的詳細(xì)內(nèi)容,文章顯示功能需要顯示的信息包括文章標(biāo)題、發(fā)表時(shí)間、所屬分類(lèi)、來(lái)源、評(píng)論等。文章的顯示需要先到 GetBlogServlet 中讀取文章內(nèi)容及評(píng)論,然后完成最終的顯示。如圖 5-3 所示:圖 5-3 文章顯示模塊圖5.3 系統(tǒng)后臺(tái)主頁(yè)的實(shí)現(xiàn)在系統(tǒng)的后臺(tái)中,博主可以進(jìn)行發(fā)博文、博

49、文管理、分類(lèi)管理、評(píng)論管理、添加分類(lèi)等操作,每一個(gè)操作用一個(gè) jsp 頁(yè)面來(lái)執(zhí)行。由于使用了 css 代碼,為了降低代碼冗余,系統(tǒng)專(zhuān)門(mén)寫(xiě)了一個(gè) header.jsp 和 footer.jsp 來(lái)提供公用的一部分代碼,然后在各個(gè) jsp頁(yè)面中 include 進(jìn)來(lái)。系統(tǒng)后臺(tái)布局如圖 5-4 所示。本科生畢業(yè)論文(設(shè)計(jì))20導(dǎo)航內(nèi)容顯示區(qū)圖 5-4 后臺(tái)的布局設(shè)計(jì)進(jìn)入后臺(tái)之前需要先進(jìn)行身份驗(yàn)證,如圖 5-5 所示。圖 5-5 后臺(tái)的身份驗(yàn)證輸入用戶名及密碼如 admin : admin 然后點(diǎn)擊“登錄”按鈕,登錄成功后即可見(jiàn)到后臺(tái)的界面,如圖 5-6 所示。圖 5-6 后臺(tái)界面效果圖最終的文章發(fā)表

50、界面如圖 5-7 所示本科生畢業(yè)論文(設(shè)計(jì))21圖 5-7 文章發(fā)表界面5.4 發(fā)表文章模塊的實(shí)現(xiàn)一個(gè)完善的博客系統(tǒng)應(yīng)該提供一個(gè)功能強(qiáng)大的編輯器來(lái)實(shí)現(xiàn)文章的編輯和發(fā)表。因此,系統(tǒng)在博客中添加了強(qiáng)大的 HTML 編輯器CKEditor 來(lái)輔助完成文章編輯。使用CKEditor 之前先得對(duì)其進(jìn)行一些配置,包括添加中文字體、工具欄定制等。經(jīng)過(guò)摸索,本人編寫(xiě)了一個(gè)配置方案。詳細(xì)代碼見(jiàn) 5.5 系統(tǒng)詳細(xì)代碼。5.5 系統(tǒng)詳細(xì)代碼5.5.1 前臺(tái)主頁(yè)實(shí)現(xiàn)代碼本科生畢業(yè)論文(設(shè)計(jì))22X部落格 X部落格%List list = (List) request.getAttribute(blo

51、gs);for (int i = 0; i 本科生畢業(yè)論文(設(shè)計(jì))23ahref=http:/localhost:8080/Blog/servlet/HomeServlet?method=get&id=target=_blank= 200)newString = source.substring(0, 200) + .;elsenewString = source;out.print(newString);%a href=/Blog/servlet/HomeServlet?cid=進(jìn)入后臺(tái)管理分類(lèi)本科生畢業(yè)論文(設(shè)計(jì))24全部%List categories = (List) requ

52、est.getAttribute(categories);for (int i = 0; i ahref=/Blog/servlet/HomeServlet?cid=最近的主題%List lastest = (List) request.getAttribute(lastest);for (int i = 0; i a href=HomeServlet?method=get&id=target=_blank最近的評(píng)論本科生畢業(yè)論文(設(shè)計(jì))25%List comments = (List) request.getAttribute(comments);for (int i = 0; i

53、ahref=/Blog/servlet/HomeServlet?method=get&id=target=_blank 5.5.2 文章顯示模塊主要代碼 類(lèi)別:a href=/Blog/servlet/HomeServlet?cid= | 來(lái)源:評(píng)論%for (int i = 0; i 本科生畢業(yè)論文(設(shè)計(jì))27發(fā)表評(píng)論input type=hidden name=blog_id value= /名字:內(nèi)容:本科生畢業(yè)論文(設(shè)計(jì))285.5.3 后臺(tái)主頁(yè)實(shí)現(xiàn)代碼header.jsp 代碼如下: X部落格歡迎, admin用戶 |發(fā)博

54、文|博文管理|分類(lèi)管理|評(píng)論管理 |添加分類(lèi) |退出footer.jsp 代碼如下:本科生畢業(yè)論文(設(shè)計(jì))295.5.4 發(fā)表文章模塊主要代碼CKEDITOR.editorConfig = function( config )config.autoLanguage = false;config.defaultLanguage = zh_cn;config.font_names = 宋體;楷體;黑體;隸書(shū);Arial;Times New Roman;Verdana;config.height = 400;config.width = 700;config.font_defaultLabel =

55、宋體;config.fontSize_defaultLabel = 12px;config.entities = false;config.fullPage = false;config.fontSize_sizes = 12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72pxconfig.toolbar = Bold, Italic, Underline, Strike, -, Subscript,Superscript , NumberedList, Bul

56、letedList, -, Outdent, Indent,Blockquote , JustifyLeft, JustifyCenter, JustifyRight, JustifyBlock , Link, Unlink, Anchor , Table, HorizontalRule, Smiley,SpecialChar, PageBreak , /, Styles, Format, Font, FontSize , TextColor, BGColor , Maximize, ShowBlocks, -, Source, -, Undo, Redo ;本科生畢業(yè)論文(設(shè)計(jì))306 總結(jié)

57、 個(gè)人博客系統(tǒng)是對(duì)現(xiàn)在比較流行的博客網(wǎng)站進(jìn)行詳細(xì)調(diào)研后,確定了系統(tǒng)涉及的領(lǐng)域,包括數(shù)據(jù)庫(kù)設(shè)計(jì)、界面設(shè)計(jì)等,是一個(gè)具有實(shí)際應(yīng)用意義的系統(tǒng)。本系統(tǒng)已實(shí)現(xiàn)功能如下:(1)前臺(tái)用戶操作子模塊所要實(shí)現(xiàn)的功能主要是博客系統(tǒng)的訪客訪問(wèn)系統(tǒng)從而訪問(wèn)博客、瀏覽博文、查看評(píng)論、評(píng)論博客文章、分享博文等操作。(2)后臺(tái)博主操作子模塊,系統(tǒng)的后臺(tái)博主操作模塊主要實(shí)現(xiàn)博主登陸與管理功能。包括博主登陸、文章管理、文章類(lèi)別管理、 評(píng)論管理等功能。經(jīng)過(guò)對(duì)主流博客系統(tǒng)開(kāi)發(fā)技術(shù)的分析與比較,系統(tǒng)最終采用 JSP 技術(shù)完成個(gè)人博客系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),搭建“My Eclipse + Dreamweaver”開(kāi)發(fā)平臺(tái)和“JavaBean

58、s + Servlet”的開(kāi)發(fā)技術(shù)結(jié)構(gòu),使用“MySQL+Navicat”數(shù)據(jù)庫(kù)工具,并應(yīng)用 CSS 腳本進(jìn)行系統(tǒng)美化,采用 CKEditor 進(jìn)行博客系統(tǒng)的文章編輯。課題系統(tǒng)相對(duì)原有博客實(shí)例的創(chuàng)新之處主要體現(xiàn)在一下幾個(gè)方面:(1)采用 Dbutils 類(lèi)包來(lái)封裝 SQL 操作,降低代碼冗余;(2)使用 CSS 來(lái)進(jìn)行布局設(shè)計(jì),而不是直接建立 Frame,使得頁(yè)面的布局更加靈活;(3)使用 CKEditor 來(lái)完成文章的編輯發(fā)布;(4)文章列表中,使用圖片和來(lái)區(qū)分原創(chuàng)和轉(zhuǎn)載;(5)文章內(nèi)容當(dāng)中,嵌入了分享代碼,訪客可以很方便的將喜歡的博文轉(zhuǎn)載到人人網(wǎng)、開(kāi)心網(wǎng)、QQ 空間等各個(gè)地方;(6)實(shí)現(xiàn)文章管理模塊和評(píng)論管理模塊的自動(dòng)分頁(yè)功能,避免因?yàn)槲恼潞驮u(píng)論的數(shù)目過(guò)多而造成的管理不便。由于時(shí)間關(guān)系,系統(tǒng)在實(shí)施中有諸多考慮不足的地方。在往后拓展完善階段,個(gè)人博客系統(tǒng)還可以針對(duì)以下幾個(gè)方

溫馨提示

  • 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)論