




已閱讀5頁(yè),還剩24頁(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)介
目 錄第一章 緒論11.1 系統(tǒng)開發(fā)背景11.2課題研究的意義1第二章 Blog系統(tǒng)開發(fā)技術(shù)22.1 ASP.NET介紹22.2MVC開發(fā)模式32.3Ajax介紹42.3.1什么是Ajax42.3.2 Ajax相關(guān)技術(shù)介紹42.3.3 Ajax技術(shù)在系統(tǒng)中的應(yīng)用52.4 數(shù)據(jù)庫(kù)52.4.1 SQL SERVER 200052.4.2 ADO.NET52.5 ASP.NET配置62.6 XML7第三章 BLOG系統(tǒng)分析83.1 系統(tǒng)設(shè)計(jì)方案83.2 系統(tǒng)功能模塊83.3 數(shù)據(jù)庫(kù)需求分析103.4 系統(tǒng)操作流程103.5組件和樣式分析113.6 用戶控件11第四章 BLOG系統(tǒng)設(shè)計(jì)124.1后臺(tái)功能模塊詳細(xì)設(shè)計(jì)124.1.1 身份驗(yàn)證124.1.2 后臺(tái)文章添加管理134.1.3 后臺(tái)文章類別管理144.2前臺(tái)功能模塊詳細(xì)設(shè)計(jì)154.2.1前臺(tái)主界面154.2.2 前臺(tái)用戶回復(fù)評(píng)論文章模塊164.2.3 在線聊天登錄界面模塊174.2.4 在線聊天模塊184.3 數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)194.3.1 數(shù)據(jù)表設(shè)計(jì)194.3.2數(shù)據(jù)庫(kù)訪問(wèn)21第五章 結(jié)束語(yǔ)225.1 不足之處與改進(jìn)225.1.1 權(quán)限分配225.1.3 界面美觀化225.2 結(jié)論22參考文獻(xiàn)23致 謝24摘 要隨著計(jì)算機(jī)的發(fā)展和普及,Blog得到了極大的發(fā)展。Blog是Weblog(網(wǎng)絡(luò)日志)的簡(jiǎn)稱。Blog是即E-mail、BBS、ICQ之后的第四種網(wǎng)絡(luò)交流方式。它以個(gè)人為中心傳播出版有影響力的消息、新聞、事件等,鮮明的個(gè)人特色引人矚目,它以獨(dú)特的視角、敏銳的觀察力,不斷的沖擊傳統(tǒng)媒體。傳統(tǒng)的Blog已經(jīng)滿足不了社會(huì)的需要,擁有更多更新功能的Blog急需走上舞臺(tái)。該系統(tǒng)以ASP.NET為開發(fā)技術(shù),使用C#為開發(fā)語(yǔ)言,采用Web展示層和SQLserver 2000數(shù)據(jù)庫(kù)兩層架構(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 computers development and the popularization, Blog obtained 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 conspicuous, it by unique angle of view, keen power of observation, unceasing impact tradition media. Traditional Blog already could not meet societys 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 the 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 the working efficiency. key word: Blog, ASP.NET, C#, SQLserve具有聊天功能的Blog實(shí)現(xiàn) 第一章 緒論 第 1頁(yè) 共24頁(yè)第一章 緒論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)從過(guò)去的通訊功能,資料功能、交流功能等進(jìn)一步強(qiáng)化,使其更加個(gè)性化、開放化、實(shí)時(shí)化、全球化,把信息共享發(fā)展到資源共享、思想共享、生命歷程共享。Blog已經(jīng)成為一種繼課件、積件、資源庫(kù)、教育主題網(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)被越來(lái)越多的人所接受,并且在改變傳統(tǒng)的網(wǎng)絡(luò)和社會(huì)結(jié)構(gòu)。它使交流和溝通更有明確的選擇和方向性;單一的思想和群體的智慧結(jié)合變得更加有效;個(gè)人出版變成人人都可以實(shí)現(xiàn)的夢(mèng)想。Blog正在影響和改變著我們的生活。Blog是以網(wǎng)絡(luò)作為載體,簡(jiǎn)易迅速便捷地發(fā)布自己的心得,及時(shí)有效輕松地與他人進(jìn)行交流,再集豐富多彩的個(gè)性化展示于一體的綜合性平臺(tái)。展示豐富的個(gè)性化,對(duì)Blog功能的要求自然更高,新一代具有更多、更新、更全功能的Blog急需走進(jìn)舞臺(tái)。系統(tǒng)加入聊天功能可以更加方便大家的交流。具有聊天功能的Blog實(shí)現(xiàn) 第二章 Blog系統(tǒng)開發(fā)技術(shù) 第二章 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è)方面的優(yōu)點(diǎn): (1) 多語(yǔ)言ASP曾在腳本引擎方面受到了限制,特別是VBScript和Jscript。而ASP.NET則支持多種語(yǔ)言,默認(rèn)情況下為Visual Basic.NET、C#和Jscript.NET,另外還支持一些第三方語(yǔ)言。(2) 服務(wù)器處理ASP在服務(wù)器處理上不管頁(yè)面的內(nèi)容是純HTML還是ASP生成的HTML,它都是按照實(shí)現(xiàn),形成所謂3-tier頁(yè)面順序顯示的。因此邏輯代碼依賴于它在頁(yè)面中的位置,并且無(wú)法將HTML控件作為目標(biāo),除非將它們作為流的一部分進(jìn)行顯示。而ASP.NET就解決了這個(gè)問(wèn)題,方法是為控件引入一個(gè)聲明的基于服務(wù)器的模型,因?yàn)榭丶诜?wù)器上有,可以在服務(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ā)往往由不同的人來(lái)實(shí)現(xiàn)的,而ASP中就是存在著這樣一個(gè)問(wèn)題,代碼(ASP腳本)和內(nèi)容(HTML)混合在一起。這樣就使得同時(shí)進(jìn)行設(shè)計(jì)和開發(fā)變得很困難。而ASP.NET則采用了代碼內(nèi)聯(lián)和后臺(tái)編碼兩種方法實(shí)現(xiàn)了代碼與內(nèi)容的分離。2.2MVC開發(fā)模式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è)不同的顯示形式或視圖。(2)控制器部件是處理用戶與軟件的交互操作的,其職責(zé)是控制提供模型中任何變化的傳播,確保用戶畫面與模型間的對(duì)應(yīng)聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進(jìn)而實(shí)現(xiàn)對(duì)模型的計(jì)算控制,是使模型和視圖協(xié)調(diào)工作的部件。(3)模型部件保存由視圖顯示、由控制器控制的數(shù)據(jù);它封裝了問(wèn)題的核心數(shù)據(jù)、邏輯和功能的計(jì)算關(guān)系,它獨(dú)立于具體的畫面表達(dá)和I/O操作。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其他依賴于這些數(shù)據(jù)的視圖都應(yīng)反映了這些變化。因此,無(wú)論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化傳播機(jī)制。(4)ASP.NET模式下如何實(shí)現(xiàn)MVC?ASP.NET提供了一個(gè)很好的實(shí)現(xiàn)這種經(jīng)典設(shè)計(jì)模式的類似環(huán)境。開發(fā)者通過(guò)在ASPX頁(yè)面中開發(fā)用戶接口來(lái)實(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)來(lái)說(shuō)有明顯的優(yōu)點(diǎn)。將用戶顯示(視圖)從動(dòng)作(控制器)中分離出來(lái),提高了代碼的重用性。將數(shù)據(jù)(模型)從對(duì)其操作的動(dòng)作(控制器)分離出來(lái),可以讓用戶設(shè)計(jì)一個(gè)與后臺(tái)存儲(chǔ)數(shù)據(jù)無(wú)關(guān)的系統(tǒng)。就MVC結(jié)構(gòu)的本質(zhì)而言,它是一種解決耦合系統(tǒng)問(wèn)題的方法。2.3 Ajax介紹2.3.1什么是AjaxAjax是Asynchronous JavaScript and XML的縮寫,即異步JavaScript 和XML。Ajax是一種客戶端技術(shù),Ajax技術(shù)借助異步JavaScript實(shí)現(xiàn)瀏覽器和服務(wù)器之間的異步交互,即相當(dāng)于在Web應(yīng)用中實(shí)現(xiàn)了原來(lái)C/S(Client/Server)結(jié)構(gòu)下的交互結(jié)果,且這種效果的實(shí)現(xiàn)并沒有帶來(lái)繁瑣的客戶部署工作。比如:無(wú)需重新加載整個(gè)頁(yè)面就可以想服務(wù)器發(fā)送請(qǐng)求,并接受響應(yīng)。同時(shí)對(duì)XML文檔解析和處理。Ajax的解決方案及其優(yōu)越性Ajax相當(dāng)于在瀏覽器客戶端與服務(wù)器之間架設(shè)了一個(gè)橋梁、一個(gè)媒介,在它的幫助下,可以消除網(wǎng)絡(luò)交互過(guò)程中的處理等待處理等缺陷。在處理過(guò)程中Web服務(wù)器響應(yīng)是標(biāo)準(zhǔn)的且易于解析的XML格式的數(shù)據(jù)傳遞給Ajax,然后再轉(zhuǎn)換成HTML頁(yè)面的格式,輔助CSS進(jìn)行顯示。Ajax是使用XMLHttpRequest對(duì)象發(fā)送請(qǐng)求并獲得服務(wù)器端的響應(yīng),同時(shí)Ajax可以在不重新載入整個(gè)頁(yè)面的情況下用JavaScipt操作DOM以實(shí)現(xiàn)最終更新頁(yè)面。因此在讀取數(shù)據(jù)的過(guò)程中,用戶棉對(duì)的不是白屏,而是原來(lái)的內(nèi)容。這種更新是瞬間的,使用戶感覺是連貫的。借助Ajax,可以把以前一些原本由服務(wù)器負(fù)擔(dān)的工作轉(zhuǎn)移到客戶端來(lái)完成,利用客戶端閑置的能力來(lái)進(jìn)行處理,這樣也可以有效地減輕服務(wù)器和帶寬的負(fù)擔(dān),使服務(wù)器更穩(wěn)定,更良好的運(yùn)行。同時(shí)節(jié)約了空間和寬帶。2.3.2 Ajax相關(guān)技術(shù)介紹Ajax是多種技術(shù)的綜合應(yīng)用,包括JavaScipt腳本、CSS、DOM和重要對(duì)象XMLHttpRequest。(1) JavaScipt是一種可以與HTML標(biāo)記混合使用的腳本語(yǔ)言,編寫的程序可以直接在瀏覽器中解釋執(zhí)行。因此使用腳本語(yǔ)言編寫程序可以在瀏覽器支持下跨平臺(tái)運(yùn)行。JavaScipt腳本中可以調(diào)用瀏覽器及Ajax中提供的相關(guān)對(duì)象。利用這些對(duì)象的屬性方法可以實(shí)現(xiàn)頁(yè)面效果的動(dòng)態(tài)控制。(2) CSS是層疊樣式表。CSS規(guī)則由模式匹配段和操作部分組成。模式匹配段用于表示元素與行為之間的關(guān)聯(lián)性;操作部分用于確定對(duì)指定部分的操作。CSS層疊樣式可以彌補(bǔ)HTML超文本標(biāo)記語(yǔ)言在格式修飾中的不足,同時(shí)也為能夠?qū)崿F(xiàn)頁(yè)面格式的批量動(dòng)態(tài)更新。(3) DOM的全稱是文檔對(duì)象模型(Document Object Model),它在本質(zhì)上是一種文檔平臺(tái)。在使用Ajax技術(shù)中,借助DOM,可以結(jié)合腳本語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)的數(shù)據(jù)存儲(chǔ)以及動(dòng)態(tài)上傳文件。(4) XMLHttpRequest是Ajax技術(shù)中最重要的一個(gè)對(duì)象。頁(yè)面可以在不刷新的情況下通過(guò)它發(fā)送請(qǐng)求來(lái)獲取服務(wù)器響應(yīng)。也可以使用該對(duì)象在不刷新當(dāng)前頁(yè)面的情況下更新頁(yè)面中的數(shù)據(jù)。2.3.3 Ajax技術(shù)在系統(tǒng)中的應(yīng)用Ajax技術(shù)運(yùn)用于該系統(tǒng)的在線即時(shí)聊天功能模塊。通過(guò)該技術(shù)實(shí)現(xiàn)了聊天信息的不斷更新,但并沒有將整個(gè)頁(yè)面都刷新,也不會(huì)帶來(lái)頁(yè)面在連續(xù)閃爍等問(wèn)題。利用Ajax技術(shù)將聊天窗口不段更新數(shù)據(jù),聊天窗口采用CSS樣式,實(shí)現(xiàn)頁(yè)面格式的批量動(dòng)態(tài)更新。2.4 數(shù)據(jù)庫(kù)本系統(tǒng)才用SQL SERVER2000做為后臺(tái)數(shù)據(jù)庫(kù),采用ADO.NET技術(shù)對(duì)數(shù)據(jù)進(jìn)行操作。2.4.1 SQL SERVER 2000SQL SERVER2000是可以在WEB上運(yùn)行的數(shù)據(jù)庫(kù)服務(wù)產(chǎn)品。它既可適用于桌面系統(tǒng)的單用戶數(shù)據(jù)庫(kù),也可適用于企業(yè)的網(wǎng)絡(luò)數(shù)據(jù)庫(kù),甚至適用于專業(yè)的WEB站點(diǎn)數(shù)據(jù)庫(kù),具有很強(qiáng)的可伸縮性。并且具有很高的可靠性、可用性和可管理性。從經(jīng)濟(jì)和開發(fā)效率上適合中小型網(wǎng)站。它和ASP.NET同屬于微軟公司開發(fā),在開發(fā)接口有一致性,能更好的協(xié)調(diào)工作。同時(shí),SQL SERVER2000對(duì)數(shù)據(jù)的安全性也有一定的保障,它對(duì)用戶的訪問(wèn)進(jìn)行了兩個(gè)階段的檢查:一是認(rèn)證階段,二是許可確認(rèn)階段。數(shù)據(jù)庫(kù)使用ADO.NET來(lái)處理數(shù)據(jù)。2.4.2 ADO.NET ADO.NET是基于.NET框架結(jié)構(gòu)、面向分布式和以XML數(shù)據(jù)格式為核心的數(shù)據(jù)訪問(wèn)技術(shù),它提供了一組數(shù)據(jù)訪問(wèn)服務(wù)的類,可用于對(duì)Microsoft SQL Server、Oracle等數(shù)據(jù)源及通過(guò)OLEDB和XML公開的數(shù)據(jù)遠(yuǎn)源的一致訪問(wèn)。ADO.NET統(tǒng)一了數(shù)據(jù)容器類編程接口,無(wú)論編寫何種應(yīng)用程序(Windows窗體、Web窗體、Web服務(wù))都可以通過(guò)同一組類來(lái)處理數(shù)據(jù)。為使用方便,ADO.NET還提供了一組豐富的控件,利用可視化方式來(lái)開發(fā)數(shù)據(jù)庫(kù)應(yīng)用。 ADO.NET體系結(jié)構(gòu)如下圖所示.NET Framework 數(shù)據(jù)提供程序DatasetData TableCollection數(shù)據(jù)表DataAdapterConnection事務(wù)Command參數(shù)DataReaderDeleteCommandUpdateCommandInsertCommandSelectCommand數(shù)據(jù)庫(kù)DataRowCollectionConstraintCollectionDataColumnCollectionnDataRelationCollectionXMLADO.NET體系結(jié)構(gòu)圖ADO.NET體系結(jié)構(gòu)的兩大核心控件是.NET Framework數(shù)據(jù)提供程序和Dataset。. NET Framework數(shù)據(jù)提供程序用于連接到數(shù)據(jù)庫(kù)、執(zhí)行命令和檢索結(jié)果。Dataset是一個(gè)功能豐富、比較復(fù)雜的數(shù)據(jù)集,它是支持ADO.NET的斷開式、分布式數(shù)據(jù)方案的核心對(duì)象。Dataset專門用來(lái)處理從數(shù)據(jù)源獲得的數(shù)據(jù),無(wú)論數(shù)據(jù)來(lái)自什么數(shù)據(jù)源,它都使用相同的方式操作數(shù)據(jù)。2.5 ASP.NET配置A的配置文件都是XML格式的文件,XML格式文件易于書寫和定制,采用這種方法進(jìn)行配置方便靈活。另外,的配置都是可以隨時(shí)更改的,即應(yīng)用程序運(yùn)行期間,可以隨時(shí)增加和刪除配置文件中的項(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 Language(可擴(kuò)展標(biāo)記語(yǔ)言)。它是一種存儲(chǔ)數(shù)據(jù)的方法。它提供一種獨(dú)立于應(yīng)用程序的格式來(lái)保存數(shù)據(jù),且容易實(shí)現(xiàn)不同應(yīng)用程序之間的數(shù)據(jù)共享。與數(shù)據(jù)庫(kù)相比,它不需要任何專用軟件就可以創(chuàng)建和管理XML文檔,只要一個(gè)文本編輯器就可以了;而數(shù)據(jù)庫(kù)需要專門的數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行管理。第 8頁(yè) 共24頁(yè)具有聊天功能的Blog實(shí)現(xiàn) 第三章 Blog系統(tǒng)分析 第三章 BLOG系統(tǒng)分析3.1 系統(tǒng)設(shè)計(jì)方案本系統(tǒng)是面向個(gè)人用戶和小型集體用戶開發(fā)的系統(tǒng),完成用戶在Blog上進(jìn)行預(yù)定操作,實(shí)現(xiàn)用戶和來(lái)賓之間的雙向溝通。具體設(shè)計(jì)方案為:(1) 系統(tǒng)服務(wù)器為IIS,數(shù)據(jù)庫(kù)為SQLSERVER2000,整個(gè)系統(tǒng)界面采用Microsoft visual Studio 2005開發(fā)。(2) 系統(tǒng)采用MVC框架,用C#語(yǔ)言實(shí)現(xiàn)。(3) 服務(wù)器與數(shù)據(jù)庫(kù)的連接使用OLEDB編程接口的OleDbConnection對(duì)象進(jìn)行連接。(4) 系統(tǒng)分成兩部分,前臺(tái)為普通用戶操作界面,功能包括:閱讀文章,發(fā)表留言,發(fā)表評(píng)論,在線聊天。后臺(tái)為管理員操作界面,管理員通過(guò)登錄進(jìn)入管理界面,功能包括:分類管理,文章管理,添加文章,評(píng)論管理,鏈接管理,留言管理。3.2 系統(tǒng)功能模塊系統(tǒng)功能模塊包括兩大塊:管理界面功能模塊和普通用戶界面功能模塊。其具體功能如下所示:1 管理員功能:分類管理,文章管理,評(píng)論管理,鏈接管理,留言管理。2 普通用戶功能:閱讀文章,留言,評(píng)論和在線聊天。3 分類管理:文章類型的添加,修改,刪除。4 文章管理:文章的修改,刪除。5 評(píng)論管理:評(píng)論的刪除。6 鏈接管理:鏈接的添加和刪除。7 留言管理:留言的刪除和回復(fù)。管理員用戶功能模塊圖如下:圖1 管理員功能模塊圖普通用戶功能模塊圖如下:圖2 普通用戶功能模塊圖3.3 數(shù)據(jù)庫(kù)需求分析用戶分為普通用戶和管理員用戶管理員涉及類型管理、文章管理、添加文章、評(píng)論管理、鏈接管理、留言管理。普通用戶可以閱讀文章、發(fā)表回應(yīng)、留言、評(píng)論和在線聊天。一種文章類型有多篇文章。一篇文章有多篇評(píng)論、回復(fù)。對(duì)上面系統(tǒng)功能分析,設(shè)計(jì)如下數(shù)據(jù)項(xiàng): 管理員信息:用戶名、密碼。 類型信息:類型編號(hào)、類型名稱。 鏈接:鏈接編號(hào)、鏈接名稱、鏈接地址。 留言:留言編號(hào)、留言人呢稱、留言標(biāo)題、個(gè)人主頁(yè)、留言內(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)用戶(管理員)通過(guò)瀏覽器,可以實(shí)現(xiàn)文章的管理(對(duì)文章的各種信息進(jìn)行瀏覽、增加、刪除、修改等)、普通系統(tǒng)用戶對(duì)文章信息只能閱讀和留言。而該系統(tǒng)添加了在線即時(shí)聊天,是為該系統(tǒng)的一個(gè)亮點(diǎn)。由此得到的系統(tǒng)的流程圖如圖3-3所示系統(tǒng)操作流程圖3.5組件和樣式分析博客系統(tǒng)中存在很多相同或相似的元素,這些元素可能是頁(yè)面的標(biāo)題,可能是頁(yè)面的版權(quán)聲明,也可能是文章的列表或是登錄信息框。需要尋找一種方式在整個(gè)系統(tǒng)中共享,而不需在變化時(shí)修改所有的頁(yè)面。所以就采用了樣式文件進(jìn)行管理以及用戶自定義組件。3.6 用戶控件ASP.NET為開發(fā)人員提供了用戶控件這一新技術(shù)來(lái)實(shí)現(xiàn)Web元素的共享,開發(fā)人員可以通過(guò)Visual Studio.Net進(jìn)行Web元素的外面的開發(fā),同時(shí)可以通過(guò)Web元素后臺(tái)代碼的方式進(jìn)行表現(xiàn)層的開發(fā)。設(shè)計(jì)用戶控件提高了代碼的可重復(fù)使用的性能。在本系統(tǒng)中,使用了ST_Header、ST_Footer等用戶控件。第 12頁(yè) 共24頁(yè)具有聊天功能的Blog實(shí)現(xiàn) 第四章 BLOG系統(tǒng)設(shè)計(jì) 第四章 BLOG系統(tǒng)設(shè)計(jì)4.1后臺(tái)功能模塊詳細(xì)設(shè)計(jì) 通過(guò)此功能用戶可以對(duì)主頁(yè)中的許多功能和數(shù)據(jù)進(jìn)行操作控制。4.1.1 身份驗(yàn)證管理員通過(guò)此登陸入口進(jìn)入管理界面,此入口需要填寫正確的ID才能夠登陸,非法ID不能夠登陸,其界面如圖4.1所示:圖4.1 管理員登錄界面一個(gè)系統(tǒng)能正常使用,安全性是非常重要的一個(gè)部分。安全性是對(duì)用戶的生份進(jìn)行驗(yàn)證并通過(guò)驗(yàn)證的用戶按照為其授予的訪問(wèn)權(quán)限來(lái)確定用戶是否可以訪問(wèn)某資源的一個(gè)過(guò)程。為了保證系統(tǒng)的安全,為了保證應(yīng)用程序的安全,本系統(tǒng)采用了身份驗(yàn)證技術(shù)。該代碼表示系統(tǒng)禁止對(duì)ST_login目錄下的ST_admin進(jìn)行匿名訪問(wèn).如果存在匿名用戶,系統(tǒng)將自動(dòng)驗(yàn)證用戶名,提示錯(cuò)誤信息。保證了系統(tǒng)的安全.關(guān)鍵代碼如下: 實(shí)現(xiàn)此功能的關(guān)鍵代碼為: protected void Button1_Click(object sender, System.EventArgs e) OleDbCommand ST_myCmd = new OleDbCommand(select * from ST_admin where ST_admin_user= + adminname.Text.Trim() + and ST_admin_psw= + adminpsw.Text.Trim() + , ST_myConn); ST_myConn.Open(); OleDbDataReader ST_read = ST_myCmd.ExecuteReader(); if (ST_read.Read() SessionUserName = ST_read0.ToString(); Response.Redirect(ST_admin.aspx); else Response.Write(alert(用戶名和密碼不對(duì)); 4.1.2 后臺(tái)文章添加管理管理員可以在此頁(yè)面操作管理功能,這些功能可以對(duì)主頁(yè)進(jìn)行添加、刪除、修改等操作:圖4.2 管理員操作界面public void ST_Save_Add() string ST_n_title = HtmlEncode(Request.Formn_title); string ST_n_author = HtmlEncode(Request.Formn_author); string ST_n_key = HtmlEncode(Request.Formn_key); string ST_n_content = Request.Formn_content.Replace(, ); int ST_cmd; if (Request.Formn_iscmd != null) ST_cmd = 1; else ST_cmd = 0; if (ST_n_title = | ST_n_key = | ST_n_content = ) Response.Write(標(biāo)題,摘要,內(nèi)容不能為空!點(diǎn)此返回); Response.End(); else string ST_sql = insert into ST_news (ST_n_author,ST_n_title,ST_n_key,ST_n_content,ST_c_id,ST_n_iscmd) values ( + ST_n_author + , + ST_n_title + , + ST_n_key + , + ST_n_content + , + Request.Formlisttype + , + ST_cmd + ); OleDbCommand ST_myCmd = new OleDbCommand(ST_sql, ST_myConn); ST_myConn.Open(); ST_myCmd.ExecuteNonQuery(); ST_myConn.Close(); Response.Redirect(ST_main.aspx); 4.1.3 后臺(tái)文章類別管理圖4.4 類別管理界面protected void Page_Load(object sender, System.EventArgs e)string ST_dns = ConfigurationSettings.AppSettingsconn;ST_myConn = new OleDbConnection(ST_dns);ST_Type_List_Bind();private void ST_Type_List_Bind()OleDbDataAdapter ST_classCmd = new OleDbDataAdapter(select ST_c_id,ST_c_name from ST_class,ST_myConn);DataSet ST_classds = new DataSet();ST_classCmd.Fill(ST_classds,類別列表);ClassList.DataSource = new DataView(ST_classds.Tables0);ClassList.DataBind();4.2前臺(tái)功能模塊詳細(xì)設(shè)計(jì)4.2.1前臺(tái)主界面前臺(tái)主界面圖如下:圖4.3 前臺(tái)主界面該頁(yè)面是普通用戶最主要的頁(yè)面,普通用戶所有功能操作都與該頁(yè)面有關(guān)。普通用戶采用匿名登錄,可以訪問(wèn)該頁(yè)面的所有功能。4.2.2 前臺(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_title.Text.ToString().Trim()= | r_content.Value.Trim()=)Response.Write(昵稱,標(biāo)題,內(nèi)容不能為空!點(diǎn)此返回);Response.End();elsestring ST_sql = insert into ST_replay (ST_r_nick,ST_r_title,ST_r_content,ST_r_date,ST_n_id) values (+ r_nick.Text +,+ r_title.Text +,+ r_content.Value +,+System.DateTime.Now +,+Request.QueryStringid+);OleDbCommand ST_myCmd = new OleDbCommand(ST_sql,ST_myConn);ST_myConn.Open();ST_myCmd.ExecuteNonQuery();ST_myConn.Close();ST_add_Re();Response.Redirect(+Request.QueryStringid+.aspx);4.2.3 在線聊天登錄界面模塊用戶可以通過(guò)該頁(yè)面進(jìn)入聊天室,實(shí)現(xiàn)在線即時(shí)聊天。用戶可以不用注冊(cè),直輸入用戶名,進(jìn)入聊天室聊天。對(duì)于用戶名相同,系統(tǒng)會(huì)提示錯(cuò)誤文本消息。圖4.5 聊天登錄界面其關(guān)鍵代碼為:protected void Login( object sender, EventArgs e )string user = txtUsername.Text;if( !ValidateNick( user ) ) return;if( Global.Engine.UserExists( user ) )lblErrorMsg.Text = 這個(gè)用戶名已經(jīng)存在,請(qǐng)更換后重試.;return;Response.Redirect( Server.aspx?action=Login&u= + user );bool ValidateNick( string nick )if( nick = string.Empty )lblErrorMsg.Text = 請(qǐng)?jiān)谶@輸入呢稱.;return false;if( nick.Length 10 )lblErrorMsg.Text = 呢稱太長(zhǎng), 請(qǐng)不要超過(guò)個(gè)字;return false;return true;4.2.4 在線聊天模塊在線聊天界面如下: 圖4.6 聊天窗口界面該頁(yè)面采用了ajax技術(shù)實(shí)現(xiàn)頁(yè)面無(wú)刷新只在聊天窗口實(shí)現(xiàn)數(shù)據(jù)更新,完成信息交互的功能,達(dá)到了很好的聊天效果。關(guān)鍵方法代碼如下:function postText()rnd+;chatbox = getElement( mytext );chat = chatbox.value;chatbox.value = ;userid = location.search.substring( 1, location.search.length );url = Server.aspx?action=PostMsg&u= + userid + &t= + encodeURIComponent(chat) + &session= + rnd;req = getAjax();req.onreadystatechange = function()if( req.readyState = 4 & req.status = 200 ) updateAll();req.open( GET, url, true );req.send( null );第 19頁(yè) 共24頁(yè)4.3 數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì)4.3.1 數(shù)據(jù)表設(shè)計(jì)博客系統(tǒng)中的數(shù)據(jù)管理形式采用數(shù)據(jù)庫(kù),根據(jù)系統(tǒng)需要與數(shù)據(jù)規(guī)范化分為用戶表ST_admin,類型信息表(ST_class),鏈接信息表(ST_link),留言信息表(ST_message),文章信息表(ST_news),評(píng)論信息表(ST_replay)這六個(gè)表,表結(jié)構(gòu)分別如下: 表1 ST_admin(用戶表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說(shuō)明1ST_admin_userNvarchar50管理員ID2ST_admin_pswNvarchar50管理員密碼該表為管理員登錄的信息表,本系統(tǒng)沒有包含管理員用戶的注冊(cè)模塊,管理員帳號(hào)直接在數(shù)據(jù)庫(kù)中設(shè)計(jì)。普通用戶匿名登錄主頁(yè)。表2 ST_class(類型信息表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說(shuō)明1ST_c_id Bigint8文章類型號(hào)2ST_c_nameNvarchar50文章類型名該表用來(lái)記錄文章類型的相關(guān)信息,系統(tǒng)文章分了類別,使管理文章,查看文章都變的非常的方便。表3 ST_link(鏈接信息表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說(shuō)明1ST_l_idBigint8鏈接號(hào)2ST_l_nameNvarchar50鏈接名3ST_l_urlNvarchar50鏈接地址 該表記錄了鏈接的相關(guān)信息,方便用戶快速的鏈接到想瀏覽的網(wǎng)站,提高了用戶的操作效率。表4 ST_message(留言信息表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說(shuō)明1ST_idBigint8留言號(hào)2ST_nicknameNvarchar50網(wǎng)友呢稱3ST_titleNvarchar50留言標(biāo)題4ST_homepageNvarchar50個(gè)人主頁(yè)5ST_contentNtext16留言內(nèi)容6ST_mdateDatetime8留言時(shí)間7ST_hf Ntext16留言回復(fù)該表包含了留言的相關(guān)信息,留言模塊方便普通用戶和版主之間的交流,為他們提供了一個(gè)專門的途徑。表5 ST_news(文章信息表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說(shuō)明1ST_n_idBigint 4文章號(hào)2ST_n_authorNvarchar50文章作者3ST_n_titleNvarchar200文章標(biāo)題4ST_n_keyNvarchar200文章摘要5ST_n_contentNtext16文章內(nèi)容6ST_n_dateDatetime8文章發(fā)表日期7ST_n_hitBigint8文章人氣8ST_n_reBigint8文章回復(fù)9ST_c_idBigint8文章類型編號(hào)10ST_c_nameNvarchar50文章類型名稱11ST_n_iscmdint4文章回復(fù)數(shù)該表為文章信息表,包含了文章的相關(guān)屬性,用來(lái)記錄文章信息。該模塊可以幫助用戶了解文章的基本信息。比如:文章人氣高可能是內(nèi)容很有意義,方便用戶去閱讀那些比較好的文章。表6 ST_replay(評(píng)論信息表)序號(hào)列名數(shù)據(jù)類型長(zhǎng)度字段說(shuō)明1ST_r_idBigint8評(píng)論號(hào)2ST_r_nickNvarchar50呢稱3ST_r_titleNvarchar50評(píng)論標(biāo)題4ST_r_contentNvarchar250評(píng)論內(nèi)容5ST_r_dateDatetime8評(píng)論發(fā)表時(shí)間6ST_n_idInt4評(píng)論文章編號(hào)此表為評(píng)論信息表,用來(lái)記錄評(píng)論信息。評(píng)論也是用戶的一種交流方式。該模塊加強(qiáng)了用戶之間的溝通。4.3.2數(shù)據(jù)庫(kù)訪問(wèn)該系統(tǒng)數(shù)據(jù)庫(kù)的連接在應(yīng)用程序配置文件(Web.config)中設(shè)置了數(shù)據(jù)庫(kù)的連接信息。這樣提高了程序的的移植性,且為版本升級(jí),代碼擴(kuò)展提供了良好的基礎(chǔ)。連接語(yǔ)句代碼如下: 在功能代碼中用如下語(yǔ)句與數(shù)據(jù)庫(kù)關(guān)聯(lián):Protected void Page_Load(object sender,System.EventArgs e)String ST_dns=ConfigurationSettings.AppSettings“conn”;ST_myconn=new OleDbConnection(ST_dns);第 25頁(yè) 共24頁(yè)具有聊天功能的Blog實(shí)現(xiàn) 結(jié)束語(yǔ) 第五章 結(jié)束語(yǔ)5.1 不足之處與改進(jìn)本系統(tǒng)現(xiàn)已基本完成,基本功能已經(jīng)具備,但在如下幾個(gè)方面還存在著不足,需要做進(jìn)一步的研究與開發(fā)
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育培訓(xùn)機(jī)構(gòu)教育行業(yè)數(shù)據(jù)服務(wù)協(xié)議
- 二零二五年度農(nóng)業(yè)科技文職人員聘用協(xié)議
- 2025年度茶樓合作經(jīng)營(yíng)協(xié)議書:茶樓與茶藝茶具研發(fā)中心的合作合同
- 二零二五年度知識(shí)產(chǎn)權(quán)質(zhì)押合同解除與資金返還協(xié)議
- 2025年度船舶租賃與船舶技術(shù)咨詢服務(wù)協(xié)議
- 2025年度超市轉(zhuǎn)讓與智能化升級(jí)改造合作協(xié)議
- 2025年度智能化社區(qū)物業(yè)委托經(jīng)營(yíng)管理合同
- 專業(yè)資格教育培訓(xùn)合作協(xié)議
- 新型儲(chǔ)能技術(shù)應(yīng)用開發(fā)合作協(xié)議
- 行路難:古典詩(shī)詞中的壯志情懷教案
- 《中國(guó)潰瘍性結(jié)腸炎診治指南(2023年)》解讀
- 中國(guó)故事英文版哪吒英文二篇
- 鐵路橋梁工程各工序工效分析
- 2022《文創(chuàng)產(chǎn)品的設(shè)計(jì)》PPT演示文稿
- 介入科制度匯編
- 鍍鋅管理論重量表常用
- 鐵總計(jì)統(tǒng)【2017】177號(hào)關(guān)于進(jìn)一步加強(qiáng)鐵路建設(shè)項(xiàng)目征地拆遷工作和費(fèi)用管理的指導(dǎo)意見
- 電子技術(shù)基礎(chǔ)與技能-(3)
- 部編版四年級(jí)下冊(cè)語(yǔ)文第二單元課文教材分析及全部教案
- 美術(shù)開學(xué)第一課(課堂PPT)
- 出生證明委托書(共2頁(yè))
評(píng)論
0/150
提交評(píng)論