" />

成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

<=date >

個(gè)人博客網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)0911070419 宋雨第一章 引言博客,又譯為網(wǎng)絡(luò)日志、部落格或部落閣等,是一種通常由個(gè)人管理、不定期張貼新的文章的網(wǎng)站。博客上的文章通常根據(jù)張貼時(shí)間,以倒序方式由新到舊排

個(gè)人博客網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)

0911070419 宋雨

第一章 引言

博客,又譯為網(wǎng)絡(luò)日志、部落格或部落閣等,是一種通常由個(gè)人管理、不定期張貼新的文章的網(wǎng)站。博客上的文章通常根據(jù)張貼時(shí)間,以倒序方式由新到舊排列。許多博客專注在特定的課題上提供評(píng)論或新聞,其他則被作為比較個(gè)人的日記。一個(gè)典型的博客結(jié)合了文字、圖像、其他博客或網(wǎng)站的鏈接、及其它與主題相關(guān)的媒體。能夠讓讀者以互動(dòng)的方式留下意見,是許多博客的重要要素。大部分的博客內(nèi)容以文字為主,仍有一些博客專注在藝術(shù)、攝影、視頻、音樂、播客等各種主題。博客是社會(huì)媒體網(wǎng)絡(luò)的一部分。

博客秉承了個(gè)人網(wǎng)站的自由精神,但是綜合了激發(fā)創(chuàng)造的新模式,使其更具開放和建設(shè)性。它作為一種新表達(dá)的方式,它的傳播不僅情緒,包括大量的智慧、意見和思想。某種意義上說,它也是一種新的文化現(xiàn)象,博客的出現(xiàn)和繁榮,真正凸現(xiàn)網(wǎng)絡(luò)的知識(shí)價(jià)值,標(biāo)志著互聯(lián)網(wǎng)發(fā)展開始步入更高的階段。

第二章 系統(tǒng)分析

博客網(wǎng)站系統(tǒng)的總目標(biāo)是:在計(jì)算機(jī)網(wǎng)絡(luò),數(shù)據(jù)庫和先進(jìn)的開發(fā)平臺(tái)上,利用現(xiàn)有的軟件,配置一定的硬件,開發(fā)一個(gè)具有開放體系結(jié)構(gòu)的、易擴(kuò)充的、易維護(hù)的、具有良好人機(jī)交互界面的個(gè)人博客網(wǎng)站,為網(wǎng)絡(luò)用戶提供進(jìn)行在線交流的網(wǎng)絡(luò)平臺(tái)。

通過個(gè)人博客網(wǎng)站可以結(jié)交更多的朋友,表達(dá)更多的想法,它隨時(shí)可以發(fā)布文章。 具體的要求如下:

1). 博主可以簡(jiǎn)單的添加和刪除文章;

2). 獨(dú)立于具體的數(shù)據(jù)庫平臺(tái)。對(duì)于與數(shù)據(jù)庫交互的部分充分考慮兼容性;

3). 容易在原先基礎(chǔ)上進(jìn)行二次開發(fā);

4). 中間基礎(chǔ)平臺(tái)的無型性。盡量采用開放的標(biāo)準(zhǔn)技術(shù),達(dá)到跨平臺(tái)運(yùn)行的效果;

為了達(dá)到以上的開發(fā)目的,個(gè)人博客網(wǎng)站應(yīng)遵循一定的設(shè)計(jì)和開發(fā)與原則:

1). 模塊接口定義清晰;

2). 基礎(chǔ)類庫和接口設(shè)計(jì)合理,盡量建立叮擴(kuò)展的接口和抽象類;

3). 數(shù)據(jù)庫操作使用標(biāo)準(zhǔn)SQL 語句,如果一定要使用有差別的SQL 語句,則盡量集中在一起,以減少將來維護(hù)和移植的難度;

4). 采用開放的標(biāo)準(zhǔn)和工具等;

,

第三章 總體設(shè)計(jì)

3.1項(xiàng)目規(guī)劃

博客系統(tǒng)通常提供三類服務(wù):

1). 信息服務(wù),它可分為:博文顯示,評(píng)論顯示,分類顯示

2). 留言服務(wù):游客可以對(duì)博文發(fā)表看法意見

3). 管理服務(wù):博主可以對(duì)自己的博客進(jìn)行各種管理

在此,我參考現(xiàn)有的幾大博客網(wǎng)站如QQ 空間,新浪博客等,采用Browser/Server結(jié)構(gòu),將個(gè)人博客網(wǎng)站劃分為兩個(gè)子系統(tǒng):前臺(tái),后臺(tái)。

下面分析各個(gè)子系統(tǒng)的功能需求。

3.1.1 前臺(tái)

