博客系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)_第1頁(yè)
博客系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)_第2頁(yè)
博客系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)_第3頁(yè)
博客系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)_第4頁(yè)
博客系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(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)介

目錄前言 21項(xiàng)目研究的意義………………………31.2系統(tǒng)的設(shè)計(jì)思路………………………3系統(tǒng)分析……………………31系統(tǒng)的可行性分析……………………3系統(tǒng)的需求分析………………………4系統(tǒng)的業(yè)務(wù)流程分析…………………4系統(tǒng)的功能結(jié)構(gòu)分析…………………5系統(tǒng)設(shè)計(jì) 6關(guān)系型數(shù)據(jù)庫(kù)技術(shù)……………………6概念設(shè)計(jì)………………7邏輯設(shè)計(jì)………………81關(guān)系模式……………8TOC\o"1-5"\h\z2數(shù)據(jù)庫(kù)表邏輯結(jié)構(gòu)設(shè)計(jì) 83數(shù)據(jù)庫(kù)基本表的建立 104數(shù)據(jù)庫(kù)結(jié)構(gòu)優(yōu)化——關(guān)系規(guī)范化………………114?系統(tǒng)實(shí)施環(huán)境 11系統(tǒng)的開發(fā)環(huán)境………………………11技術(shù)平臺(tái)JAVASE 11應(yīng)用Sqlserver2000數(shù)據(jù)庫(kù) 11操作和配置Tomcat6.0服務(wù)器 114.1.4安裝Eclipse集成開發(fā)環(huán)境 124.1.5應(yīng)用MVC開發(fā)模式 12\o"CurrentDocument"運(yùn)行界面展示 12課程設(shè)計(jì)總結(jié) 14\o"CurrentDocument"7?附錄部分主要代碼 16前言隨著網(wǎng)絡(luò)信息化的飛速發(fā)展,人們的生活學(xué)習(xí)已經(jīng)離不開網(wǎng)絡(luò)。當(dāng)現(xiàn)代社會(huì)逐漸變?yōu)榫哂懈叨鹊南嗷ヒ蕾嚨木薮缶W(wǎng)絡(luò)時(shí),我們所生活的世界無(wú)法不變成一個(gè)被計(jì)算機(jī)網(wǎng)絡(luò)緊密聯(lián)結(jié)起來(lái)的世界。博客(Blog)的全名應(yīng)該是Weblog,中文意思是“網(wǎng)絡(luò)日志”而博客(Blogger)就是寫B(tài)log的人。從理解上講,博客是“一種表達(dá)個(gè)人思想、網(wǎng)絡(luò)連接、內(nèi)容,按照時(shí)間順序排列,并且不斷更新的出版方式。”Blog是繼Email、BBS、IM之后出現(xiàn)的第四種全新的網(wǎng)絡(luò)交流方式。你可以利用Blog輕松地表達(dá)自己的想法,發(fā)布自己的心得,大到你對(duì)時(shí)事新聞、國(guó)家大事的個(gè)人看法,小到你對(duì)一日三餐、服飾打扮的精心料理。網(wǎng)絡(luò)社會(huì)化最大的特征就是個(gè)人成為互聯(lián)網(wǎng)的主體和主人。具體地說(shuō),未來(lái)每一個(gè)人,除了在現(xiàn)實(shí)生活中的自己外,在網(wǎng)絡(luò)上也有一個(gè)自己的代表,在網(wǎng)絡(luò)上能夠體現(xiàn)你的個(gè)性、你的思想、你的各種信息,同時(shí)他人也可以隨時(shí)與網(wǎng)絡(luò)上的你溝通交流。每一個(gè)人成為互聯(lián)網(wǎng)的一個(gè)“節(jié)點(diǎn)”。因此,網(wǎng)絡(luò)社會(huì)化的核心就是個(gè)人網(wǎng)絡(luò)化。那么,如何才能實(shí)現(xiàn)個(gè)人網(wǎng)絡(luò)化?博客(blog)的興起開始昭示了發(fā)展方向。博客的根本意義在于,它是互聯(lián)網(wǎng)上賦予個(gè)人以力量的工具。博客讓每個(gè)個(gè)人都可以成為互聯(lián)網(wǎng)中自主的主體,表達(dá)自己并且與網(wǎng)絡(luò)世界建立全面的交流溝通。因此,未來(lái)的博客將是集成各種網(wǎng)絡(luò)應(yīng)用的中心:包括電子郵件、即時(shí)短訊等,而且還可以通過(guò)各種終端無(wú)所不在地進(jìn)行博客。個(gè)人博客就是個(gè)人在網(wǎng)上的全面形象的代表,是以個(gè)人為基礎(chǔ)的互聯(lián)網(wǎng)各項(xiàng)應(yīng)用的“樞紐”。簡(jiǎn)言之,博客就是以網(wǎng)絡(luò)作為載體,簡(jiǎn)易迅速便捷地發(fā)布個(gè)人心得,及時(shí)有效輕松地與他人進(jìn)行交流,再集豐富多彩的個(gè)性化展示于一體的綜合型平臺(tái)。項(xiàng)目研究的意義隨著Tnternet的廣發(fā)應(yīng)用,動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)也應(yīng)運(yùn)而生。個(gè)人要跟上時(shí)代的發(fā)展,也必須擁有自己的個(gè)人網(wǎng)站。博客系統(tǒng)主要為用戶提供發(fā)表文章、瀏覽文章等功能,用戶通過(guò)Internet可以發(fā)表一些自己撰寫的文章以和其他網(wǎng)友進(jìn)行交流。博客系統(tǒng)主要實(shí)現(xiàn)了文章管理的數(shù)字化、信息化、智能化,是打破傳統(tǒng)報(bào)刊、雜志發(fā)表文章方式的新嘗試。本文對(duì)博客系統(tǒng)進(jìn)行整體分析,明確了系統(tǒng)的可行性和用戶需求;根據(jù)模塊化原理,規(guī)劃設(shè)計(jì)了系統(tǒng)功能模塊;該系統(tǒng)的主要功能實(shí)現(xiàn)了對(duì)博客的增、刪、改、查的管理,具體介紹了博文的發(fā)表和管理、博文類別和類別的管理、博文評(píng)論和評(píng)論管理、用戶登錄和注冊(cè)管理等模塊。個(gè)人博客是博客的一種。自主建立網(wǎng)站的博客,可以記錄個(gè)人生活的點(diǎn)滴,傳達(dá)個(gè)人自由的思想,抒發(fā)分享個(gè)人情緒,分享交流知識(shí)技術(shù)以及交友等多方面的需求。1.2系統(tǒng)的設(shè)計(jì)思路現(xiàn)有的一些網(wǎng)上測(cè)試軟件存在不少弊端,如結(jié)構(gòu)設(shè)計(jì)不合理,功能簡(jiǎn)單羅列,缺乏對(duì)學(xué)習(xí)活動(dòng)和教學(xué)管理的有效支持等。像現(xiàn)在不少網(wǎng)站所提供的測(cè)試系統(tǒng)必須先要進(jìn)行客戶端的下載和安裝,另外,結(jié)構(gòu)設(shè)計(jì)也較為簡(jiǎn)單。為了充分發(fā)揮網(wǎng)絡(luò)的優(yōu)勢(shì),本系統(tǒng)的設(shè)計(jì),一方面強(qiáng)調(diào)用戶之間的交流,另一方面?zhèn)€人對(duì)博客的管理。博主通過(guò)博文的管理與其他用戶進(jìn)行交流?;谏鲜隹紤],用MVC模式來(lái)設(shè)計(jì)個(gè)人博客管理系統(tǒng)比較合適,服務(wù)器端我們采用SQLServer數(shù)據(jù)庫(kù)系統(tǒng)和JAVA組件來(lái)構(gòu)成博客管理系統(tǒng)。系統(tǒng)分析系統(tǒng)的可行性分析計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展和我國(guó)網(wǎng)絡(luò)設(shè)施的不斷完善,為建立網(wǎng)上測(cè)試系統(tǒng)提供了很好的基礎(chǔ)。個(gè)人博客系統(tǒng)的開發(fā)基于MVC模式,主要包括前端應(yīng)用程序的開發(fā)以及后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)兩個(gè)方面。對(duì)于前者要求應(yīng)具備功能完備、易于使用等特點(diǎn),而對(duì)于后者則要求能建立數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)?;谝陨弦?,本系統(tǒng)擬采用java和SQLserver2000分別作為前端和后端的開發(fā)工具。(1)經(jīng)濟(jì)方面:本系統(tǒng)對(duì)系統(tǒng)開發(fā)者來(lái)說(shuō)并不需要太高的成本支出,而且開發(fā)周期不需要太長(zhǎng),節(jié)省了人力、物力、財(cái)力資源,所以本系統(tǒng)在經(jīng)濟(jì)上是可行的。技術(shù)方面:在軟件方面,本系統(tǒng)前臺(tái)網(wǎng)頁(yè)設(shè)計(jì)使用的是DreamweaverMX,而數(shù)據(jù)庫(kù)系統(tǒng)是SQL2000。SQLServer2000是目前比較流行的數(shù)據(jù)庫(kù)管理系統(tǒng),其版本的客戶端軟件可以在MicrosoftWindowsNT、MicrosoftWindows2000和MicrosoftWindowXP等操作系統(tǒng)上運(yùn)行,所以其具有很強(qiáng)的可伸縮性,具有很高的可靠性、可用性以及安全性。通過(guò)分析,在軟硬件方面現(xiàn)有工具與環(huán)境完全可以實(shí)現(xiàn)系統(tǒng)的開發(fā),因此具有技術(shù)上的可行性。管理方面:系統(tǒng)的開發(fā)主要是為了方便個(gè)人信息的管理,補(bǔ)充現(xiàn)在傳統(tǒng)管理方式的不足,因此具備了管理上的可行性。操作方面:該個(gè)人博客具備良好的用戶界面,使用方便,易于維護(hù),操作簡(jiǎn)單易于被用戶接受,用戶只需熟練操作計(jì)算機(jī),并對(duì)此系統(tǒng)的使用做簡(jiǎn)單的了解,即可方便使用,而且使用此系統(tǒng)可以大大減少管理人員的負(fù)擔(dān)。因此,從操作方面來(lái)看,此系統(tǒng)的開發(fā)是可行的。綜上所述,本系統(tǒng)開發(fā)目標(biāo)已經(jīng)明確,在技術(shù)和經(jīng)濟(jì)等方面具備可行性,并且投入少、見效快,因此系統(tǒng)的開發(fā)是完全可行的。經(jīng)過(guò)以上的一系列分析,本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)都是可行的。系統(tǒng)的需求分析我們需要設(shè)計(jì)和完成這樣的一個(gè)個(gè)人博客管理系統(tǒng):博主通過(guò)注冊(cè)輸入密碼或者對(duì)密碼進(jìn)行修改后進(jìn)入個(gè)人博客;能夠?yàn)椴┲麟S時(shí)隨地的在網(wǎng)上更新文章和管理博文;能夠在任何時(shí)間接受其他人對(duì)博文的評(píng)論;能夠?qū)Σ┪倪M(jìn)行分類管理以及添加新的分類:簡(jiǎn)而言之,它必須使整個(gè)博客管理系統(tǒng)變得更為簡(jiǎn)單、安全、科學(xué)、合理和高效。系統(tǒng)目標(biāo)是給用戶提供一個(gè)交流和溝通的平臺(tái)。系統(tǒng)的業(yè)務(wù)流程分析業(yè)務(wù)流程分析是在對(duì)系統(tǒng)的組織結(jié)構(gòu)和功能進(jìn)行分析時(shí),需從一個(gè)實(shí)際業(yè)務(wù)流程的角度將系統(tǒng)調(diào)查中有關(guān)該業(yè)務(wù)流程的資料都串起來(lái)作進(jìn)一步的分析。業(yè)務(wù)流程分析可以幫助我們了解該業(yè)務(wù)的具體處理過(guò)程,發(fā)現(xiàn)和處理系統(tǒng)調(diào)查工作中的錯(cuò)誤和疏漏,從而優(yōu)化業(yè)務(wù)處理流程。

