


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、作者: Pan Hongliang僅供個(gè)人學(xué)習(xí)目錄第一章緒論11.1系統(tǒng)開發(fā)背景11.2課題研究的意義 1第二章Blog系統(tǒng)開發(fā)技術(shù)2.1 ASP.NET介紹2.2MVC開發(fā)模式 2.3Ajax 介紹2.3.1 什么是 Ajax 2.3.2 Ajax相關(guān)技術(shù)介紹 42.3.3 Ajax技術(shù)在系統(tǒng)中的應(yīng)用 2.4數(shù)據(jù)庫2.4.1 SQL SERVER 2000 2.4.2 ADO.NET 2.5 ASP.NET配置 62.6 XML 6第三章BLOG系統(tǒng)分析 63.1系統(tǒng)設(shè)計(jì)方案63.2系統(tǒng)功能模塊3.3數(shù)據(jù)庫需求分析3.4 系統(tǒng)操作流程 3.5 組件和樣式分析 3.6用戶控件第四章BLOG系統(tǒng)
2、設(shè)計(jì) 4.1后臺(tái)功能模塊詳細(xì)設(shè)計(jì) 身份驗(yàn)證后臺(tái)文章添加管理 后臺(tái)文章類別管理 104.2前臺(tái)功能模塊詳細(xì)設(shè)計(jì) 11前臺(tái)主界面 11前臺(tái)用戶回復(fù)評(píng)論文章模塊 11在線聊天登錄界面模塊 12在線聊天模塊124.3數(shù)據(jù)庫的詳細(xì)設(shè)計(jì)13數(shù)據(jù)表設(shè)計(jì)13數(shù)據(jù)庫訪問 15第五章 結(jié)束語 165.1不足之處與改進(jìn) 16權(quán)限分配16界面美觀化165.2結(jié)論16參考文獻(xiàn) 17致謝18隨著計(jì)算機(jī)的發(fā)展和普及,Blog得到了極大的發(fā)展。Blog是Weblog(網(wǎng)絡(luò) 日志)的簡(jiǎn)稱。Blog是即E-mail、BBS、ICQ之后的第四種網(wǎng)絡(luò)交流方式。它以 個(gè)人為中心傳播出版有影響力的消息、 新聞、事件等,鮮明的個(gè)人特色引人
3、矚目, 它以獨(dú)特的視角、敏銳的觀察力,不斷的沖擊傳統(tǒng)媒體。傳統(tǒng)的 Blog 已經(jīng)滿足 不了社會(huì)的需要,擁有更多更新功能的 Blog 急需走上舞臺(tái)。該系統(tǒng)以ASP.NET為開發(fā)技術(shù),使用 C#為開發(fā)語言,采用 Web展示層和SQLServer 2000數(shù)據(jù)庫兩層架構(gòu)模式同時(shí)采用 MVC開發(fā)模式,實(shí)現(xiàn)Blog網(wǎng)站 的動(dòng)態(tài)管理,使得對(duì) Blog 信息的管理更加及時(shí) 、高效,提高了工作效率。關(guān)鍵詞 :Blog,ASP.NET,C#, SQLserverAbstractAlong with computer's development and the popularization, Blog o
4、btained the enormous development. Blog is Weblog (network diary) abbreviation. After Blog is E-mail, BBS, the ICQ fourth network exchange way. It take has the influence news, the news, the event personally as the central dissemination publication and so on, the bright individual characteristic is co
5、nspicuous, it by unique angle of view, keen power of observation, unceasing impact tradition media. Traditional Blog already could not meet society's needs, has more renewal function Blog to step onto the stage urgently needed.This system take ASP.NET as the development technology, uses C# is th
6、e development language, uses the Web demonstration level and the SQLserver 2000 database two-tier system pattern simultaneously uses the MVC development pattern, realizes the Blog website dynamic management, causes to be even more prompt to the Blog information management, highly effective, raised t
7、he working efficiency.key word: Blog, ASP.NET, C#, SQLserve第一章緒論1.1系統(tǒng)開發(fā)背景隨著計(jì)算機(jī)技術(shù)的發(fā)展和普及,blog得到了極大的發(fā)展。Blog ,是Weblog 的簡(jiǎn)稱。blog是一種新的生活方式、新的工作方式、新的學(xué)習(xí)方式和交流方 式。它是繼E-mail、BBS ICQ、之后出現(xiàn)的第4種網(wǎng)絡(luò)交流方式。Blog主 要應(yīng)用于3個(gè)方面:一是新的人際交流方式;二是以個(gè)人為中心的信息摘選 和知識(shí)管理;三是以個(gè)人為中心的傳播出版。blog作為個(gè)人的一種學(xué)習(xí)工具, 簡(jiǎn)單易用,吸引人的興趣。Blog在教育方面得到了很大的發(fā)展,它將互聯(lián)網(wǎng) 從過
8、去的通訊功能,資料功能、交流功能等進(jìn)一步強(qiáng)化,使其更加個(gè)性化、 開放化、實(shí)時(shí)化、全球化,把信息共享發(fā)展到資源共享、思想共享、生命歷 程共享。Blog已經(jīng)成為一種繼課件、積件、資源庫、教育主題網(wǎng)站等信息化 教學(xué)模式之后,新的網(wǎng)絡(luò)應(yīng)用模式。它是應(yīng)時(shí)代的需求而興起的,也是應(yīng)時(shí) 代需求不斷進(jìn)步的。1.2課題研究的意義隨著Blog人數(shù)的增加,Blog作為一種新的生活方式、新的工作方式和 新的學(xué)習(xí)方式已經(jīng)被越來越多的人所接受,并且在改變傳統(tǒng)的網(wǎng)絡(luò)和社會(huì)結(jié) 構(gòu)。它使交流和溝通更有明確的選擇和方向性;單一的思想和群體的智慧結(jié) 合變得更加有效;個(gè)人出版變成人人都可以實(shí)現(xiàn)的夢(mèng)想。Blog正在影響和改 變著我們的生
9、活。Blog是以網(wǎng)絡(luò)作為載體,簡(jiǎn)易迅速便捷地發(fā)布自己的心得,及時(shí)有效輕松地與他人進(jìn)行交流,再集豐富多彩的個(gè)性化展示于一體的綜合性平臺(tái)。展 示豐富的個(gè)性化,對(duì) Blog功能的要求自然更高,新一代具有更多、更新、 更全功能的Blog急需走進(jìn)舞臺(tái)。系統(tǒng)加入聊天功能可以更加方便大家的交 流。第二章 Blog系統(tǒng)開發(fā)技術(shù)2.1ASP.NET 介紹本系統(tǒng)采用ASP.NET開發(fā)技術(shù)進(jìn)行開發(fā)。ASP.NET不僅僅是ASP的一個(gè)新 版本,更是Web應(yīng)用程序編程方面的一個(gè)全新的概念和方法。ASP.NET中的新 功能并不是對(duì)ASP的改進(jìn),設(shè)計(jì)它的初衷是為用戶入境提供最佳的應(yīng)用程序架 構(gòu)。它相比于ASP有著以下幾個(gè)方
10、面的優(yōu)點(diǎn):(1)多語言ASP曾在腳本引擎方面受到了限制, 特別是VBScript和Jscript。而ASP.NET 則支持多種語言,默認(rèn)情況下為 Visual Basic.NET、C#和Jscript.NET,另外還支 持一些第三方語言。(2)服務(wù)器處理ASP在服務(wù)器處理上不管頁面的內(nèi)容是純 HTML還是ASP生成的HTML, 它都是按照實(shí)現(xiàn),形成所謂3-tier頁面順序顯示的。因此邏輯代碼依賴于它在頁 面中的位置,并且無法將 HTML控件作為目標(biāo),除非將它們作為流的一部分進(jìn) 行顯示。而ASP.NET就解決了這個(gè)問題,方法是為控件引入一個(gè)聲明的基于服 務(wù)器的模型,因?yàn)榭丶诜?wù)器上有,可以在服
11、務(wù)器上編程,也可以是客戶端驅(qū) 動(dòng)的事件。(3)Web Form 控件將現(xiàn)有的HTML控件轉(zhuǎn)換為服務(wù)器端的控件是比較容易的, 但是也存在一些 不方便,例如比較難于區(qū)分 HTML控件和服務(wù)器端的控件。于是 Microsoft公司 就創(chuàng)建了一組專門的服務(wù)器控件,它們都用 asp:前綴標(biāo)識(shí)。(4)代碼與內(nèi)容分離一個(gè)網(wǎng)站的設(shè)計(jì)與開發(fā)往往由不同的人來實(shí)現(xiàn)的,而ASP中就是存在著這樣一個(gè)問題,代碼(ASP腳本)和內(nèi)容(HTML )混合在一起。這樣就使得同時(shí)進(jìn) 行設(shè)計(jì)和開發(fā)變得很困難。而 ASP.NET則采用了代碼內(nèi)聯(lián)和后臺(tái)編碼兩種方法 實(shí)現(xiàn)了代碼與內(nèi)容的分離。2.2 MVC開發(fā)模式第二章 Blog系統(tǒng)開發(fā)技
12、術(shù)MVC由Trygve Reenskaug提出,首先被應(yīng)用在 SmallTalk-80環(huán)境中,是許多 交互和畫面系統(tǒng)的構(gòu)成基礎(chǔ)。MVC結(jié)構(gòu)是為那些需要為同樣的數(shù)據(jù)提供多個(gè)視 圖的應(yīng)用程序而設(shè)計(jì)的,它很好地實(shí)現(xiàn)了數(shù)據(jù)層與表示層的分離。MVC作為一種開發(fā)模型,通常用于分布式應(yīng)用系統(tǒng)的設(shè)計(jì)和分析,以及用于確定系統(tǒng)各部分間的組織關(guān)系。對(duì)于畫面設(shè)計(jì)可變性的需求,MVC ( Model-View-Controller )把交互系統(tǒng)的組成分解成模型、視圖、控制器3種部件。(1) 視圖部件把表示模型數(shù)據(jù)及邏輯關(guān)系和狀態(tài)的信息以特定形式展示給用戶。 它從模型獲得顯示信息,對(duì)于相同的信息可以有多個(gè)不同的顯示形式或
13、視圖。(2) 控制器部件是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶畫面與模型間的對(duì)應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工作的部件。(3) 模型部件保存由視圖顯示、由控制器控制的數(shù)據(jù);它封裝了問題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,它獨(dú)立于具體的畫面表達(dá)和I/O操作。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用 戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其他依賴于這些數(shù)據(jù)的視圖都應(yīng)反映了這些變化。因此,無論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通 知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是
14、一種模型的變化一一傳播機(jī)制。(4) ASP.NET模式下如何實(shí)現(xiàn) MVC ?ASP.NET提供了一個(gè)很好的實(shí)現(xiàn)這種經(jīng)典設(shè)計(jì)模式的類似環(huán)境。開發(fā)者通過在ASPX頁面中開發(fā)用戶接口來實(shí)現(xiàn)視圖;控制器的功能在邏輯功能代碼(.cs) 中實(shí)現(xiàn);模型通常對(duì)應(yīng)應(yīng)用系統(tǒng)的業(yè)務(wù)部分。在ASP.NET中實(shí)現(xiàn)這種設(shè)計(jì)而提供的一個(gè)多層系統(tǒng),對(duì)較經(jīng)典的 ASP結(jié)構(gòu)實(shí)現(xiàn)的系統(tǒng)來說有明顯的優(yōu)點(diǎn)。將用 戶顯示(視圖)從動(dòng)作(控制器)中分離出來,提高了代碼的重用性。將數(shù)據(jù)(模 型)從對(duì)其操作的動(dòng)作(控制器)分離出來,可以讓用戶設(shè)計(jì)一個(gè)與后臺(tái)存儲(chǔ)數(shù) 據(jù)無關(guān)的系統(tǒng)。就MVC結(jié)構(gòu)的本質(zhì)而言,它是一種解決耦合系統(tǒng)問題的方法。2.3 A
15、jax 介紹什么是AjaxAjax 是 Asynchronous JavaScript and XML的縮寫,即異步 JavaScript 和 XML。 Ajax是一種客戶端技術(shù),Ajax技術(shù)借助異步JavaScript實(shí)現(xiàn)瀏覽器和服務(wù)器之間的異步交互,即相當(dāng)于在 Web應(yīng)用中實(shí)現(xiàn)了原來 C/S(Client/Server)結(jié)構(gòu)下的交互 結(jié)果,且這種效果的實(shí)現(xiàn)并沒有帶來繁瑣的客戶部署工作。比如:無需重新加載整個(gè)頁面就可以想服務(wù)器發(fā)送請(qǐng)求,并接受響應(yīng)。同時(shí)對(duì)XML文檔解析和處理。 Ajax的解決方案及其優(yōu)越性Ajax相當(dāng)于在瀏覽器客戶端與服務(wù)器之間架設(shè)了一個(gè)橋梁、一個(gè)媒介,在它的幫助下,可以消除
16、網(wǎng)絡(luò)交互過程中的處理 一等待一處理一等缺陷。在處理過程 中Web服務(wù)器響應(yīng)是標(biāo)準(zhǔn)的且易于解析的 XML格式的數(shù)據(jù)傳遞給Ajax,然后再 轉(zhuǎn)換成HTML頁面的格式,輔助 CSS進(jìn)行顯示。Ajax是使用XMLHttpRequest 對(duì)象發(fā)送請(qǐng)求并獲得服務(wù)器端的響應(yīng),同時(shí)Ajax可以在不重新載入整個(gè)頁面的情況下用JavaScipt操作DOM以實(shí)現(xiàn)最終更新頁面。因此在讀取數(shù)據(jù)的過程中, 用戶棉對(duì)的不是白屏,而是原來的內(nèi)容。這種更新是瞬間的,使用戶感覺是連貫的。借助Ajax,可以把以前一些原本由服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)移到客戶端來完成, 利用客戶端閑置的能力來進(jìn)行處理,這樣也可以有效地減輕服務(wù)器和帶寬的負(fù)擔(dān),
17、 使服務(wù)器更穩(wěn)定,更良好的運(yùn)行。同時(shí)節(jié)約了空間和寬帶。232 Ajax相關(guān)技術(shù)介紹Ajax是多種技術(shù)的綜合應(yīng)用,包括 JavaScipt腳本、CSS、DOM和重要對(duì)象 XMLHttpRequest。(1) JavaScipt是一種可以與HTML標(biāo)記混合使用的腳本語言,編寫的程序可 以直接在瀏覽器中解釋執(zhí)行。因此使用腳本語言編寫程序可以在瀏覽器支 持下跨平臺(tái)運(yùn)行。JavaScipt腳本中可以調(diào)用瀏覽器及Ajax中提供的相關(guān) 對(duì)象。利用這些對(duì)象的屬性方法可以實(shí)現(xiàn)頁面效果的動(dòng)態(tài)控制。(2)CSS是層疊樣式表。CSS規(guī)則由模式匹配段和操作部分組成。 模式匹配段 用于表示元素與行為之間的關(guān)聯(lián)性;操作部分
18、用于確定對(duì)指定部分的操作。 CSS層疊樣式可以彌補(bǔ)HTML超文本標(biāo)記語言在格式修飾中的不足,同 時(shí)也為能夠?qū)崿F(xiàn)頁面格式的批量動(dòng)態(tài)更新。(3)DOM的全稱是文檔對(duì)象模型(Document Object Model),它在本質(zhì)上是一 種文檔平臺(tái)。在使用Ajax技術(shù)中,借助DOM,可以結(jié)合腳本語言實(shí)現(xiàn)動(dòng) 態(tài)的數(shù)據(jù)存儲(chǔ)以及動(dòng)態(tài)上傳文件。(4) XMLHttpRequest是Ajax技術(shù)中最重要的一個(gè)對(duì)象。頁面可以在不刷新的 情況下通過它發(fā)送請(qǐng)求來獲取服務(wù)器響應(yīng)。也可以使用該對(duì)象在不刷新當(dāng) 前頁面的情況下更新頁面中的數(shù)據(jù)。233 Ajax技術(shù)在系統(tǒng)中的應(yīng)用Ajax技術(shù)運(yùn)用于該系統(tǒng)的在線即時(shí)聊天功能模塊。
19、 通過該技術(shù)實(shí)現(xiàn)了聊天信 息的不斷更新,但并沒有將整個(gè)頁面都刷新,也不會(huì)帶來頁面在連續(xù)閃爍等問題。 利用Ajax技術(shù)將聊天窗口不段更新數(shù)據(jù),聊天窗口采用CSS樣式,實(shí)現(xiàn)頁面格式的批量動(dòng)態(tài)更新。2.4數(shù)據(jù)庫本系統(tǒng)才用SQL SERVER2000做為后臺(tái)數(shù)據(jù)庫,采用ADO.NET技術(shù)對(duì)數(shù)據(jù)進(jìn)行操作。2.4.1 SQL SERVER 2000SQL SERVER2000是可以在WEB上運(yùn)行的數(shù)據(jù)庫服務(wù)產(chǎn)品。它既可適用于 桌面系統(tǒng)的單用戶數(shù)據(jù)庫,也可適用于企業(yè)的網(wǎng)絡(luò)數(shù)據(jù)庫,甚至適用于專業(yè)的 WEB站點(diǎn)數(shù)據(jù)庫,具有很強(qiáng)的可伸縮性。并且具有很高的可靠性、可用性和可管理性Frame經(jīng)濟(jì)和開據(jù)提供率上適合中小
20、型網(wǎng)站,能更 好的協(xié)調(diào)工作。ISelectComma nd *,它對(duì)用戶的訪問進(jìn)行發(fā),C在開發(fā)接口有一致性; 的安全性也有一定的保障,段,二是許可確認(rèn)階段2.Command4.:數(shù)據(jù)庫使用ImaAlDO.NE它和AiSP .NET同屬于微軟公司開 同時(shí),對(duì)數(shù)據(jù)個(gè)階段的檢查:一是認(rèn)證階來處理 數(shù)據(jù)taRowCollection” ADO.NET據(jù)訪問技術(shù),它提供了o aCe等數(shù)據(jù)源及通過是基HxDT數(shù)據(jù)格式為核心的數(shù)弍和以用于對(duì) coMtcrosoteSQL ServOLEDB和XML公開的數(shù)據(jù)遠(yuǎn)組數(shù)據(jù)eCom服務(wù)的類,可一了數(shù)據(jù)容器類編程接口,無論編寫何種應(yīng)用程序*Web服務(wù))都可以通過同二組
21、類來處理數(shù)據(jù)。為使用方便 一組豐富的控件,ADO.NET體系結(jié)構(gòu)如下圖所示數(shù)據(jù)庫視化方式來開發(fā)數(shù)據(jù)庫應(yīng)用e”、源的一致訪問。ADO.NET統(tǒng)Windows窗體 體、DataRelatio nCollectio n: 了XMLADO.NET體系結(jié)構(gòu)圖ADO.NET體系結(jié)構(gòu)的兩大核心控件是.NET Framework數(shù)據(jù)提供程序和 Dataset . NET Framework數(shù)據(jù)提供程序用于連接到數(shù)據(jù)庫、執(zhí)行命令和檢索結(jié) 果。Datase是一個(gè)功能豐富、比較復(fù)雜的數(shù)據(jù)集,它是支持ADO.NET的斷開式、 分布式數(shù)據(jù)方案的核心對(duì)象。Datase專門用來處理從數(shù)據(jù)源獲得的數(shù)據(jù), 無論數(shù) 據(jù)來自什么數(shù)
22、據(jù)源,它都使用相同的方式操作數(shù)據(jù)。2.5 ASP.NET 配置A的配置文件都是XML格式的文件,XML格式文件易于書寫和定制, 采用這種方法進(jìn)行asp.ne配置方便靈活。另外,asp.ne的配置都是可以隨時(shí)更改 的,即應(yīng)用程序運(yùn)行期間,可以隨時(shí)增加和刪除 asp. ne配置文件中的項(xiàng)目,修改 后可以立刻激活使用比當(dāng)配置發(fā)生變化時(shí)需要服務(wù)重新啟動(dòng)配置才生效的方法 有很大的優(yōu)勢(shì)。該系統(tǒng)運(yùn)用了 fig文件進(jìn)行配置web月艮務(wù)器,使用web.config文件配置 web服務(wù)器簡(jiǎn)明扼要。Web.config文件是采用XML格式進(jìn)行編寫的XML文件。2.6 XMLXML是Extensible Markup
23、 Language可擴(kuò)展標(biāo)記語言)。它是一種存儲(chǔ)數(shù)據(jù)的 方法。它提供一種獨(dú)立于應(yīng)用程序的格式來保存數(shù)據(jù),且容易實(shí)現(xiàn)不同應(yīng)用程序之間的數(shù)據(jù)共享。與數(shù)據(jù)庫相比,它不需要任何專用軟件就可以創(chuàng)建和管理 XML 文檔,只要一個(gè)文本編輯器就可以了;而數(shù)據(jù)庫需要專門的數(shù)據(jù)庫管理系統(tǒng)對(duì)數(shù) 據(jù)進(jìn)行管理。第三章BLOG系統(tǒng)分析3.1系統(tǒng)設(shè)計(jì)方案本系統(tǒng)是面向個(gè)人用戶和小型集體用戶開發(fā)的系統(tǒng),完成用戶在Blog上進(jìn)行預(yù)定操作,實(shí)現(xiàn)用戶和來賓之間的雙向溝通。具體設(shè)計(jì)方案為:(1) 系統(tǒng)服務(wù)器為IIS,數(shù)據(jù)庫為SQLSERVER2000,整個(gè)系統(tǒng)界面采用 Microsoft visual Studio 2005 開發(fā)。(
24、2) 系統(tǒng)采用MVC框架,用C#語言實(shí)現(xiàn)。(3) 服務(wù)器與數(shù)據(jù)庫的連接使用 OLEDB編程接口的OleDbConnection對(duì) 象進(jìn)行連接。(4) 系統(tǒng)分成兩部分,前臺(tái)為普通用戶操作界面,功能包括:閱讀文章, 發(fā)表留言,發(fā)表評(píng)論,在線聊天。后臺(tái)為管理員操作界面,管理員通 過登錄進(jìn)入管理界面,功能包括:分類管理,文章管理,添加文章, 評(píng)論管理,鏈接管理,留言管理。3.2系統(tǒng)功能模塊系統(tǒng)功能模塊包括兩大塊:管理界面功能模塊和普通用戶界面功能模塊。其具體功能如下所示:1.2.管理員功能:分類管理,文章管理,評(píng)論管理,鏈接管理,留言 管理。普通用戶功能:閱讀文章,留言,評(píng)論和在線聊天。3.分類官理:
25、文早類型的添加,修改,刪除。4.文章管理:文章的修改,刪除。5.評(píng)論管理:評(píng)論的刪除。6.鏈接管理:鏈接的添加和刪除。7.留言管理:留言的刪除和回復(fù)。管理員用戶功能模塊圖如下:圖1 管理員功能模塊圖普通用戶功能模塊圖如下:圖2普通用戶功能模塊圖3.3數(shù)據(jù)庫需求分析用戶分為普通用戶和管理員用戶管理員涉及類型管理、文章管理、添加文章、評(píng)論管理、鏈接管理、留言 管理。普通用戶可以閱讀文章、發(fā)表回應(yīng)、留言、評(píng)論和在線聊天。一種文章類型有多篇文章。一篇文章有多篇評(píng)論、回復(fù)。對(duì)上面系統(tǒng)功能分析,設(shè)計(jì)如下數(shù)據(jù)項(xiàng):管理員信息:用戶名、密碼。類型信息:類型編號(hào)、類型名稱。鏈接:鏈接編號(hào)、鏈接名稱、鏈接地址。留言
26、:留言編號(hào)、留言人呢稱、留言標(biāo)題、個(gè)人主頁、留言內(nèi)容、留言 時(shí)間、留言回復(fù)。文章信息:文章序號(hào)、文章作者、文章標(biāo)題、摘要、文章內(nèi)容、文章發(fā)表日期、文章人氣、回復(fù)、文章類型編號(hào)、文章類型名稱、文章回復(fù)數(shù)。 評(píng)論:評(píng)論序號(hào)、評(píng)論用戶呢稱、評(píng)論標(biāo)題、評(píng)論內(nèi)容、評(píng)論時(shí)間、評(píng) 論的文章序號(hào)。3.4系統(tǒng)操作流程分析傳統(tǒng)Blog系統(tǒng)這一環(huán)節(jié)所應(yīng)具有的功能,可以得到 Blog系統(tǒng)應(yīng)具有以下 功能:高級(jí)系統(tǒng)用戶(管理員)通過瀏覽器,可以實(shí)現(xiàn)文章的管理(對(duì)文章的各種 信息進(jìn)行瀏覽、增加、刪除、修改等)、普通系統(tǒng)用戶對(duì)文章信息只能閱讀和留 言。而該系統(tǒng)添加了在線即時(shí)聊天,是為該系統(tǒng)的一個(gè)亮點(diǎn)。由此得到的系統(tǒng)的流程圖
27、如圖 3-3所示系統(tǒng)操作流程圖3.5組件和樣式分析博客系統(tǒng)中存在很多相同或相似的元素,這些元素可能是頁面的標(biāo)題,可能 是頁面的版權(quán)聲明,也可能是文章的列表或是登錄信息框。 需要尋找一種方式在 整個(gè)系統(tǒng)中共享,而不需在變化時(shí)修改所有的頁面。 所以就采用了樣式文件進(jìn)行 管理以及用戶自定義組件。3.6用戶控件ASP.NET為開發(fā)人員提供了用戶控件這一新技術(shù)來實(shí)現(xiàn)Web元素的共享,開發(fā)人員可以通過 Visual Studio.Net進(jìn)行Web元素的外面的開發(fā),同時(shí)可以通過 Web元素后臺(tái)代碼的方式進(jìn)行表現(xiàn)層的開發(fā)。 設(shè)計(jì)用戶控件提高了代碼的可重復(fù) 使用的性能。在本系統(tǒng)中,使用了 ST_Heade、ST
28、_Foote等用戶控件。第四章BLOG系統(tǒng)設(shè)計(jì)4.1后臺(tái)功能模塊詳細(xì)設(shè)計(jì)通過此功能用戶可以對(duì)主頁中的許多功能和數(shù)據(jù)進(jìn)行操作控制。身份驗(yàn)證管理員通過此登陸入口進(jìn)入管理界面,此入口需要填寫正確的ID才能夠登陸,非法ID不能夠登陸,其界面如圖4.1所示:圖4.1管理員登錄界面一個(gè)系統(tǒng)能正常使用,安全性是非常重要的一個(gè)部分。安全性是對(duì)用戶的生 份進(jìn)行驗(yàn)證并通過驗(yàn)證的用戶按照為其授予的訪問權(quán)限來確定用戶是否可以訪 問某資源的一個(gè)過程。為了保證系統(tǒng)的安全,為了保證應(yīng)用程序的安全,本系統(tǒng) 采用了身份驗(yàn)證技術(shù)。該代碼表示系統(tǒng)禁止對(duì)ST_login目錄下的ST_admin進(jìn)行匿名訪問.如果存在 匿名用戶,系統(tǒng)將
29、自動(dòng)驗(yàn)證用戶名,提示錯(cuò)誤信息。保證了系統(tǒng)的安全關(guān)鍵代碼如下:實(shí)現(xiàn)此功能的關(guān)鍵代碼為:protected void Butt on 1_Click(object sen der, System.Eve ntArgs e)OleDbComma nd ST_myCmd = new OleDbComma nd("select * fromST_adm in where ST_admin_user='" + admi nn ame.Text.Trim() + "' and ST_admin_psw='" + admi npsw.Text.T
30、rim() + "'", ST_myC onn);ST_myCo nn. Ope n();OleDbDataReader ST_read = ST_myCmd.ExecuteReader();if (ST_read.Read()Sessio n"UserName" = ST_read0.ToStri ng();Resp on se.Redirect("ST_admi n.aspx"); _elseResponse.Write("<script>alert(用戶名和密碼不對(duì)')</script
31、>");后臺(tái)文章添加管理管理員可以在此頁面操作管理功能,這些功能可以對(duì)主頁進(jìn)行添加、刪除、 修改等操作:圖4.2管理員操作界面public void ST_Save_Add() 一 一stri ng ST_n _title = HtmlE ncode(Request.Form"n_title"); stri ng ST_n _author = HtmlE ncode(Request.Form" n_author"); string ST_n_key = HtmlE ncode(Request.Form" n_key")
32、;stri ng ST_n _co nte nt = Request.Form"n_content".Replace("”',"”"); int ST_cmd;if (Request.Form" nscmd" != n ull) _ST_cmd = 1; _elseST_cmd = 0;if (ST_ n_title = "" | ST_n_key = "" | ST_n_conten t ="")Respo nse.Write("<div
33、alig n=ce nter><li> 標(biāo)題,摘要,內(nèi)容不能為空!</li>vli><a href=javascript:history.back()> 點(diǎn)此返回 </a>");Resp on se.E nd();elsestri ng ST_sql = "in sert into ST_n ews(ST_ n_author,ST_ n_title,ST_n_key,ST_ n_co nte nt,ST_c_id,ST_ nscmd) values ('" + ST_n_author + &quo
34、t;','" + ST_n_title + "','" + ST_n_key + "','" + ST_n_co ntent + "'," + Request.Form"listtype" + "," + ST_cmd + ")"OleDbComma nd ST_myCmd = new OleDbComma nd(ST_sql, ST_myCo nn);ST_myCo nn. Ope n();ST_myCmd.
35、ExecuteNo nQuery();ST_myCo nn .Close();Resp on se.Redirect("ST_mai n.aspx"); _后臺(tái)文章類別管理圖4.4類別管理界面protected void Page_Load(object sen der, System.Eve ntArgs e) _stri ng ST_d ns = Con figurati on Sett in gs.AppSett in gs"c onn"ST_myCo nn = new OleDbC onn ectio n( ST_d ns); ST_Type_L
36、ist_Bi nd();private void ST_Type_List_Bi nd() -OleDbDataAdapter ST_classCmd = new OleDbDataAdapter("select ST_c_id,ST_c_name from ST_class",ST_myCo nn);DataSet ST_classds = new DataSet();ST_classCmd.Fill(ST_classds,類別列表");ClassList.DataSource = new DataView(ST_classds.TablesO); ClassL
37、ist.DataB in d();4.2前臺(tái)功能模塊詳細(xì)設(shè)計(jì)421前臺(tái)主界面前臺(tái)主界面圖如下:圖4.3前臺(tái)主界面該頁面是普通用戶最主要的頁面,普通用戶所有功能操作都與該頁面有關(guān)。普通用戶采用匿名登錄,可以訪問該頁面的所有功能。前臺(tái)用戶回復(fù)評(píng)論文章模塊前臺(tái)普通用戶回復(fù)評(píng)論文章界面如下圖所示:該模塊的功能是對(duì)文章發(fā)表回復(fù),同時(shí)驗(yàn)證發(fā)送內(nèi)容都不能為空。其關(guān)鍵代碼 如下:protected void replay_Click(object sender, System.EventArgs e)if (IsPostBack)if (r_nick.Text.Trim()="" | r_
38、title.Text.ToStri ng().Trim()="" | r_con te nt.Value.Trim()="”)Resp on se.Write("<div alig n=ce nter><li> 昵稱,標(biāo)題,內(nèi)容不能 為空!</li>vli><a href=javascript:history.back()> 點(diǎn)此返回 </a>");Resp on se.E nd();elsestring ST_sql = "insert into ST_replay(
39、ST_r_nick,ST_r_title,ST_r_co nten t,ST_r_date,ST_n_id) values ('"+ r_nick.Text +"','"+ r_title.Text +"','"+ r_conten t.Value +"T"+System.DateTime.Now +"',"+Request.QueryStri ng"id"+")"OleDbComma nd ST_myCmd = ne
40、wOleDbComma nd(ST_sql,ST_myCo nn);ST_myCo nn. Ope n();ST_myCmd.ExecuteNo nQuery();ST_myCo nn. Close();ST_add_Re();Respo nse.Redirect(""+Request.QueryStri ng"id"+".aspx");423在線聊天登錄界面模塊用戶可以通過該頁面進(jìn)入聊天室,實(shí)現(xiàn)在線即時(shí)聊天。用戶可以不用注冊(cè), 直輸入用戶名,進(jìn)入聊天室聊天。對(duì)于用戶名相同,系統(tǒng)會(huì)提示錯(cuò)誤文本消息。圖4.5聊天登錄界面其關(guān)鍵代碼為:p
41、rotected void Log in( object sen der. Eve ntArgs e )stri ng user = txtUser name.Text;if( !ValidateNick( user ) ) return;if( Global.Engine.UserExists( user ) lblErrorMsg.Text ="這個(gè)用戶名已經(jīng)存在,請(qǐng)更換后重試."; return;Resp on se.Redirect( "Server.aspx?actio n=Logi n&u=" + user );bool Valida
42、teNick( stri ng nick )if( nick = stri ng.Empty ) lblErrorMsg.Text ="請(qǐng)?jiān)谶@輸入呢稱." return false;if( nick. Le ngth > 10 ) lblErrorMsg.Text ="呢稱太長(zhǎng),請(qǐng)不要超過10個(gè)字" return false;return true;在線聊天模塊在線聊天界面如下:圖4.6聊天窗口界面該頁面采用了 ajax技術(shù)實(shí)現(xiàn)頁面無刷新只在聊天窗口實(shí)現(xiàn)數(shù)據(jù)更新,完成信 息交互的功能,達(dá)到了很好的聊天效果。關(guān)鍵方法代碼如下:fun cti on p
43、ostText()rn d+;chatbox = getEleme nt( "mytext");chat = chatbox.value;chatbox.value =""userid = location.search.substring( 1, location.search.length );url = 'Server.aspx?actio n=PostMsg&u=' + userid + '&t=' +en codeURIComp onen t(chat) + '&sessi on=
44、' + rnd;req = getAjax();req. on readystatecha nge = fun cti on()if( req.readyState = 4 && req.status = 200 )updateAll();req.ope n( 'GET', url, true );req.se nd( n ull );4.3數(shù)據(jù)庫的詳細(xì)設(shè)計(jì)數(shù)據(jù)表設(shè)計(jì)博客系統(tǒng)中的數(shù)據(jù)管理形式采用數(shù)據(jù)庫,根據(jù)系統(tǒng)需要與數(shù)據(jù)規(guī)范化分為用戶表ST_admi n,類型信息表(ST_clas® ,鏈接信息表(ST_li nk),留言信息表(ST_mess
45、age,文章信息表(ST_news),評(píng)論信息表(ST_replay)這六個(gè)表, 表結(jié)構(gòu)分別如下:表1 ST admi n(用戶表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說明1ST_admin_userNvarchar50管理員ID2ST_admin_pswNvarchar50管理員密碼該表為管理員登錄的信息表,本系統(tǒng)沒有包含管理員用戶的注冊(cè)模塊,管理 員帳號(hào)直接在數(shù)據(jù)庫中設(shè)計(jì)。普通用戶匿名登錄主頁。表2 ST class類型信息表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說明1ST_c_idBigi nt8文章類型號(hào)2ST c nameNvarchar50文章類型名該表用來記錄文章類型的相關(guān)信息, 系統(tǒng)文章分了類別,使管
46、理文章,查看文章都變的非常的方便。表3 ST_link (鏈接信息表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說明1ST丄idBigi nt8鏈接號(hào)2ST_l_ nameNvarchar50鏈接名3ST_l_urlNvarchar50鏈接地址該表記錄了鏈接的相關(guān)信息,方便用戶快速的鏈接到想瀏覽的網(wǎng)站,提高 了用戶的操作效率。表4 ST message留言信息表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說明1ST_idBigi nt8留言號(hào)2ST_nickn ameNvarchar50網(wǎng)友呢稱3ST titleNvarchar50留言標(biāo)題4ST_homepageNvarchar50個(gè)人主頁5ST c ontentNtext16
47、留言內(nèi)容6ST mdateDatetime8留言時(shí)間7ST hfNtext16留言回復(fù)該表包含了留言的相關(guān)信息,留言模塊方便普通用戶和版主之間的交流,為他們提供了一個(gè)專門的途徑。表5 ST n ews文章信息表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說明1ST_n_idBigi nt4文早號(hào)2ST_n _authorNvarchar50文早作者3ST_n_titleNvarchar200文章標(biāo)題4ST_n_keyNvarchar200文章摘要5ST_n_con te ntNtext16文章內(nèi)容6ST n dateDatetime8文章發(fā)表日期7ST_n_hitBigi nt8文章人氣8ST n reBigi
48、 nt8文章回復(fù)9ST c idBigi nt8文早類型編號(hào)10ST c nameNvarchar50文章類型名稱11ST nscmdint4文章回復(fù)數(shù)該表為文章信息表,包含了文章的相關(guān)屬性,用來記錄文章信息。該模塊可以幫助用戶了解文章的基本信息。比如:文章人氣高可能是內(nèi)容很有意義,方便 用戶去閱讀那些比較好的文章。表6 ST replay(評(píng)論信息表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說明1ST_r_idBigi nt8評(píng)論號(hào)2ST_r_nickNvarchar50呢稱3ST_r_titleNvarchar50評(píng)論標(biāo)題4ST_r_contentNvarchar250評(píng)論內(nèi)容5ST r dateDate
49、time8評(píng)論發(fā)表時(shí)間6ST_n_idInt4評(píng)論文章編號(hào)此表為評(píng)論信息表,用來記錄評(píng)論信息。評(píng)論也是用戶的一種交流方式。該模塊加強(qiáng)了用戶之間的溝通。數(shù)據(jù)庫訪問該系統(tǒng)數(shù)據(jù)庫的連接在應(yīng)用程序配置文件(Web.co nfig)中設(shè)置了數(shù)據(jù)庫的 連接信息。這樣提高了程序的的移植性, 且為版本升級(jí),代碼擴(kuò)展提供了良好的 基礎(chǔ)。連接語句代碼如下:<con figurati on>vcon figSect ions>vsect ionn ame=”RewriteC onfig ” type=”URLRewrite.Co nfig.RewriteC on figSerializerSect
50、io nH an dler,URLRewrite ”/><con figSect ions> vappSetti ngs><add key=”conn” value=”provider=SQLOLEDB.1;Password=;Persist Security in fo=True;User ID=sa;I nitial Catalog=ST_Blog;DataSource= ”> v/appSett in gs>v/con figurati on>在功能代碼中用如下語句與數(shù)據(jù)庫關(guān)聯(lián):Protected void Page_Lo
51、ad(object sen der,System.Eve ntArgs e) String ST_d ns=C on figurati on Sett in gs.AppSetti ngs conn”ST_myc onn=new OleDbC onn ectio n(ST_d ns);第五章結(jié)束語5.1不足之處與改進(jìn)本系統(tǒng)現(xiàn)已基本完成,基本功能已經(jīng)具備,但在如下幾個(gè)方面還存在著不足, 需要做進(jìn)一步的研究與開發(fā),使Blog系統(tǒng)能夠更完善。權(quán)限分配本系統(tǒng)權(quán)限分配不夠細(xì)化,只分為管理員和普通用戶。管理員可以對(duì)數(shù)據(jù)庫 進(jìn)行所有操作,普通用戶只能瀏覽文章,發(fā)表回復(fù) ,在線聊天。而不能發(fā)表自己 的文章,管
52、理自己的文章,缺乏作為低級(jí)管理員的功能。如果我們能在數(shù)據(jù)庫中 為各種不同的用戶分配不同的角色來細(xì)化權(quán)限的分配,這樣可以便于我們對(duì)系統(tǒng) 的管理和維護(hù),也能夠更多的滿足廣大用戶的需求。界面美觀化一個(gè)系統(tǒng)強(qiáng)大的功能固然重要,能有一個(gè)漂亮的界面也必不可少。特別是界面上顏色的搭配很有講究,要符合系統(tǒng)的基調(diào)。讓用戶更加賞心悅目,為此我認(rèn)真研究了 CSS, .NET。在一定程度上美化了界面,但是對(duì) FLASH,PHOTOSHOP 還不同熟悉,所以界面顯得單調(diào)。5.2結(jié)論本文提出并設(shè)計(jì)了一個(gè)基于 ASP.NET 的完整的博客系統(tǒng),該系統(tǒng)整合了 數(shù)據(jù)庫技術(shù)、ASP.NET技術(shù)、網(wǎng)站開發(fā)技術(shù)等。主要實(shí)現(xiàn)了當(dāng)前主流
53、博客的基 本功能,并在該系統(tǒng)中添加了聊天功能,該功能采用先進(jìn)的Ajax技術(shù),不但功能強(qiáng)大而且好用。因此它的功能比傳統(tǒng)的博客更加全面。采用MVC模式,按照任務(wù)和業(yè)務(wù)驅(qū)動(dòng)的過程進(jìn)行開發(fā)。 但是本系還存在著一些不足之處,如安全性上 的密碼未采用加密,部分功能待完善, 權(quán)限分配不夠全面不夠細(xì)。通過對(duì)這個(gè)系 統(tǒng)的學(xué)習(xí)與開發(fā),讓我更好地掌握了 ASP.NET的開發(fā)技術(shù),更深刻地理解了網(wǎng) 站的開發(fā)流程。在兩個(gè)月的開發(fā)周期中,讓我明白一點(diǎn),就是測(cè)試的重要性。所謂建系統(tǒng), 測(cè)試先行,軟件工程的知識(shí)告訴我們一個(gè)系統(tǒng)的開發(fā)從立項(xiàng)到投入運(yùn)行,很長(zhǎng)的周期都是在測(cè)試上的,這次的實(shí)際的系統(tǒng)開發(fā)讓我增長(zhǎng)了測(cè)試的經(jīng)驗(yàn)。參考文獻(xiàn)1 張樹亮,李超著2.0+sql server網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)案例精解M清華大學(xué)出版社2006-92 .明月創(chuàng)作室編著visual c#編程精彩百例M人民郵電出版社2001-93 .孫永強(qiáng),楊麗坤著Visual C#.NET中文版Web服務(wù)開發(fā)基礎(chǔ)M清華 大學(xué)出版社2006-94 .金雪云著ASP.MET簡(jiǎn)明教程M清華大學(xué)出版社2003-7.馬軍著ASP網(wǎng)絡(luò)編程從入門到精通M清華大學(xué)出版社2005-9.沈陽,李勇敢著ASP.NE程序設(shè)計(jì)教程M電子工業(yè)出版社2006-107 .李友蘭,楊曉光著Visual C#.NET程序設(shè)計(jì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 氣密條施工方案
- 尿素脫硝施工方案
- 陜西財(cái)稅知識(shí)培訓(xùn)課件
- 第2單元第2節(jié)《人機(jī)的互動(dòng)》教學(xué)設(shè)計(jì) 2023-2024學(xué)年粵教清華版初中信息技術(shù)七年級(jí)下冊(cè)
- 光伏材料合同范例
- 合同范本運(yùn)用方法
- 年度創(chuàng)新思維與實(shí)踐分享計(jì)劃
- 產(chǎn)品定價(jià)和利潤(rùn)計(jì)劃
- 精細(xì)化管理在急診科的應(yīng)用計(jì)劃
- 安徽省合肥市長(zhǎng)豐縣七年級(jí)生物上冊(cè) 1.1.1 生物的特征教學(xué)實(shí)錄2 (新版)新人教版
- 設(shè)計(jì)變更工作流程(附設(shè)計(jì)變更申請(qǐng)表)
- 婦女保健知識(shí)講座
- 執(zhí)行申請(qǐng)書范本電子版
- 小學(xué)高年級(jí)《紅樓春趣》劇本(寧波實(shí)驗(yàn)學(xué)校)
- 安徽省縣域?qū)W前教育普及普惠督導(dǎo)評(píng)估指標(biāo)體系
- 第二章-英國學(xué)前教育
- 國家職業(yè)技能鑒定考試-高級(jí)機(jī)修鉗工題庫
- 315國際消費(fèi)者權(quán)益保護(hù)日知識(shí)講座課件
- 2023年二手房買賣合同正式版
- 2例不良事件根因分析
- YS/T 269-2008丁基鈉(鉀)黃藥
評(píng)論
0/150
提交評(píng)論