在前臺(tái)的功能實(shí)現(xiàn)上,可以分為以下幾個(gè)部分:

1). 博文主頁:

游客可以瀏覽博客的首頁,首頁包括博文的摘要及分類。

2). 博文瀏覽:

游客可以瀏覽博客中感興趣的博文。。

3). 博文評(píng)論:

游客可以在瀏覽博文的同時(shí)進(jìn)行對(duì)博文的評(píng)論。

3.1.2后臺(tái)

通過計(jì)算機(jī)網(wǎng)絡(luò)將前臺(tái)與后臺(tái)的數(shù)據(jù)庫相連,網(wǎng)站管理員將從前臺(tái)得到的信息進(jìn)行處理,實(shí)現(xiàn)文章管理,公告管理,投票管理,個(gè)人相冊(cè)管理,朋友圈,用戶設(shè)置及博主設(shè)置等子系統(tǒng)。

1). 博主登陸:

博客主人用帳號(hào),密碼登錄到網(wǎng)站。網(wǎng)站檢測(cè)用戶的帳號(hào),密碼并給予管理員權(quán)限對(duì)網(wǎng)站進(jìn)行操作

2). 博文發(fā)布:

發(fā)布博文,包括博文標(biāo)題,內(nèi)容及分類。

3). 博文管理:

對(duì)博客中的文章進(jìn)行刪除,更新等操作。

4). 添加分類:

對(duì)博文的分類進(jìn)行添加,包括分類名稱及顯示級(jí)別。

,

5). 分類管理:

對(duì)博客中的分類進(jìn)行刪除,更新等操作。

6). 評(píng)論管理:

對(duì)博客中的評(píng)論進(jìn)行刪除,更新等操作。

7). 修改密碼:

修改博主賬號(hào)的密碼。

3.2系統(tǒng)功能結(jié)構(gòu)圖

前臺(tái):

后臺(tái):

,

第四章 系統(tǒng)設(shè)計(jì)

4.1設(shè)計(jì)目標(biāo)

1. 博客文章顯示管理

本模塊用于幫助用戶快速定位到自己關(guān)注的博客頁面及對(duì)應(yīng)的文章信息中。

2. 博客登錄管理

本模塊實(shí)現(xiàn)用戶登錄功能。登錄時(shí)會(huì)對(duì)博客輸入的信息進(jìn)行提示,如用戶名、密碼錯(cuò)誤。

3. 發(fā)表文章管理

該模塊實(shí)現(xiàn)了博主發(fā)表新文章的功能。博主發(fā)表文章時(shí),可以選擇文章所屬類別,此外只有是博主才能發(fā)表文章,對(duì)此進(jìn)行了嚴(yán)格的身份驗(yàn)證。

4. 發(fā)表及顯示評(píng)論管理

該模塊實(shí)現(xiàn)了與文章相關(guān)的評(píng)論管理。游客及管理員都可對(duì)文章進(jìn)行發(fā)表評(píng)論。

4.2開發(fā)及運(yùn)行環(huán)境

4.2.1 JSP的基礎(chǔ)——Servlet 技術(shù)

Java Servlet 是JSP 技術(shù)的基礎(chǔ),JSP 本身就是預(yù)先被編譯成Servlet ,然后再運(yùn)行的,而且大型的Web 應(yīng)用程序的開發(fā)需要Java Servlet和JSP 配合才能完成,Servlet 這個(gè)名稱大概源于Applet ,現(xiàn)在國內(nèi)的翻譯方式很多,本文為了避免誤會(huì),本文直接采用Servlet 這個(gè)名稱而不做任何翻譯,讀者如果愿意,可以稱之為“小服務(wù)程序”。Servlet 其實(shí)和傳統(tǒng)的CGI 程序和ISAPI 、NSAPI 等Web 程序開發(fā)工具的作用是相同的,在使用Java Servlet 以后,用戶不必再使用效率低下的CGI 方式,也不必使用只能在某個(gè)固定Web 服務(wù)器平臺(tái)運(yùn)行的API 方式來動(dòng)態(tài)生成Web 頁面。許多Web 服務(wù)器都支持Servlet ,即使不直接支持Servlet 的Web 服務(wù)器也可以通過附加的應(yīng)用服務(wù)器和模塊來支持Servlet 。得益于Java 的跨平臺(tái)的特性,Servlet 也是平臺(tái)無關(guān)的,實(shí)際上,只要符合Java Servlet 規(guī)范,Servlet 是完全平臺(tái)無關(guān)且是Web 服務(wù)器無關(guān)的。由于Java Servlet內(nèi)部是以線程方式提供服務(wù),不必對(duì)于每個(gè)請(qǐng)求都啟動(dòng)一個(gè)進(jìn)程,并且利用多線程機(jī)制可以同時(shí)為多個(gè)請(qǐng)求服務(wù),因此Java Servlet 效率非常高。但Java Servlet也不是沒有缺點(diǎn),和傳統(tǒng)的CGI 、ISAPI 、NSAPI 方式相同,Java Servlet是利用輸出HTML 語句來實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁的,如果用Java Servlet來開發(fā)整個(gè)網(wǎng)站,動(dòng)態(tài)部分和靜態(tài)頁面的整合過程簡(jiǎn)直就是一場(chǎng)噩夢(mèng)。這就是為什么SUN 還要推出Java Server Pages的原因。