業(yè)務(wù)流程圖表示業(yè)務(wù)的流向,它是從業(yè)務(wù)入手,從與系統(tǒng)運(yùn)行直接有關(guān)的機(jī)構(gòu)開始進(jìn)行業(yè)務(wù)調(diào)查而形成的。它是數(shù)據(jù)流程圖進(jìn)行數(shù)據(jù)抽象的前提。本系統(tǒng)的業(yè)務(wù)流程如圖:圖2.1系統(tǒng)業(yè)務(wù)流程圖系統(tǒng)的功能結(jié)構(gòu)分析根據(jù)博客的特點(diǎn),將個(gè)人博客管理系統(tǒng)分為兩大部分,即前臺(tái)博客頁(yè)面、后臺(tái)博客管理部分,前臺(tái)頁(yè)面包括對(duì)博文內(nèi)容的瀏覽和評(píng)論;后臺(tái)管理部分包括發(fā)表博文、對(duì)博文的修改和刪除、對(duì)博文分類的增添和刪除、對(duì)評(píng)論的修改和刪除以及修改密碼等操作。一般用戶只需在客戶端通過(guò)瀏覽器進(jìn)行操作,能完成其模塊提供的各種功能,后臺(tái)由博主進(jìn)行系統(tǒng)登錄后進(jìn)入后臺(tái)進(jìn)行對(duì)博文以及評(píng)論的管理。系統(tǒng)的功能結(jié)構(gòu)圖2-2所示:

t瀏覽博文發(fā)表評(píng)論修改博文rir加t瀏覽博文發(fā)表評(píng)論修改博文rir加類井類管理卄VVU1刪井類圖2.2系統(tǒng)功能圖 「刪除博文博丈.菅理——^—^1用戶登錄功能由網(wǎng)上測(cè)試系統(tǒng)的主界面提供。博主通過(guò)使用用戶名登錄,密碼正確后進(jìn)入網(wǎng)站中的博客后臺(tái)管理主界面;普通用戶通過(guò)網(wǎng)站進(jìn)入網(wǎng)站到的博客前臺(tái)頁(yè)面。(1)前臺(tái)管理。該部分的功能主要是提供其他用戶瀏覽博主的文章并進(jìn)行評(píng)論。(2)后臺(tái)管理。該部分是系統(tǒng)的核心,主要包括博文管理、發(fā)博文、分類管理、添加分類、評(píng)論管理以及修改密碼。博文管理是指博主對(duì)個(gè)人的博文進(jìn)行刪除和修改操作,發(fā)博文是通過(guò)固定的文章形式發(fā)表文章,分類管理是對(duì)博文根據(jù)其內(nèi)容進(jìn)行分類,方便讀者按照興趣進(jìn)行有選擇的閱讀,添加分類是當(dāng)博主有其它不存在的分類時(shí)進(jìn)行添加操作,評(píng)論管理主要針對(duì)訪客對(duì)博文的評(píng)論進(jìn)行管理,可以刪除和修改評(píng)論的內(nèi)容,修改密碼主要出于安全考慮,及時(shí)更新密碼。系統(tǒng)設(shè)計(jì)關(guān)系型數(shù)據(jù)庫(kù)技術(shù)數(shù)據(jù)庫(kù)是指存放在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合;對(duì)數(shù)據(jù)庫(kù)的管理是通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)實(shí)現(xiàn)的。數(shù)據(jù)庫(kù)技術(shù)使準(zhǔn)確、批量、高效的管理數(shù)據(jù)成為可能。隨著管理需求的提高,數(shù)據(jù)庫(kù)技術(shù)也得到了飛速發(fā)展,應(yīng)用較為廣泛的是分布式數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)技術(shù)。使用數(shù)據(jù)庫(kù)可以帶來(lái)許多好處:如減少了數(shù)據(jù)的冗余度,從而大大地節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,實(shí)現(xiàn)數(shù)據(jù)資源的充分共享等。近年來(lái),推出的計(jì)算機(jī)關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),還具有操作直觀,使用靈活、編程方便,功能強(qiáng)大,環(huán)境適應(yīng)廣泛,數(shù)據(jù)處理能力極強(qiáng)等諸多優(yōu)點(diǎn)。關(guān)系型數(shù)據(jù)庫(kù)[7]以行和列的形式存儲(chǔ)數(shù)據(jù),以便于用戶理解。這一系列的行和列被稱為表,一組表組成了數(shù)據(jù)庫(kù)。用戶用查詢(Query)來(lái)檢索數(shù)據(jù)庫(kù)中的數(shù)據(jù)。一個(gè)Query是一個(gè)用于指定數(shù)據(jù)庫(kù)中行和列的SELECT語(yǔ)句。關(guān)系型數(shù)據(jù)庫(kù)通常包含的組件有客戶端應(yīng)用程序(Client)、數(shù)據(jù)庫(kù)服務(wù)器(Server)和數(shù)據(jù)庫(kù)(Database)。SQL是Client端和Server端的橋梁‘Client用SQL來(lái)向Server端發(fā)送請(qǐng)求,Server返回Client端要求的結(jié)果。現(xiàn)在流行的大型關(guān)系型數(shù)據(jù)庫(kù)有IBMDB2、IBMUDB、Oracle、SQLServer、SyBase、Informix等。概念設(shè)計(jì)ER圖是用來(lái)描述某一組織(單位)的概念模型,提供了表示實(shí)體、屬性和聯(lián)系的方法。構(gòu)成ER圖的基本要素是實(shí)體、屬性和關(guān)系。實(shí)體是指客觀存在并可相互區(qū)分的事特;屬性指指實(shí)體所具有的每一個(gè)特性。

類別類別圖3.1系統(tǒng)的E-R模型邏輯設(shè)計(jì)1關(guān)系模式個(gè)人博客系統(tǒng)的關(guān)系模式如下:用戶(用戶標(biāo)識(shí),用戶名,用戶密碼)博文(博文標(biāo)識(shí),分類標(biāo)識(shí),博文標(biāo)題,博文內(nèi)容,發(fā)表時(shí)間)類別(分類標(biāo)識(shí),分類名稱,分類顯示級(jí)別)評(píng)論(評(píng)論標(biāo)識(shí),博文標(biāo)識(shí),評(píng)論人,評(píng)論內(nèi)容,評(píng)論時(shí)間)2數(shù)據(jù)庫(kù)表邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的設(shè)計(jì)在一個(gè)管理系統(tǒng)中起著重要的作用,一個(gè)設(shè)計(jì)合理、結(jié)構(gòu)清晰的數(shù)據(jù)庫(kù)能減少數(shù)據(jù)冗余,提高查詢速度,方便更新修改,可以減輕程序的負(fù)擔(dān),提高程序的執(zhí)行效率和穩(wěn)定性根據(jù)網(wǎng)絡(luò)課程的要求,本系統(tǒng)主要由以下幾個(gè)表組成:blog表、category表、comment表、user表等。blog表用于保存博文的基本信息:字段包括博文編號(hào)、博文標(biāo)題、博文內(nèi)容以及分類標(biāo)示和發(fā)表時(shí)間;category表用于保存博文的分類,字段包括分類標(biāo)識(shí)、分類名稱以及顯示級(jí)別。comment表用于保存管理評(píng)論信息,字段包括評(píng)論標(biāo)識(shí)、博文標(biāo)識(shí)、評(píng)論人名稱以及評(píng)論內(nèi)容,其中博文標(biāo)識(shí)是外碼°user表用于管理登陸信息,字段包括登錄人名稱以及登陸密碼。詳細(xì)的數(shù)據(jù)庫(kù)設(shè)計(jì)見下表3.1至表3.8:注:☆表示主碼;?表示外碼表3.2blog表字段名類型是否可空字段說(shuō)明☆idint否編號(hào)?category_idint是類別的id值titlevarchar(400)是博文標(biāo)題cotentvarchar(4000)是博文內(nèi)容Created_timedatetime是創(chuàng)建時(shí)間表3.3category表字段名類型是否可空字段說(shuō)明☆idint否編號(hào)namevarchar(20)是分類名稱levelint是顯示的級(jí)別表3.4comment表字段名類型是否可空字段說(shuō)明☆idint否編號(hào)?blog_idint是博文編號(hào)usernamevarchar(200)是評(píng)論人conentvarchar(lOOO)是評(píng)論內(nèi)容createtimeDatetime(8)是評(píng)論時(shí)間

表3.5user表字段名類型是否可空字段說(shuō)明☆idint否用戶編號(hào)uernamevarchar(200)是評(píng)論人的名字passwordVarchar(200)是登錄密碼3數(shù)據(jù)庫(kù)基本表的建立~"|bloqdbo用戶2011-11-1420:35:12鳥匚ategorydbo用戶2011-11-1420:35:25~"|commentdbo用戶2011-11-1420:35:36fusersdbo用戶2011-11-1斗20:35:43謔]設(shè)計(jì)義FlDQ",恆置是wBlogM中、飛LtKhL廣上列名1 數(shù)據(jù)類型悵度允許空LTlI4cate d4titleMarchar400contentmphar4000cr&ate11mdatetimeBV3-6.blog表的建立設(shè)計(jì)表Category-,僅置是方1四”中、弋1_口閑1_)"上列名數(shù)據(jù)類型悵度允許簾£irLt4W:±l_ch:!!-200[level]int43-7.category表的建立設(shè)計(jì)表,1commentJ,>位置是HBIOQW中、"(LOCAL)^列名數(shù)據(jù)類型1長(zhǎng)度允許空int4LIO1dint4userrL:dJiie平archar200匚ontent甲archar1000VcreitetirTifi■iattjtirriH83.8comment表的建立謳設(shè)計(jì)表Users'>位置是Flo才中、"(LOCAL)^4數(shù)據(jù)庫(kù)結(jié)構(gòu)優(yōu)化——關(guān)系規(guī)范化在關(guān)系數(shù)據(jù)庫(kù)中,對(duì)關(guān)系模式的基本要求是滿足第一范式(1NF)。但是,有些關(guān)系模式存在插入、刪除異常、修改復(fù)雜、數(shù)據(jù)冗余等缺點(diǎn)。所以,我們有必要使關(guān)系規(guī)范化以方便數(shù)據(jù)庫(kù)的操作。規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴中不適合的部分,是模式中的各關(guān)系模式達(dá)到某種程度的“分離”,即“一事一地”的模式設(shè)計(jì)原則。因此,所謂規(guī)范化實(shí)質(zhì)上是概念的單一化。關(guān)系模式的規(guī)范化過(guò)程是通過(guò)對(duì)關(guān)系模式的分解來(lái)實(shí)現(xiàn)的。通過(guò)對(duì)本系統(tǒng)關(guān)系模式中存在的傳遞依賴,所以本系統(tǒng)的關(guān)系模式屬于第三范式(3NF)。系統(tǒng)實(shí)施4.1系統(tǒng)的開發(fā)環(huán)境4.1.1技術(shù)平臺(tái)JAVASEJava技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,JavaSE是Java平臺(tái)標(biāo)準(zhǔn)版的簡(jiǎn)稱(JavaPlatform,StandardEdition),用于開發(fā)和部署桌面、服務(wù)器以及嵌入設(shè)備和實(shí)時(shí)環(huán)境中的Java應(yīng)用程序。JavaSE包括用于開發(fā)JavaWeb服務(wù)的類庫(kù),同時(shí),JavaSE為JavaEE提供了基礎(chǔ)。從1.2版開始,Java作為一個(gè)編程平臺(tái)逐漸得到了人們的認(rèn)可,而不再只是一個(gè)瀏覽器擴(kuò)展,Sun開始提供更加靈活的安全功能,首先是可配置安全策略的概念。Java編程語(yǔ)言的風(fēng)格十分接近C、C++語(yǔ)言。Java是一個(gè)純的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它繼承了C++語(yǔ)言面向?qū)ο蠹夹g(shù)的核心,Java舍棄了C++語(yǔ)言中容易引起錯(cuò)誤的指針、多重繼承等特性,增加了垃圾回收器功能用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。4.1.2應(yīng)用Sqlserver2000數(shù)據(jù)庫(kù)及相關(guān)工具創(chuàng)建數(shù)據(jù)庫(kù)SQLServer2000是Microsoft公司推出的SQLServer數(shù)據(jù)庫(kù)管理系統(tǒng)的一個(gè)版本。該版本繼承了SQLServer7.0版本的優(yōu)點(diǎn)同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方便,可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn),可跨越從運(yùn)行MicrosoftWindows98的膝上型電腦到運(yùn)行MicrosoftWindows2000的大型多處理器的服務(wù)器等多種平臺(tái)使用。4.1.3操作和配置Tomcat6.0服務(wù)器Tomcat是Apache軟件基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun和其他一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),因?yàn)門omcat技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web應(yīng)用服務(wù)器。4.1.4安裝Eclipse集成開發(fā)環(huán)境,并在Eclipse上安裝Myeclipse插件Eclipse是一種基于Java的可擴(kuò)展開源開發(fā)平臺(tái)。就其自身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開發(fā)環(huán)境。Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括為人熟知的Java開發(fā)工具。4.1.5應(yīng)用MVC開發(fā)模式模型一視圖一控制器(Model-View-Controller,MVC)模式就是為那些需要為同樣的數(shù)據(jù)提供多個(gè)視圖的應(yīng)用程序而設(shè)計(jì)的。它很好地實(shí)現(xiàn)了數(shù)據(jù)層與表示層的分離,特別適用于開發(fā)與用戶圖形界面有關(guān)的應(yīng)用程序。控制器用來(lái)處理用戶命令以及程序事件,模型用來(lái)維護(hù)數(shù)據(jù)并提供數(shù)據(jù)訪問(wèn)方法;視圖用于數(shù)據(jù)的顯示。5.運(yùn)行界面展示博客前臺(tái)頁(yè)面截圖:博客刖臺(tái)頁(yè)面2011年1T月ZZ日蓋滾注她回應(yīng)墜斷訴論=用盒節(jié)對(duì)手枚什&1£系戢JiiiSi【我耳】【艾琦隔消息】據(jù)全球軟件巨頭鍛軟■司的底甘句骷/比解蓋茨1當(dāng)?shù)貢r(shí)們本同丹返--liA嗨上作證葉杓:■Windows痂柞至統(tǒng)是淤敦亞司面IS時(shí)有史以來(lái)盤丈的t:IL卻、:……默認(rèn)井類國(guó)內(nèi).新聞I評(píng)諧豐|山可閔2011±|:11n??n據(jù)業(yè)內(nèi)人一-卜析.堆戰(zhàn)他牛結(jié)臬的原因,狼卞-AE-是tWfi在土豆■■Hi-T最訴倘i:親rr.rTf-- :.卩:陪刊fFWE.桿卜帶町.寧石山庁"-|1內(nèi)三弋嚇勾:||F“墳恒昱……卞.〒匸權(quán)i=t旦匚殺坯處i成[?5yr:艾莉阿評(píng)論汐】2Q11年HJ122FI不同闌融贊価不同的詹帝鎖哄;噩$7騙小企業(yè)并不達(dá)疔社它煤體營(yíng)銷【獨(dú)賽】呎世遼在雖匸對(duì)嗔_萬(wàn),燈吩祥工苛序庶対克字欣以史麗:■,代樂(lè)遼丄f=肌戰(zhàn)五?工匚,貞石“中國(guó)雖1T的喬諭

