




已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目 錄第一章 緒論11.1 系統(tǒng)開發(fā)背景11.2課題研究的意義1第二章 Blog系統(tǒng)開發(fā)技術22.1 ASP.NET介紹22.2MVC開發(fā)模式32.3Ajax介紹42.3.1什么是Ajax42.3.2 Ajax相關技術介紹42.3.3 Ajax技術在系統(tǒng)中的應用52.4 數(shù)據(jù)庫52.4.1 SQL SERVER 200052.4.2 ADO.NET52.5 ASP.NET配置62.6 XML7第三章 BLOG系統(tǒng)分析83.1 系統(tǒng)設計方案83.2 系統(tǒng)功能模塊83.3 數(shù)據(jù)庫需求分析103.4 系統(tǒng)操作流程103.5組件和樣式分析113.6 用戶控件11第四章 BLOG系統(tǒng)設計124.1后臺功能模塊詳細設計124.1.1 身份驗證124.1.2 后臺文章添加管理134.1.3 后臺文章類別管理144.2前臺功能模塊詳細設計154.2.1前臺主界面154.2.2 前臺用戶回復評論文章模塊164.2.3 在線聊天登錄界面模塊174.2.4 在線聊天模塊184.3 數(shù)據(jù)庫的詳細設計194.3.1 數(shù)據(jù)表設計194.3.2數(shù)據(jù)庫訪問21第五章 結束語225.1 不足之處與改進225.1.1 權限分配225.1.3 界面美觀化225.2 結論22參考文獻23致 謝24摘 要隨著計算機的發(fā)展和普及,Blog得到了極大的發(fā)展。Blog是Weblog(網(wǎng)絡日志)的簡稱。Blog是即E-mail、BBS、ICQ之后的第四種網(wǎng)絡交流方式。它以個人為中心傳播出版有影響力的消息、新聞、事件等,鮮明的個人特色引人矚目,它以獨特的視角、敏銳的觀察力,不斷的沖擊傳統(tǒng)媒體。傳統(tǒng)的Blog已經(jīng)滿足不了社會的需要,擁有更多更新功能的Blog急需走上舞臺。該系統(tǒng)以ASP.NET為開發(fā)技術,使用C#為開發(fā)語言,采用Web展示層和SQLserver 2000數(shù)據(jù)庫兩層架構模式同時采用MVC開發(fā)模式,實現(xiàn)Blog網(wǎng)站的動態(tài)管理,使得對Blog信息的管理更加及時、高效,提高了工作效率。關鍵詞: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實現(xiàn) 第一章 緒論 第 1頁 共24頁第一章 緒論1.1 系統(tǒng)開發(fā)背景隨著計算機技術的發(fā)展和普及,blog得到了極大的發(fā)展。Blog,是Weblog的簡稱。blog是一種新的生活方式、新的工作方式、新的學習方式和交流方式。它是繼E-mail、BBS、ICQ、之后出現(xiàn)的第4種網(wǎng)絡交流方式。Blog主要應用于3個方面:一是新的人際交流方式;二是以個人為中心的信息摘選和知識管理;三是以個人為中心的傳播出版。blog作為個人的一種學習工具,簡單易用,吸引人的興趣。Blog在教育方面得到了很大的發(fā)展,它將互聯(lián)網(wǎng)從過去的通訊功能,資料功能、交流功能等進一步強化,使其更加個性化、開放化、實時化、全球化,把信息共享發(fā)展到資源共享、思想共享、生命歷程共享。Blog已經(jīng)成為一種繼課件、積件、資源庫、教育主題網(wǎng)站等信息化教學模式之后,新的網(wǎng)絡應用模式。它是應時代的需求而興起的,也是應時代需求不斷進步的。1.2課題研究的意義隨著Blog人數(shù)的增加,Blog作為一種新的生活方式、新的工作方式和新的學習方式已經(jīng)被越來越多的人所接受,并且在改變傳統(tǒng)的網(wǎng)絡和社會結構。它使交流和溝通更有明確的選擇和方向性;單一的思想和群體的智慧結合變得更加有效;個人出版變成人人都可以實現(xiàn)的夢想。Blog正在影響和改變著我們的生活。Blog是以網(wǎng)絡作為載體,簡易迅速便捷地發(fā)布自己的心得,及時有效輕松地與他人進行交流,再集豐富多彩的個性化展示于一體的綜合性平臺。展示豐富的個性化,對Blog功能的要求自然更高,新一代具有更多、更新、更全功能的Blog急需走進舞臺。系統(tǒng)加入聊天功能可以更加方便大家的交流。具有聊天功能的Blog實現(xiàn) 第二章 Blog系統(tǒng)開發(fā)技術 第二章 Blog系統(tǒng)開發(fā)技術2.1ASP.NET介紹本系統(tǒng)采用ASP.NET開發(fā)技術進行開發(fā)。ASP.NET不僅僅是ASP的一個新版本,更是Web應用程序編程方面的一個全新的概念和方法。ASP.NET中的新功能并不是對ASP的改進,設計它的初衷是為用戶入境提供最佳的應用程序架構。它相比于ASP有著以下幾個方面的優(yōu)點: (1) 多語言ASP曾在腳本引擎方面受到了限制,特別是VBScript和Jscript。而ASP.NET則支持多種語言,默認情況下為Visual Basic.NET、C#和Jscript.NET,另外還支持一些第三方語言。(2) 服務器處理ASP在服務器處理上不管頁面的內容是純HTML還是ASP生成的HTML,它都是按照實現(xiàn),形成所謂3-tier頁面順序顯示的。因此邏輯代碼依賴于它在頁面中的位置,并且無法將HTML控件作為目標,除非將它們作為流的一部分進行顯示。而ASP.NET就解決了這個問題,方法是為控件引入一個聲明的基于服務器的模型,因為控件在服務器上有,可以在服務器上編程,也可以是客戶端驅動的事件。(3) Web Form控件將現(xiàn)有的HTML控件轉換為服務器端的控件是比較容易的,但是也存在一些不方便,例如比較難于區(qū)分HTML控件和服務器端的控件。于是Microsoft公司就創(chuàng)建了一組專門的服務器控件,它們都用asp:前綴標識。(4) 代碼與內容分離一個網(wǎng)站的設計與開發(fā)往往由不同的人來實現(xiàn)的,而ASP中就是存在著這樣一個問題,代碼(ASP腳本)和內容(HTML)混合在一起。這樣就使得同時進行設計和開發(fā)變得很困難。而ASP.NET則采用了代碼內聯(lián)和后臺編碼兩種方法實現(xiàn)了代碼與內容的分離。2.2MVC開發(fā)模式MVC由Trygve Reenskaug提出,首先被應用在SmallTalk-80環(huán)境中,是許多交互和畫面系統(tǒng)的構成基礎。MVC結構是為那些需要為同樣的數(shù)據(jù)提供多個視圖的應用程序而設計的,它很好地實現(xiàn)了數(shù)據(jù)層與表示層的分離。MVC作為一種開發(fā)模型,通常用于分布式應用系統(tǒng)的設計和分析,以及用于確定系統(tǒng)各部分間的組織關系。對于畫面設計可變性的需求,MVC(Model-View-Controller)把交互系統(tǒng)的組成分解成模型、視圖、控制器3種部件。(1)視圖部件把表示模型數(shù)據(jù)及邏輯關系和狀態(tài)的信息以特定形式展示給用戶。它從模型獲得顯示信息,對于相同的信息可以有多個不同的顯示形式或視圖。(2)控制器部件是處理用戶與軟件的交互操作的,其職責是控制提供模型中任何變化的傳播,確保用戶畫面與模型間的對應聯(lián)系;它接受用戶的輸入,將輸入反饋給模型,進而實現(xiàn)對模型的計算控制,是使模型和視圖協(xié)調工作的部件。(3)模型部件保存由視圖顯示、由控制器控制的數(shù)據(jù);它封裝了問題的核心數(shù)據(jù)、邏輯和功能的計算關系,它獨立于具體的畫面表達和I/O操作。模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其他依賴于這些數(shù)據(jù)的視圖都應反映了這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導致顯示的更新。這實際上是一種模型的變化傳播機制。(4)ASP.NET模式下如何實現(xiàn)MVC?ASP.NET提供了一個很好的實現(xiàn)這種經(jīng)典設計模式的類似環(huán)境。開發(fā)者通過在ASPX頁面中開發(fā)用戶接口來實現(xiàn)視圖;控制器的功能在邏輯功能代碼(.cs)中實現(xiàn);模型通常對應應用系統(tǒng)的業(yè)務部分。在ASP.NET中實現(xiàn)這種設計而提供的一個多層系統(tǒng),對較經(jīng)典的ASP結構實現(xiàn)的系統(tǒng)來說有明顯的優(yōu)點。將用戶顯示(視圖)從動作(控制器)中分離出來,提高了代碼的重用性。將數(shù)據(jù)(模型)從對其操作的動作(控制器)分離出來,可以讓用戶設計一個與后臺存儲數(shù)據(jù)無關的系統(tǒng)。就MVC結構的本質而言,它是一種解決耦合系統(tǒng)問題的方法。2.3 Ajax介紹2.3.1什么是AjaxAjax是Asynchronous JavaScript and XML的縮寫,即異步JavaScript 和XML。Ajax是一種客戶端技術,Ajax技術借助異步JavaScript實現(xiàn)瀏覽器和服務器之間的異步交互,即相當于在Web應用中實現(xiàn)了原來C/S(Client/Server)結構下的交互結果,且這種效果的實現(xiàn)并沒有帶來繁瑣的客戶部署工作。比如:無需重新加載整個頁面就可以想服務器發(fā)送請求,并接受響應。同時對XML文檔解析和處理。Ajax的解決方案及其優(yōu)越性Ajax相當于在瀏覽器客戶端與服務器之間架設了一個橋梁、一個媒介,在它的幫助下,可以消除網(wǎng)絡交互過程中的處理等待處理等缺陷。在處理過程中Web服務器響應是標準的且易于解析的XML格式的數(shù)據(jù)傳遞給Ajax,然后再轉換成HTML頁面的格式,輔助CSS進行顯示。Ajax是使用XMLHttpRequest對象發(fā)送請求并獲得服務器端的響應,同時Ajax可以在不重新載入整個頁面的情況下用JavaScipt操作DOM以實現(xiàn)最終更新頁面。因此在讀取數(shù)據(jù)的過程中,用戶棉對的不是白屏,而是原來的內容。這種更新是瞬間的,使用戶感覺是連貫的。借助Ajax,可以把以前一些原本由服務器負擔的工作轉移到客戶端來完成,利用客戶端閑置的能力來進行處理,這樣也可以有效地減輕服務器和帶寬的負擔,使服務器更穩(wěn)定,更良好的運行。同時節(jié)約了空間和寬帶。2.3.2 Ajax相關技術介紹Ajax是多種技術的綜合應用,包括JavaScipt腳本、CSS、DOM和重要對象XMLHttpRequest。(1) JavaScipt是一種可以與HTML標記混合使用的腳本語言,編寫的程序可以直接在瀏覽器中解釋執(zhí)行。因此使用腳本語言編寫程序可以在瀏覽器支持下跨平臺運行。JavaScipt腳本中可以調用瀏覽器及Ajax中提供的相關對象。利用這些對象的屬性方法可以實現(xiàn)頁面效果的動態(tài)控制。(2) CSS是層疊樣式表。CSS規(guī)則由模式匹配段和操作部分組成。模式匹配段用于表示元素與行為之間的關聯(lián)性;操作部分用于確定對指定部分的操作。CSS層疊樣式可以彌補HTML超文本標記語言在格式修飾中的不足,同時也為能夠實現(xiàn)頁面格式的批量動態(tài)更新。(3) DOM的全稱是文檔對象模型(Document Object Model),它在本質上是一種文檔平臺。在使用Ajax技術中,借助DOM,可以結合腳本語言實現(xiàn)動態(tài)的數(shù)據(jù)存儲以及動態(tài)上傳文件。(4) XMLHttpRequest是Ajax技術中最重要的一個對象。頁面可以在不刷新的情況下通過它發(fā)送請求來獲取服務器響應。也可以使用該對象在不刷新當前頁面的情況下更新頁面中的數(shù)據(jù)。2.3.3 Ajax技術在系統(tǒng)中的應用Ajax技術運用于該系統(tǒng)的在線即時聊天功能模塊。通過該技術實現(xiàn)了聊天信息的不斷更新,但并沒有將整個頁面都刷新,也不會帶來頁面在連續(xù)閃爍等問題。利用Ajax技術將聊天窗口不段更新數(shù)據(jù),聊天窗口采用CSS樣式,實現(xiàn)頁面格式的批量動態(tài)更新。2.4 數(shù)據(jù)庫本系統(tǒng)才用SQL SERVER2000做為后臺數(shù)據(jù)庫,采用ADO.NET技術對數(shù)據(jù)進行操作。2.4.1 SQL SERVER 2000SQL SERVER2000是可以在WEB上運行的數(shù)據(jù)庫服務產(chǎn)品。它既可適用于桌面系統(tǒng)的單用戶數(shù)據(jù)庫,也可適用于企業(yè)的網(wǎng)絡數(shù)據(jù)庫,甚至適用于專業(yè)的WEB站點數(shù)據(jù)庫,具有很強的可伸縮性。并且具有很高的可靠性、可用性和可管理性。從經(jīng)濟和開發(fā)效率上適合中小型網(wǎng)站。它和ASP.NET同屬于微軟公司開發(fā),在開發(fā)接口有一致性,能更好的協(xié)調工作。同時,SQL SERVER2000對數(shù)據(jù)的安全性也有一定的保障,它對用戶的訪問進行了兩個階段的檢查:一是認證階段,二是許可確認階段。數(shù)據(jù)庫使用ADO.NET來處理數(shù)據(jù)。2.4.2 ADO.NET ADO.NET是基于.NET框架結構、面向分布式和以XML數(shù)據(jù)格式為核心的數(shù)據(jù)訪問技術,它提供了一組數(shù)據(jù)訪問服務的類,可用于對Microsoft SQL Server、Oracle等數(shù)據(jù)源及通過OLEDB和XML公開的數(shù)據(jù)遠源的一致訪問。ADO.NET統(tǒng)一了數(shù)據(jù)容器類編程接口,無論編寫何種應用程序(Windows窗體、Web窗體、Web服務)都可以通過同一組類來處理數(shù)據(jù)。為使用方便,ADO.NET還提供了一組豐富的控件,利用可視化方式來開發(fā)數(shù)據(jù)庫應用。 ADO.NET體系結構如下圖所示.NET Framework 數(shù)據(jù)提供程序DatasetData TableCollection數(shù)據(jù)表DataAdapterConnection事務Command參數(shù)DataReaderDeleteCommandUpdateCommandInsertCommandSelectCommand數(shù)據(jù)庫DataRowCollectionConstraintCollectionDataColumnCollectionnDataRelationCollectionXMLADO.NET體系結構圖ADO.NET體系結構的兩大核心控件是.NET Framework數(shù)據(jù)提供程序和Dataset。. NET Framework數(shù)據(jù)提供程序用于連接到數(shù)據(jù)庫、執(zhí)行命令和檢索結果。Dataset是一個功能豐富、比較復雜的數(shù)據(jù)集,它是支持ADO.NET的斷開式、分布式數(shù)據(jù)方案的核心對象。Dataset專門用來處理從數(shù)據(jù)源獲得的數(shù)據(jù),無論數(shù)據(jù)來自什么數(shù)據(jù)源,它都使用相同的方式操作數(shù)據(jù)。2.5 ASP.NET配置A的配置文件都是XML格式的文件,XML格式文件易于書寫和定制,采用這種方法進行配置方便靈活。另外,的配置都是可以隨時更改的,即應用程序運行期間,可以隨時增加和刪除配置文件中的項目,修改后可以立刻激活使用比當配置發(fā)生變化時需要服務重新啟動配置才生效的方法有很大的優(yōu)勢。該系統(tǒng)運用了fig文件進行配置web服務器,使用web.config文件配置web服務器簡明扼要。Web.config文件是采用XML格式進行編寫的XML文件。2.6 XMLXML是Extensible Markup Language(可擴展標記語言)。它是一種存儲數(shù)據(jù)的方法。它提供一種獨立于應用程序的格式來保存數(shù)據(jù),且容易實現(xiàn)不同應用程序之間的數(shù)據(jù)共享。與數(shù)據(jù)庫相比,它不需要任何專用軟件就可以創(chuàng)建和管理XML文檔,只要一個文本編輯器就可以了;而數(shù)據(jù)庫需要專門的數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)進行管理。第 8頁 共24頁具有聊天功能的Blog實現(xiàn) 第三章 Blog系統(tǒng)分析 第三章 BLOG系統(tǒng)分析3.1 系統(tǒng)設計方案本系統(tǒng)是面向個人用戶和小型集體用戶開發(fā)的系統(tǒng),完成用戶在Blog上進行預定操作,實現(xiàn)用戶和來賓之間的雙向溝通。具體設計方案為:(1) 系統(tǒng)服務器為IIS,數(shù)據(jù)庫為SQLSERVER2000,整個系統(tǒng)界面采用Microsoft visual Studio 2005開發(fā)。(2) 系統(tǒng)采用MVC框架,用C#語言實現(xiàn)。(3) 服務器與數(shù)據(jù)庫的連接使用OLEDB編程接口的OleDbConnection對象進行連接。(4) 系統(tǒng)分成兩部分,前臺為普通用戶操作界面,功能包括:閱讀文章,發(fā)表留言,發(fā)表評論,在線聊天。后臺為管理員操作界面,管理員通過登錄進入管理界面,功能包括:分類管理,文章管理,添加文章,評論管理,鏈接管理,留言管理。3.2 系統(tǒng)功能模塊系統(tǒng)功能模塊包括兩大塊:管理界面功能模塊和普通用戶界面功能模塊。其具體功能如下所示:1 管理員功能:分類管理,文章管理,評論管理,鏈接管理,留言管理。2 普通用戶功能:閱讀文章,留言,評論和在線聊天。3 分類管理:文章類型的添加,修改,刪除。4 文章管理:文章的修改,刪除。5 評論管理:評論的刪除。6 鏈接管理:鏈接的添加和刪除。7 留言管理:留言的刪除和回復。管理員用戶功能模塊圖如下:圖1 管理員功能模塊圖普通用戶功能模塊圖如下:圖2 普通用戶功能模塊圖3.3 數(shù)據(jù)庫需求分析用戶分為普通用戶和管理員用戶管理員涉及類型管理、文章管理、添加文章、評論管理、鏈接管理、留言管理。普通用戶可以閱讀文章、發(fā)表回應、留言、評論和在線聊天。一種文章類型有多篇文章。一篇文章有多篇評論、回復。對上面系統(tǒng)功能分析,設計如下數(shù)據(jù)項: 管理員信息:用戶名、密碼。 類型信息:類型編號、類型名稱。 鏈接:鏈接編號、鏈接名稱、鏈接地址。 留言:留言編號、留言人呢稱、留言標題、個人主頁、留言內容、留言時間、留言回復。 文章信息:文章序號、文章作者、文章標題、摘要、文章內容、文章發(fā)表日期、文章人氣、回復、文章類型編號、文章類型名稱、文章回復數(shù)。 評論:評論序號、評論用戶呢稱、評論標題、評論內容、評論時間、評論的文章序號。3.4 系統(tǒng)操作流程分析傳統(tǒng)Blog系統(tǒng)這一環(huán)節(jié)所應具有的功能,可以得到Blog系統(tǒng)應具有以下功能:高級系統(tǒng)用戶(管理員)通過瀏覽器,可以實現(xiàn)文章的管理(對文章的各種信息進行瀏覽、增加、刪除、修改等)、普通系統(tǒng)用戶對文章信息只能閱讀和留言。而該系統(tǒng)添加了在線即時聊天,是為該系統(tǒng)的一個亮點。由此得到的系統(tǒng)的流程圖如圖3-3所示系統(tǒng)操作流程圖3.5組件和樣式分析博客系統(tǒng)中存在很多相同或相似的元素,這些元素可能是頁面的標題,可能是頁面的版權聲明,也可能是文章的列表或是登錄信息框。需要尋找一種方式在整個系統(tǒng)中共享,而不需在變化時修改所有的頁面。所以就采用了樣式文件進行管理以及用戶自定義組件。3.6 用戶控件ASP.NET為開發(fā)人員提供了用戶控件這一新技術來實現(xiàn)Web元素的共享,開發(fā)人員可以通過Visual Studio.Net進行Web元素的外面的開發(fā),同時可以通過Web元素后臺代碼的方式進行表現(xiàn)層的開發(fā)。設計用戶控件提高了代碼的可重復使用的性能。在本系統(tǒng)中,使用了ST_Header、ST_Footer等用戶控件。第 12頁 共24頁具有聊天功能的Blog實現(xiàn) 第四章 BLOG系統(tǒng)設計 第四章 BLOG系統(tǒng)設計4.1后臺功能模塊詳細設計 通過此功能用戶可以對主頁中的許多功能和數(shù)據(jù)進行操作控制。4.1.1 身份驗證管理員通過此登陸入口進入管理界面,此入口需要填寫正確的ID才能夠登陸,非法ID不能夠登陸,其界面如圖4.1所示:圖4.1 管理員登錄界面一個系統(tǒng)能正常使用,安全性是非常重要的一個部分。安全性是對用戶的生份進行驗證并通過驗證的用戶按照為其授予的訪問權限來確定用戶是否可以訪問某資源的一個過程。為了保證系統(tǒng)的安全,為了保證應用程序的安全,本系統(tǒng)采用了身份驗證技術。該代碼表示系統(tǒng)禁止對ST_login目錄下的ST_admin進行匿名訪問.如果存在匿名用戶,系統(tǒng)將自動驗證用戶名,提示錯誤信息。保證了系統(tǒng)的安全.關鍵代碼如下: 實現(xià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(用戶名和密碼不對); 4.1.2 后臺文章添加管理管理員可以在此頁面操作管理功能,這些功能可以對主頁進行添加、刪除、修改等操作:圖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(標題,摘要,內容不能為空!點此返回); 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 后臺文章類別管理圖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前臺功能模塊詳細設計4.2.1前臺主界面前臺主界面圖如下:圖4.3 前臺主界面該頁面是普通用戶最主要的頁面,普通用戶所有功能操作都與該頁面有關。普通用戶采用匿名登錄,可以訪問該頁面的所有功能。4.2.2 前臺用戶回復評論文章模塊 前臺普通用戶回復評論文章界面如下圖所示:該模塊的功能是對文章發(fā)表回復,同時驗證發(fā)送內容都不能為空。其關鍵代碼如下: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(昵稱,標題,內容不能為空!點此返回);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 在線聊天登錄界面模塊用戶可以通過該頁面進入聊天室,實現(xiàn)在線即時聊天。用戶可以不用注冊,直輸入用戶名,進入聊天室聊天。對于用戶名相同,系統(tǒng)會提示錯誤文本消息。圖4.5 聊天登錄界面其關鍵代碼為:protected void Login( object sender, EventArgs e )string user = txtUsername.Text;if( !ValidateNick( user ) ) return;if( Global.Engine.UserExists( user ) )lblErrorMsg.Text = 這個用戶名已經(jīng)存在,請更換后重試.;return;Response.Redirect( Server.aspx?action=Login&u= + user );bool ValidateNick( string nick )if( nick = string.Empty )lblErrorMsg.Text = 請在這輸入呢稱.;return false;if( nick.Length 10 )lblErrorMsg.Text = 呢稱太長, 請不要超過個字;return false;return true;4.2.4 在線聊天模塊在線聊天界面如下: 圖4.6 聊天窗口界面該頁面采用了ajax技術實現(xiàn)頁面無刷新只在聊天窗口實現(xiàn)數(shù)據(jù)更新,完成信息交互的功能,達到了很好的聊天效果。關鍵方法代碼如下: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頁 共24頁4.3 數(shù)據(jù)庫的詳細設計4.3.1 數(shù)據(jù)表設計博客系統(tǒng)中的數(shù)據(jù)管理形式采用數(shù)據(jù)庫,根據(jù)系統(tǒng)需要與數(shù)據(jù)規(guī)范化分為用戶表ST_admin,類型信息表(ST_class),鏈接信息表(ST_link),留言信息表(ST_message),文章信息表(ST_news),評論信息表(ST_replay)這六個表,表結構分別如下: 表1 ST_admin(用戶表)序號列名數(shù)據(jù)類型長度字段說明1ST_admin_userNvarchar50管理員ID2ST_admin_pswNvarchar50管理員密碼該表為管理員登錄的信息表,本系統(tǒng)沒有包含管理員用戶的注冊模塊,管理員帳號直接在數(shù)據(jù)庫中設計。普通用戶匿名登錄主頁。表2 ST_class(類型信息表)序號列名數(shù)據(jù)類型長度字段說明1ST_c_id Bigint8文章類型號2ST_c_nameNvarchar50文章類型名該表用來記錄文章類型的相關信息,系統(tǒng)文章分了類別,使管理文章,查看文章都變的非常的方便。表3 ST_link(鏈接信息表)序號列名數(shù)據(jù)類型長度字段說明1ST_l_idBigint8鏈接號2ST_l_nameNvarchar50鏈接名3ST_l_urlNvarchar50鏈接地址 該表記錄了鏈接的相關信息,方便用戶快速的鏈接到想瀏覽的網(wǎng)站,提高了用戶的操作效率。表4 ST_message(留言信息表)序號列名數(shù)據(jù)類型長度字段說明1ST_idBigint8留言號2ST_nicknameNvarchar50網(wǎng)友呢稱3ST_titleNvarchar50留言標題4ST_homepageNvarchar50個人主頁5ST_contentNtext16留言內容6ST_mdateDatetime8留言時間7ST_hf Ntext16留言回復該表包含了留言的相關信息,留言模塊方便普通用戶和版主之間的交流,為他們提供了一個專門的途徑。表5 ST_news(文章信息表)序號列名數(shù)據(jù)類型長度字段說明1ST_n_idBigint 4文章號2ST_n_authorNvarchar50文章作者3ST_n_titleNvarchar200文章標題4ST_n_keyNvarchar200文章摘要5ST_n_contentNtext16文章內容6ST_n_dateDatetime8文章發(fā)表日期7ST_n_hitBigint8文章人氣8ST_n_reBigint8文章回復9ST_c_idBigint8文章類型編號10ST_c_nameNvarchar50文章類型名稱11ST_n_iscmdint4文章回復數(shù)該表為文章信息表,包含了文章的相關屬性,用來記錄文章信息。該模塊可以幫助用戶了解文章的基本信息。比如:文章人氣高可能是內容很有意義,方便用戶去閱讀那些比較好的文章。表6 ST_replay(評論信息表)序號列名數(shù)據(jù)類型長度字段說明1ST_r_idBigint8評論號2ST_r_nickNvarchar50呢稱3ST_r_titleNvarchar50評論標題4ST_r_contentNvarchar250評論內容5ST_r_dateDatetime8評論發(fā)表時間6ST_n_idInt4評論文章編號此表為評論信息表,用來記錄評論信息。評論也是用戶的一種交流方式。該模塊加強了用戶之間的溝通。4.3.2數(shù)據(jù)庫訪問該系統(tǒng)數(shù)據(jù)庫的連接在應用程序配置文件(Web.config)中設置了數(shù)據(jù)庫的連接信息。這樣提高了程序的的移植性,且為版本升級,代碼擴展提供了良好的基礎。連接語句代碼如下: 在功能代碼中用如下語句與數(shù)據(jù)庫關聯(lián):Protected void Page_Load(object sender,System.EventArgs e)String ST_dns=ConfigurationSettings.AppSettings“conn”;ST_myconn=new OleDbConnection(ST_dns);第 25頁 共24頁具有聊天功能的Blog實現(xiàn) 結束語 第五章 結束語5.1 不足之處與改進本系統(tǒng)現(xiàn)已基本完成,基本功能已經(jīng)具備,但在如下幾個方面還存在著不足,需要做進一步的研究與開發(fā)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考美術課題研究申報書
- 動畫項目合同范例
- 臺灣房屋抵押合同范本
- led器材租賃合同范本
- 食品化學試題庫(含答案)
- 原木訂制采購合同范本
- 業(yè)務經(jīng)理工作計劃
- 上半年公司領導總結
- 單位外包電梯合同范本
- 四級(中級)眼鏡驗光員考試
- 2025年常州工業(yè)職業(yè)技術學院單招職業(yè)技能測試題庫(培優(yōu))
- 化學實驗室安全職責分配
- 1.2 讀懂彼此的心 第二課時 課件 2024-2025學年五年級下冊道德與法治 統(tǒng)編版
- 2018-2022年北京市中考真題數(shù)學試題匯編:選擇壓軸(第8題)
- 2025年貴州黔源電力股份有限公司招聘筆試參考題庫含答案解析
- 2024年湖南食品藥品職業(yè)學院高職單招語文歷年參考題庫含答案解析
- 《船舶油漆作業(yè)》課件
- 2025年中國融通農(nóng)發(fā)社會招聘筆試參考題庫含答案解析
- 中藥玫瑰花培訓
- 全國扶貧開發(fā)信息系統(tǒng)業(yè)務管理子系統(tǒng)用戶操作手冊20241110(升級版)
- 五下數(shù)學人教版課件教學課件教學課件
評論
0/150
提交評論