,

4.2.2 JavaBean原理和機(jī)制

JSP 的一大特點(diǎn)就是與JavaBeans 的結(jié)合, 而JSP 與JavaBeans 結(jié)合的一個(gè)突出的優(yōu)點(diǎn)是頁面顯示和業(yè)務(wù)邏輯的分離。這可以使團(tuán)隊(duì)協(xié)作的更好,開發(fā)出更高質(zhì)量的站點(diǎn)。

JavaBean 是一種可以重用的Java 組件,它類似于COM ,在JSP 程序中常用來封裝事物邏輯、數(shù)據(jù)庫操作等,可以很好的實(shí)現(xiàn)業(yè)務(wù)邏輯和前臺(tái)程序的分離,使得系統(tǒng)具有更好的健壯性和靈活性。

事件處理是JavaBeans 體系結(jié)構(gòu)的核心之一。通過事件處理機(jī)智,可以讓一些組件作為事件源,發(fā)出可被描述環(huán)境或其他組件接受的事件。這樣,不同的組件就可在構(gòu)造工具內(nèi)組合在一起,組件之間通過事件的傳遞進(jìn)行通信,構(gòu)成一個(gè)應(yīng)用。從概念上講,事件是一種在“源對(duì)象”和“監(jiān)聽對(duì)象”之間、某種狀態(tài)發(fā)生變化的傳遞機(jī)智。事件有許多不同的用途,如:鼠標(biāo)事件、窗口邊界改變事件、鍵盤事件等。在Java 和JavaBeans 中則是定義了一個(gè)一般的、可擴(kuò)充的事件機(jī)制,它能夠:

1). 對(duì)事件類型和傳遞模型的定義和擴(kuò)充提供一個(gè)公共框架,并適合于廣泛的應(yīng)用。

2). 與Java 語言和環(huán)境有較高的集成度。

事件能描述環(huán)境捕獲和被激發(fā)。能使其他構(gòu)造工具采取某種技術(shù)在設(shè)計(jì)時(shí)直接控制事件,遺跡控制事件源和事件監(jiān)聽者之間的聯(lián)系。事件本身不依賴于復(fù)雜的開發(fā)工具。

特別的,事件機(jī)制還應(yīng)當(dāng):

1). 能夠發(fā)現(xiàn)制定的對(duì)象類可以生成的事件。

2). 能夠發(fā)現(xiàn)制定的對(duì)象類可以觀察監(jiān)聽到的事件。

3). 提供一個(gè)常規(guī)的注冊(cè)機(jī)制,允許動(dòng)態(tài)操縱事件源與事件監(jiān)聽者之間的關(guān)系。

4). 不需要其他的虛擬機(jī)和語言即可實(shí)現(xiàn)。

5). 事件源與監(jiān)聽者之間可進(jìn)行高效的事件傳遞。

6). 能完成JavaBean 事件模型與相關(guān)的其他組件體系結(jié)構(gòu)事件模型的中立映射。

JSP 和ASP.NET 同樣是網(wǎng)站開發(fā)中常用的開發(fā)工具。但是,ASP 是微軟的產(chǎn)品,其應(yīng)用只能是在Windows 平臺(tái)上,移植性差,而且以源代碼的形式存放在服務(wù)器端,安全性差。每次由服務(wù)器解釋運(yùn)行,運(yùn)行效率不高。Jsp 頁面文件執(zhí)行時(shí)被編譯成字節(jié)代碼,由客戶端流覽的Java 虛擬機(jī)解釋執(zhí)行,不再是源代碼,因此執(zhí)行效率和安全性高。將數(shù)據(jù)庫連接的重要信息存放在JavaBean 文件后,可以編譯成虛擬機(jī)才能解釋的字節(jié)代碼,確保了數(shù)據(jù)庫的安全。