博客后臺(tái)管理:通過(guò)用戶名登陸,密碼正確后進(jìn)入后臺(tái)管理界面。傅客后臺(tái)管理Ffl-嚇‘:|lv弗」:博客后臺(tái)管理主頁(yè)面:博客后臺(tái)管理歡迪IvfflP|拓卑文|傅文管理|京址呂益|廿契営理|評(píng)常晉理|修改密碼|能博文管理頁(yè)面:博客后臺(tái)管理蕊迎「Ivffl戶I雄餌立I博丈首超|粛加分樊|少英首莊Ii?R£?營(yíng)趣I |退出博文管理舉號(hào)主JS修改博文頁(yè)面:國(guó)問(wèn)新I可k29 盍茨沫fit目應(yīng)堊斷訴論:用競(jìng)爭(zhēng)對(duì)手歌件擔(dān)業(yè)來(lái)筑鬲徨【獨(dú)冢]叵I遅隔UJ□國(guó)舉號(hào)主JS修改博文頁(yè)面:國(guó)問(wèn)新I可k29 盍茨沫fit目應(yīng)堊斷訴論:用競(jìng)爭(zhēng)對(duì)手歌件擔(dān)業(yè)來(lái)筑鬲徨【獨(dú)冢]叵I遅隔UJ□國(guó)1 211 硒?抽丨“t三F-T>|C|*?gUxa弱::.■jj習(xí)恃■- r:IIpqfedUH-———AP1口?口一1a-fl5>El[U驕螟噩活勰艶軟礬縊黠鏗黠黔懿瑤豐勰飯薛曲霸黏纓?協(xié)諜魁豔黠F司而"*忖mtdb卷司TE200&年起訪搬矽加?咼“百碎+引弁碾JCWiordPie?HciirffflQ.u3b:rciprc&!?fflitt>凱佩護(hù)Winb□噸3作京媒的36晡地監(jiān)*訪銅tt■&衽^^Wlndow&QEW!作SUiWr與耳恤較件LR?的皆作迅ETT屁36砸裟?JovallSr^ST■它E比粧臨岀◎TWatJi^rf。匚上?拝進(jìn)瞞丁1仝億淀元虧悒?NovE肚司當(dāng)時(shí)mfciSitt僉司軌計(jì)對(duì)必9EEEcFft]口uattr口戶『口的JS因在于■選疊程PF可I認(rèn)在;K曲皓作衣妝上運(yùn)廳■陽(yáng)毯曲司剛左時(shí)肚陌摒交的立坤A=>rtfrMdwII整司弁未St呂*田此下SE于?壬鹹欣益冋在渝FtiS-haT*燈JtrflKfi了插■:?一注険耳JWED4卻上併池限丈聒「4曲創(chuàng)1北列的晦肺■幷IK丘:此需可St喪進(jìn)訂4IfflftS軟苦5的在師遞〒;■陽(yáng)據(jù)i±Bl的述一決走'■*尢丸“托島丁覘as站怯的EFBTEEEkNovell僉司目iniThQ^tlachmatcUrdu口應(yīng)下的全資子會(huì)司.更拙|博文管理刪除操作:博客后臺(tái)管理魏川用戶Iifcrtfcg|傅左晉理|漏加幷類|鍛晉理|呼論管理|修沁瑪|血険改密碼6.總結(jié)通過(guò)最近一段時(shí)間的學(xué)習(xí),基于JavaWeb技術(shù)和SQL數(shù)據(jù)庫(kù)技術(shù)的個(gè)人博客開發(fā)系統(tǒng)已經(jīng)順利完成。在整個(gè)系統(tǒng)的設(shè)計(jì)過(guò)程中,從需求分析,概要設(shè)計(jì)到詳細(xì)設(shè)計(jì)再到軟件測(cè)試,我學(xué)到了很多課本上學(xué)不到的專業(yè)知識(shí),擺脫了課本純粹理論知識(shí)的束縛,將數(shù)據(jù)庫(kù)等知識(shí)運(yùn)用到實(shí)際操作中,鍛煉了從事項(xiàng)目系統(tǒng)開發(fā)的能力,為今后在工作和學(xué)習(xí)中更好地利用JSP技術(shù)開發(fā)網(wǎng)頁(yè)打下了良好的基礎(chǔ)。在不斷地修正錯(cuò)誤,調(diào)試程序,配置運(yùn)行環(huán)境的過(guò)程中,也遇到了很多問(wèn)題,通過(guò)網(wǎng)上查詢,以及與老師同學(xué)交流,系統(tǒng)功能也在不斷完善。但由于時(shí)間和技術(shù)問(wèn)題,整個(gè)個(gè)人博客管理系統(tǒng)仍然存在一些不足,該博客系統(tǒng)在界面美化、權(quán)限控制、程序優(yōu)化以及自定義擴(kuò)展功能方面還需進(jìn)一步完善。TO口°本系統(tǒng)最大的特點(diǎn)是其功能簡(jiǎn)潔明了、易于使用,屬于單一型博客系統(tǒng),而且界面友好,操作方便,即使是不懂?dāng)?shù)據(jù)庫(kù)以及計(jì)算機(jī)系統(tǒng)的人員也可以熟練使用。通過(guò)開發(fā)整個(gè)博客管理系統(tǒng),我的編程水平有了較大的提高,鞏固了我對(duì)SQL2000、eclipse的認(rèn)識(shí)和提高。另外,我也意識(shí)到團(tuán)隊(duì)合作的重要性。此次系統(tǒng)開發(fā)由我和另一位同學(xué)共同開發(fā)完成,通過(guò)交流和合作最終完成了這次對(duì)個(gè)人博客系統(tǒng)的開發(fā),也相互促進(jìn)了很多。限于一些所掌握知識(shí)和時(shí)間的原因,還有很多想法無(wú)法付諸于實(shí)施,希望在以后能夠?qū)Σ┛妥龈钜徊降恼{(diào)研,在原有的系統(tǒng)的基礎(chǔ)上不斷添加新的功能,最終能夠開發(fā)出一套完整的博客項(xiàng)目管理系統(tǒng)。7.附錄部分主要代碼<%@pagelanguage="java"contentType="text/html;charset=UTF-8"%〉<%@pageimport="java.util.List"%〉<%@pageimport="java.text.SimpleDateFormat"%〉<%@pageimport="com.sdjzu.domain.*"%〉<!DOCTYPEhtmlPUBLIC"—//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"〉<head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/><title〉博客前臺(tái)頁(yè)面</title〉<linkrel="stylesheet"type="text/css"href="/Blog_Lv/style.css"/></head〉<body〉<divid="container"〉<divid="banner"〉<h1〉<ahref="/Blog_Lv"〉博客前臺(tái)頁(yè)面</a〉</h1〉</div〉<divid="center"〉<divclass="content"〉<!--listblogbegin一一〉<%Listlist=(List)request.getAttribute("blogs");for(inti=O;i<list.size();i++){Blogblog=(Blog)list.get(i);SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日");Stringdate=sdf.format(blog.getCreateTime());sdf=newSimpleDateFormat("HH:mm:ss");Stringtime=sdf.format(blog.getCreateTime());%〉<h2〉<%=date%〉</h2〉<divclass="entry"〉<aid="6"x/a〉<h3〉<ahref="/Blog_Lv/servlet/HomeServlet?method=get&id=<%=blog.getId()%〉"target="_blank"〉<%=blog.getTitle()%〉</a〉</h3〉<%Stringsource=blog.getContent();intlength=100;if(source.length()<100){length=source.length();}StringnewString=source.substring(0,length);out.print(newString+" ");%><pclass="posted"〉<%=time%><ahref="<%=request.getContextPath()%〉/servlet/HomeServlet?cid=<%=blog.getCategoryId()%〉"〉<%=blog.getCategory()%〉</a〉</p></div><%}%〉<!--產(chǎn)生分頁(yè)的連接 1/2 <ahref="tm?method=h&p=2"〉>></a〉——〉<!--endlist--〉<brclear="all"/></div〉<!--endcontent--〉</div〉<!--endcenter——〉<divid="right"〉<divclass="sidebar"〉<ul〉<liid="houtai"〉<ahref="/Blog_Lv/admin/"〉登錄后臺(tái)管理</a〉</li〉</ul〉<h2〉分類</h2〉<ul〉<li〉<ahref="/Blog_Lv"〉全部</a〉</li〉<%Listcategorys=(List)request.getAttribute("categorys");for(inti=0;i<categorys.size();i++){Categorycategory=(Category)categorys.get(i);%〉<li〉<ahref="<%=request.getContextPath()%〉/servlet/HomeServlet?cid=<%=category.getId()%〉"〉<%=category.getName()%〉</a〉</li〉<%}%〉</ul〉<h2>最近的主題</h2〉<ul><%ListrecentBlogs=(List)request.getAttribute("blogs");for(inti=0;i<recentBlogs.size();i++){Blogblog=(Blog)recentBlogs.get(i);%><li><ahref="<%=request.getContextPath()%〉/servlet/HomeServlet?method=get&id=<%=blog.getId()%>"target="_blank"〉<%=blog.getTitle()%></a></li><%}%></ul><h2>最近的評(píng)論</h2〉<ul><%Listcomments=(List)request.getAttribute("comments");for(inti=0;i<comments.size();i++){Commentc=(Comment)comments.get(i);%><li><ahref="<%=request.getContextPath()%〉/servlet/HomeServlet?method=get&id=<%=c.getBlogId()%>"target="_blank"〉<%=c.getContent()%〉</a〉</li〉<%}%〉</ul〉</div〉<!--endsidebar--〉</div〉<!--endright--〉</div〉<!--endcontainer——〉</body〉</html〉2.packagecom.sdjzu.servlet;importjava.io.IOException;importjava.sql.SQLException;importjava.util.List;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importmons.dbutils.QueryRunner;importmons.dbutils.handlers.BeanListHandler;importcom.sdjzu.domain.Blog;importcom.sdjzu.domain.Category;importcom.sdjzu.domain.Comment;importcom.sdjzu.util.DbHelper;publicclassHomeServletextendsHttpServlet{privatestaticfinallongserialVersionUID=-7152478870507997462L;publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{request.setCharacterEncoding("utf-8");Stringmethod=request.getParameter("method");if(method==null) {main(request,response);//跳轉(zhuǎn)頁(yè)面request.getRequestDispatcher("/main.jsp").forward(request,response);}elseif(method.equals("get")){main(request,response);get(request,response);request.getRequestDispatcher("/displayBlog.jsp").forward(request,response);}}publicvoidget(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringid=request.getParameter("id");Stringsql="selectid,title,content,createtimefromblogwhereid="+id;QueryRunnerqr=DbHelper.getQuery^unner();Blogblog=null;try{List list = (List) qr.query(sql, newBeanListHandler(Blog.class));blog=(Blog)list.get(0);}catch(SQLExceptione){e.printStackTrace();}sql="selectid,username,content,createtimefromcommentwhereblog_id="+id+"orderbyiddesc";ListcommentList=null;try{commentList=(List)qr.query(sql,newBeanListHandler(Comment.class));}catch(SQLExceptione){e.printStackTrace();}request.setAttribute("blog",blog);request.setAttribute("commentList",commentList);}publicvoidmain(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringcid=request.getParameter("cid");Stringsql=null;sql="execselectBlog@cid="+cid;QueryRunnerqr=DbHelper.getQueryRunner();Listblogs=null;try{blogs=(List)qr.query(sql,newBeanListHandler(Blog.class));}catch(SQLExceptione){e.printStackTrace();}sql="selectid,namefromcategoryorderbyleveldesc,iddesc";Listcategorys=null;try{categorys=(List)qr.query(sql,newBeanListHandler(Category.class));}catch(SQLExceptione){e.printStackTrace();}sql="selectid,username,content,blog_idasblogidfromcommentorderbyiddesc";Listcomments=null;try{

(List)commentsBeanListHandler(Comment.class));}catch(SQLExceptione){e.printStackTrace();}request.setAttribute("blogs",blogs);request.setAttribute("categorys",categorys);request.setAttribute("comments",comments);qr.query(sql,new}3.<%@page<%@page<%@page<%@page}language="java"contentType="text/html;charset=UTF-8"%〉import="java.util.List"%〉(List)commentsBeanListHandler(Comment.class));}catch(SQLExceptione){e.printStackTrace();}request.setAttribute("blogs",blogs);request.setAttribute("categorys",categorys);request.setAttribute("comments",comments);qr.query(sql,new}3.<%@page<%@page<%@page<%@page}<htmlxmlns="/1999/xhtml"〉<head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/><title〉博客前臺(tái)頁(yè)面</title〉<linkrel="stylesheet"type="text/css"href="/Blog_Lv/style.css"/></head〉<body〉<divid="container"〉<divid="banner"〉<h1〉<ahref="/Blog_Lv"〉博客前臺(tái)頁(yè)面</a〉</h1〉</div><divid="center"〉<divclass="content"〉<%Blogblog=(Blog)request.getAttribute("blog");Listlist=(List)request.getAttribute("commentList");%〉<tableid="tab"〉<tr><td〉<h2〉<%=blog.getTitle()%〉</h2〉</td〉</tr><tr><td〉<%=blog.getContent()%〉</td〉</tr><tr><td〉<%=blog.getCreateTime()%〉</td〉</tr><tr><tdheight="79"><%if(list!=null){for(inti=O;i<list.size();i++){Commentcomment=(Comment)list.get(i);%><tableid="tab"><tr><td〉<%=comment.getUsername()%〉的評(píng)論</td〉</tr><tr〉<td〉<%=comment.

溫馨提示

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