在ASP 技術(shù)里,通過Web 頁面要實(shí)現(xiàn)一些特定的功能比較困難,比如基于網(wǎng)頁的報(bào)表,打印實(shí)現(xiàn)起來就比較麻煩。ASP 提供的解決方案是自己開發(fā)組件,通過在服務(wù)器端注冊(cè)組件,成為獨(dú)立的可以重復(fù)利用的模塊供讀者調(diào)用。因此要求讀者需要掌握比較復(fù)雜的變成語言的開發(fā)技術(shù)。在JSP 開發(fā)技術(shù)里,可以通過開發(fā)JavaBean 文件實(shí)現(xiàn)同樣的功能,JavaBean 不需要注冊(cè),只要放置在相應(yīng)的目錄下就可以運(yùn)行??梢詫?shí)現(xiàn)ASP 的COM 組件同樣的功能。此外JSP 推出主要就是考慮到平臺(tái)的無關(guān)性。JSP 代碼可以在APACHE 、IIS 等服務(wù)器上執(zhí)行,支持大部分操作系統(tǒng)。JSP 繼承JAVA 技術(shù)的優(yōu)點(diǎn):一次運(yùn)行,處處運(yùn)行。

鑒于此, 本系統(tǒng)決定使用JSP 做為開發(fā)工具。下面簡(jiǎn)單介紹一下相關(guān)的其他工具:

,

4.2.3 開發(fā)平臺(tái):Eclipse dreamweaver

Eclipse 是一個(gè)開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它主要由Eclipse 項(xiàng)目、Eclipse 工具項(xiàng)目和Eclipse 技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,具體包括四個(gè)部分組成——Eclipse Platform 、JDT 、CDT 和PDE.JDT 支持Java 開發(fā)、CDT 支持C 開發(fā)、PDE 用來支持插件開發(fā),Eclipse Platform則是一個(gè)開放的可擴(kuò)展IDE ,提供了一個(gè)通用的開發(fā)平臺(tái)。它提供建造塊和構(gòu)造并運(yùn)行集成軟件開發(fā)工具的基礎(chǔ)。Eclipse Platform允許工具建造者獨(dú)立開發(fā)與他人工具無縫集成的工具從而無須分辨一個(gè)工具功能在哪里結(jié)束,而另一個(gè)工具功能在哪里開始。

Dreamweaver MX 是一款專業(yè)的 HTML 編輯器,用于對(duì) Web 站點(diǎn)、Web 頁和 Web 應(yīng)用程序進(jìn)行設(shè)計(jì)、編碼和開發(fā)。無論您喜歡直接編寫 HTML 代碼的駕馭感還是偏愛在可視化編輯環(huán)境中工作,Dreamweaver 都會(huì)為您提供幫助良多的工具,豐富您的 Web 創(chuàng)作體驗(yàn)。

利用 Dreamweaver 中的可視化編輯功能,您可以快速地創(chuàng)建頁面而無需編寫任何代碼。不過,如果您更喜歡用手工直接編碼,Dreamweaver 還包括許多與編碼相關(guān)的工具和功能。并且,借助 Dreamweaver,您還可以使用服務(wù)器語言(例如 ASP、ASP.NET 、ColdFusion 標(biāo)記語言 (CFML )、JSP 和 PHP)生成支持動(dòng)態(tài)數(shù)據(jù)庫的 Web 應(yīng)用程序。

4.2.4 數(shù)據(jù)庫:MySQL

MySQL 是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun 公司收購。而2009年,SUN 又被Oracal 收購. 對(duì)于Mysql 的前途, 沒有任何人抱樂觀的態(tài)度. 目前MySQL 被廣泛地應(yīng)用在Internet 上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL 作為網(wǎng)站數(shù)據(jù)庫。

4.3數(shù)據(jù)庫設(shè)計(jì)

根據(jù)系統(tǒng)功能設(shè)計(jì)要求和模塊劃分,本站的數(shù)據(jù)庫主要有Blog 表,Category 表,Comment 表和Users 表

1 Blog 表

保存所有博文的內(nèi)容。包括博文id 、主題、內(nèi)容、時(shí)間和所屬類別的id 值。

2 Category 表

保存所有博文的分類,id 、分類的名稱。

,

3 Comment 表

保存對(duì)博文的評(píng)論,id ,評(píng)論人、評(píng)論的內(nèi)容 ,所評(píng)論的博文的id 值。

Users 表

保存博主的id 、用戶名和密碼。

第五章 程序介紹

1:博客主頁,游客可瀏覽近期的博客摘要及分類查詢

主要代碼如下:

,

main.jsp:

<@ page language ="java" contentType ="text/html; charset=UTF-8"> <@ page import ="java.util.List" >

<@ page import ="java.text.SimpleDateFormat" >

<@ page import ="cn.com.jobedu.blog.*">

宋雨的blog

2:在主頁點(diǎn)擊博文名稱連接后,可瀏覽相應(yīng)博文,查看其評(píng)論及發(fā)表評(píng)論

標(biāo)簽: