畢業(yè)設計(論文)論ASP網(wǎng)絡聊天室的設計和實現(xiàn)_第1頁
畢業(yè)設計(論文)論ASP網(wǎng)絡聊天室的設計和實現(xiàn)_第2頁
畢業(yè)設計(論文)論ASP網(wǎng)絡聊天室的設計和實現(xiàn)_第3頁
畢業(yè)設計(論文)論ASP網(wǎng)絡聊天室的設計和實現(xiàn)_第4頁
畢業(yè)設計(論文)論ASP網(wǎng)絡聊天室的設計和實現(xiàn)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、論asp網(wǎng)絡聊天室的設計和實現(xiàn) 專 業(yè) 計算機信息管理 學 生 姓 名 指導教師姓名 提 交 日 期 2012年4月8日 論asp網(wǎng)絡聊天室的設計和實現(xiàn) 【摘 要】網(wǎng)絡聊天室是用戶比較喜歡的一種web應用程序,借助聊天室和他的留言系統(tǒng),用戶可以及時互通信息,交流思想.本系統(tǒng)主要采用了基于b/s(browser/server,即瀏覽器/服務器)模式開發(fā)的簡易聊天室系統(tǒng)。本系統(tǒng)是采用了asp技術(shù)開發(fā)的動態(tài)網(wǎng)站。系統(tǒng)開發(fā)主要包括前臺界面及其功能設計和后臺數(shù)據(jù)庫設計(即發(fā)言區(qū)管理和用戶管理)。本系統(tǒng)采用了microsoft asp 作為開發(fā)工具,后臺數(shù)據(jù)庫采用了acess數(shù)據(jù)庫設計,利用ado數(shù)據(jù)庫訪

2、問技術(shù)實現(xiàn)對數(shù)據(jù)庫的各種管理操作,實現(xiàn)了聊天室的聊天功能和顯示在線聊天用戶信息的功能。在設計過程中,首先建立了系統(tǒng)的應用模型,然后在此基礎(chǔ)上再進行需求分析逐步進行各功能的設計實現(xiàn)。在詳細設計時經(jīng)過不斷的修正和完善,經(jīng)過測試階段反復調(diào)試和驗證,最終形成達到了設計要求的可行系統(tǒng)?!娟P(guān)鍵詞】 聊天室 數(shù)據(jù)庫 ado application session web chat rooms design and realize user management 【abstract】the network chat room is one kind of web application procedure w

3、hich the user comparison likes, with the aid of the chat room and his message system, the user may promptly exchange the information, the exchange thought. this system mainly based on b/s (browser/server, namely browser / server) pattern development simple chat room system. this system was uses the

4、asp technology development dynamic website. the system development mainly includes the onstage contact surface and its the functional design and the backstage database design.the system used microsoft asp as the development tool. the backstage database used the acess database design. we used the ado

5、 database visit technology realization to the database each kind of management operation, realized the chat room chats the function and demonstrates on-line chatted the user information function. in the design project, first established the system application model, then carried on the demand analys

6、is again in this foundation gradually carries on various functions the design and realization. when detailed design passes through the unceasing revision and the consummation, repeatedly debugs and the confirmation after the test stage, finally formed achieves the design request feasible system.【key

7、words】 chat room database ado application session 目 錄引言 11. 聊天室系統(tǒng)需求分析 11.1 功能要求 11.2 性能要求22. 系統(tǒng)運行環(huán)境33. 聊天室系統(tǒng)整體模塊圖34. asp(activeserverpage)簡介45. asp訪問數(shù)據(jù)庫方法76. 聊天室用戶管理區(qū)的詳細設計與實現(xiàn)9 6.1 聊天室系統(tǒng)的數(shù)據(jù)庫設計9 6.1.1 聊天室系統(tǒng)用戶組冊登錄模塊的設計10 6.1.2 聊天室系統(tǒng)用戶發(fā)言模塊設計126.1.3聊天室系統(tǒng)實時在線用戶模塊設計136.1.4聊天室系統(tǒng)在線用戶離開模塊設計146.1.5聊天室系統(tǒng)用戶留言管理模

8、塊設計156.2 聊天室留言板系統(tǒng)的數(shù)據(jù)庫設計 166.2.1聊天室留言板數(shù)據(jù)庫聯(lián)接17 6.2.2 聊天室留言板留言簽寫模塊設計17 6.2.3聊天室留言板編輯和回復模塊設計186.2.4聊天室留言板留言管理模塊設計207. 結(jié)束語228.參考文獻 239.致謝23引言 隨著internet的普及和寬帶技術(shù)的的成熟,越來越多的用戶進入到網(wǎng)絡世界中享用瀏覽新聞、查詢信息、發(fā)送郵件、在線觀看電影等服務,享受網(wǎng)絡帶來的便利和辦公的高效。與此同時,一個新型的web應用程序提供了一個即使互通信息的功能和場所,這就是聊天室及留言其系統(tǒng)。1.需求分析 1.1功能要求 通過聊天室,用戶可以自定義個人資料,可

9、以以不同的身份實時發(fā)送聊天信息,可以指定聊天的對象,發(fā)送信息也可以進行各種設置包括聊天者的表情及文字顏色,功能更強大的聊天室不僅提供了文字聊天功能還支持視頻和音頻、傳送文件、留言板等功能。聊天室的特點就是要求能夠進行實時顯示出聊天者所談的內(nèi)容。所謂“實時”就是指在同一個聊天室的不同使用者,可以在短時間里立刻看到其他人的發(fā)言,這與我們所說的論壇有很大的不同。在asp沒有得到廣泛應用之前,聊天室大多是用cgi 程序或者java開發(fā)的applet維護的,要開發(fā)一個聊天室系統(tǒng)是很費時費力的。現(xiàn)在我們可以使用asp快速、簡單地設計出一個可以相互對話的典型聊天室程序,我們使用html代碼加上asp程序就可

10、以構(gòu)建出最基本的聊天室了。網(wǎng)上聊天室作為用戶的最為喜歡的web應用程序,其特點就是強調(diào)信息的即使性和信息發(fā)布式的多樣性。從功能上講,網(wǎng)上聊天室系統(tǒng)與論壇系統(tǒng)非常相似,但聊天室系統(tǒng)有自己的特點。它強調(diào)信息的即使性,在聊天室保持連接的狀態(tài)下,要求能夠?qū)崟r顯示出聊天者所談的內(nèi)容。1.2性能要求開發(fā)一個完整的聊天室要用到許許多知識,在開發(fā)以前首先要知道開發(fā)的程序要滿足哪些要求及實現(xiàn)的功能是什么。設計一個功能完善的聊天系統(tǒng),工作量是非常龐大的,但設計時一般有以下幾個問題需要我們注意。1.2.1系統(tǒng)需要解決的主要問題在規(guī)劃設計一個聊天室時,首先要確定好談話內(nèi)容存儲方式,即在客戶機上顯示即使談話的內(nèi)容應以什

11、么方式存儲在服務器中。asp可以用三中形式實現(xiàn)聊天室內(nèi)容的存?。?) 用全局變量alication和session對象實現(xiàn),這種形式速度快、效果好,但系統(tǒng)資源消耗太大。2) 用讀寫數(shù)據(jù)的方法實現(xiàn)。這種方法相對比簡明,但服務器頻繁讀寫數(shù)據(jù)庫負擔很重3) 用讀寫文本文件完成.這種方法適合簡單的聊天室。由于asp對文本文件操作的指令遠不如ado提供的對數(shù)據(jù)庫操作的指令多,所以利用ado,asp能靈活的操作數(shù)據(jù)庫,如插入、刪除、更新、查詢等等。本設計選擇了acess數(shù)據(jù)庫來存儲談話的內(nèi)容。聊天室設計的性能的好壞的另一個重要標志就是聊天室成員的動態(tài)刷新。因為許多用戶在退出聊天室的時候并不是標準的退出也就

12、是說并不從退出連接推出的,這樣就會帶來很多的麻煩,因為服務器并不知道用戶已經(jīng)離開了。因此需要建立一個在線用戶數(shù)據(jù)庫,每隔一段時間檢查一次,確定用戶是否最后一次發(fā)言到現(xiàn)在已經(jīng)超時,如果超時就自動將用戶刪除。但是每次用戶發(fā)言的時候必須把發(fā)言時間寫入數(shù)據(jù)庫。實現(xiàn)頁面自動刷新的關(guān)鍵設置就是在頁面的和之間加入以下代碼:這是一條最簡單的頁面自動刷新html腳本.語句設置頁面自動刷新的時間為4s,由content屬性設置。1.2.2系統(tǒng)具備的功能 本聊天室主要實現(xiàn)了以下功能 用戶注冊登陸聊天室 聊天室把語句寫入數(shù)據(jù)庫 修改聊天語句的顏色 改變聊天對象 設置發(fā)言人的表情 瀏覽器不斷的對數(shù)據(jù)庫進行刷新 讀取 實

13、時更新在線的用戶 對用戶留言進行查看和管理 bbs留言、回復、管理功能 2. 軟件的運行環(huán)境為了保證系統(tǒng)運行的效率和可靠性,服務器端應具有較高的軟硬件配置,客戶端的要求不需要很高.此應用程序可廣泛運行于internet,也適用于內(nèi)部的局域網(wǎng),運行要求如下: 2.1 軟件環(huán)境: 客戶端: windows98 internet explorer 4.0以上版本. 服務器端: windows 2000/xp, iis5.0及其以上版本 數(shù)據(jù)庫: 采用acess數(shù)據(jù)庫,運行于服務器端2.2 硬件環(huán)境: 服務器: cpu 要求piii800以上,內(nèi)存256mb以上. 客戶機: cpu 要求2000mx以

14、上,內(nèi)存64mb以上. 3. 聊天室系統(tǒng)整體模塊流程圖 聊天室登錄系統(tǒng)留言板留言系統(tǒng)聊天室聊天系統(tǒng) 留言板用戶編輯留言板用戶管理留言板用戶回復留言板用戶留言用戶留言管理用戶退出聊天室顯示在線用戶顯示聊天信息聊天者發(fā)言用戶注冊登錄三 a s4.asp (activeserverpage)簡 介 動態(tài)服務器頁面asp(activeserverpage)是微軟公司最新推出的web應用開發(fā)技術(shù),著重于處理動態(tài)網(wǎng)頁和web數(shù)據(jù)庫的開發(fā),編程靈活、簡潔,具有較高的性能,是目前訪問web數(shù)據(jù)庫的最佳選擇。4.1 asp訪問原理asp是服務器端的腳本執(zhí)行環(huán)境,可用來產(chǎn)生和執(zhí)行動態(tài)的高性能的web服務器程序。當

15、用戶使用瀏覽器請求asp主頁時,web服務器響應,調(diào)用asp引擎來執(zhí)行asp文件,并解釋其中的腳本語言(jscript或vbscript),通過odbc連接數(shù)據(jù)庫,由數(shù)據(jù)庫訪問組件ado(activexdataobjects)完成數(shù)據(jù)庫操作,最后asp生成包含有數(shù)據(jù)查詢結(jié)果的html主頁返回用戶端顯示。由于asp在服務器端運行,運行結(jié)果以html主頁形式返回用戶瀏覽器,因而asp源程序不會泄密,增加了系統(tǒng)的安全保密性。此外,asp是面向?qū)ο蟮哪_本環(huán)境,用戶可自行增加activex組件來擴充其功能,拓展應用范圍。4.2 asp頁面的結(jié)構(gòu)asp的程序代碼簡單、通用,文件名由.asp結(jié)尾,asp文件

16、通常由四部分構(gòu)成:1.標準的html標記:所有的html標記均可使用。2.asp語法命令:位于標簽內(nèi)的asp代碼。3.服務器端的include語句:可用#include語句調(diào)入其它asp代碼,增強了編程的靈活性。4.腳本語言:asp自帶jscript和vbscript兩種腳本語言,增加了asp的編程功能,用戶也可安裝其它腳本語言,如perl、rexx等。4.3 asp的運行環(huán)境目前asp可運行在三種環(huán)境下。1)windowsntserver4.0運行iis3.0(internetinformationserver)以上。2)windowsntworkstation4.0運行peerwebser

17、ver3.0以上。3)windows95/98運行pws(personalwebserver)。其中以ntserver上的iis功能最強,提供了對asp的全面支持,是創(chuàng)建高速、穩(wěn)定的asp主頁的最佳選擇。4.4 asp的內(nèi)建對象asp提供了六個內(nèi)建對象,供用戶直接調(diào)用:1.application對象:application對象被用來存儲一個應用中所有用戶共享的信息,比如你可以利用application對象來在你的站點的不同用戶間傳遞信息。2.session對象:session對象被用來存儲一個普通用戶其滯留期間的信息。 3.request對象:從用戶端取得信息傳遞給服務器,是asp讀取用戶輸入

18、的主要方法。4.response對象:服務器將輸出內(nèi)容發(fā)送到用戶端。5.server對象:提供對服務器有關(guān)方法和屬性的訪問,最常用的方法是創(chuàng)建active組件的實例(server.createobject)。其他方法用于將url或html編成字符串,將虛擬路徑映射到物理路徑以及設置腳本的超時期限。6. objectcontext對象:可以被用來控制(activeserverpage)的執(zhí)行,用來進行事務處理。此項功能需得到mts(microsofttranscationserver)管理的支持。4.5 asp的主要內(nèi)置組件:1.adrotator組件:用來按指定計劃在同一頁上自動輪換顯示廣告,

19、用于www上日益重要的廣告服務。2.browsercapabilities組件:確定訪問web站點的用戶瀏覽器的功能數(shù)據(jù),包括類型、性能、版本等。3.databaseaccess組件:提供ado(activexdataobjects)來訪問支持odbc的數(shù)據(jù)庫。4.fileaccess組件:提供對服務器端文件的讀寫功能。5.contentlinking組件:生成web頁內(nèi)容列表,并將各頁順序連接,用于制作導航條。此外,還可安裝myinfo、counters、contentrotator、pagecount等組件,用戶也可自行編制actiive組件,以提高系統(tǒng)的實用性。4.6databaseac

20、cess組件adowww上很重要的應用是訪問web數(shù)據(jù)庫,用asp訪問web數(shù)據(jù)庫時,必須使用ado組件,ado是asp內(nèi)置的activex服務器組件(activexservercomponent),通過在web服務器上設置odbc和oledb可連接多種數(shù)據(jù)庫:如sybase、oracle、informix、sqlserver、access、vfp等,是對目前微軟所支持的數(shù)據(jù)庫進行操作的最有效和最簡單直接的方法。ado組件主要提供了以下七個對象和四個集合來訪問數(shù)據(jù)庫。1.connection對象:建立與后臺數(shù)據(jù)庫的連接。2.command對象:執(zhí)行sql指令,訪問數(shù)據(jù)庫。3.parameter

21、s對象和parameters集合:為command對象提供數(shù)據(jù)和參數(shù)。4.recordset對象:存放訪問數(shù)據(jù)庫后的數(shù)據(jù)信息,是最經(jīng)常使用的對象。5.field對象和field集合:提供對recordset中當前記錄的各個字段進行訪問的功能。6.property對象和properties集合:提供有關(guān)信息,供connection、command、recordset、field對象使用。7.error對象和errors集合:提供訪問數(shù)據(jù)庫時的錯誤信息。5. asp訪問數(shù)據(jù)庫方法 在asp中,使用ado組件訪問后臺數(shù)據(jù)庫,可通過以下步驟進行:要與odbc兼容的數(shù)據(jù)庫進行連接,必須建立一個dsn(d

22、ate source name)用以定位和標識特定的odbc兼容數(shù)據(jù)庫. 通過odbc,用戶可以選擇希望創(chuàng)建的dsn的類型:用戶,系統(tǒng)或文件.用戶和系統(tǒng)dsn存儲在windowsnt/2000/xp注冊表中.系統(tǒng)dsn允許所有的用戶登陸到特定的服務器上去訪問數(shù)據(jù)庫,而用戶dsn使用適當?shù)陌踩矸葑C明限制數(shù)據(jù)庫到特定用戶的連接,文件dsn 用于從文本文件中獲取表格,提供了對多用戶的訪問,并且通過復制dsn文件,可以輕易的從一個服務器轉(zhuǎn)移到另一個服務器. 5.1 使用ado組件查詢web數(shù)據(jù)庫 1.調(diào)用server.createobject方法取得“adodb.connection”的實例,再使用

23、open方法打開數(shù)據(jù)庫:conn=server.createobject(“adodb.connection”)conn.open(“數(shù)據(jù)庫表名”)2.指定要執(zhí)行的sql命令連接數(shù)據(jù)庫后,可對數(shù)據(jù)庫操作,如查詢,修改,刪除等,這些都是通過sql指令來完成的,如要在數(shù)據(jù)表signaltab中查詢代碼中含有“x”的記錄sqlstr=“select*fromsignaltabwherecodelike%x%”rs=conn.execute(sqlstr)3.使用recordset屬性和方法,并顯示結(jié)果為了更精確地跟蹤數(shù)據(jù),要用recordset組件創(chuàng)建包含數(shù)據(jù)的游標,游標就是儲存在內(nèi)存中的數(shù)據(jù)。4.

24、關(guān)閉數(shù)據(jù)庫conn.close()6. 網(wǎng)絡聊天室用戶管理區(qū)詳細的設計與系統(tǒng)實現(xiàn)詳細設計是整個設計過程中,最重要的步驟之一,下面就系統(tǒng)中設計涉及到數(shù)據(jù)庫方面的部分進行詳細的設計。數(shù)據(jù)庫在一個信息系統(tǒng)當中占有非常重要的地位,數(shù)據(jù)庫設計的優(yōu)劣直接對系統(tǒng)的以及實現(xiàn)的效果產(chǎn)生影響。設計數(shù)據(jù)庫應該充分了解用戶各個方面的要求。包括現(xiàn)有的以及將來可能增加的需求。 本系統(tǒng)設計采用了acess數(shù)據(jù)庫設計。設計了兩個數(shù)據(jù)庫即聊天室系統(tǒng)的chat.mdb它用來存儲聊天者的發(fā)言信息、用戶信息以及在線用戶信息 和實現(xiàn)留言的books.mdb它們用來保存留言數(shù)據(jù)和管理留言數(shù)據(jù)。 6.1聊天室管理系統(tǒng)的數(shù)據(jù)庫設計數(shù)據(jù)庫的結(jié)

25、構(gòu)定義存儲用戶信息的用戶表定義如表 列 名數(shù)據(jù)類型可否為空說明 id自動編號not null用戶標示 姓名nvarchar(15)null用戶姓名 性別nvarchar(2)null用戶性別 密碼nvarchar(15)null用戶登錄存儲聊天者發(fā)言信息的聊天表的定義如下列 名數(shù)據(jù)類型可否為空說 明 id自動編號not null用戶標示ipnvarchar(15)null客戶端的ip地址姓名nvarchar(15)null用戶姓名顏色nvarchar(7)null聊天者的發(fā)言的字體顏色采用16進制存儲表情nvarchar(8)null聊天發(fā)言者的表情說話對象nvarchar(15)null聊天

26、發(fā)言的對方說話nvarchar(100)null聊天者的發(fā)言內(nèi)容聊天室存儲在線用戶信息表如下列 名數(shù)據(jù)類型可否為空說 明 id自動編號not null文件編號 姓名nvarchar(15)null用戶姓名 性別nvarchar(2)null用戶性別登陸時間datetimenull用戶登陸聊天室的時間下面就是實現(xiàn)系統(tǒng)各個模塊的詳細設計6.1.1聊天室系統(tǒng)用戶組冊登錄模塊的設計 如果用戶是第一次登陸的話,那么必須進行注冊,否則將無法登陸到我們的聊天室中。在這里我們設計了一個簡單的用戶注冊模塊,即將用戶的用戶名和登陸密碼提交到用戶表中去。系統(tǒng)會根據(jù)用戶表中的信息判斷是否準許用戶進入聊天室。6.1.2

27、聊天室系統(tǒng)用戶發(fā)言模塊設計為了使用戶能夠看到聊天者的聊天信息,在此我們設計實現(xiàn)了輸出發(fā)言者聊天信息的功能首先我們實現(xiàn)了如何顯示聊天者發(fā)言的程序 6.1.3 聊天室系統(tǒng)實時在線用戶模塊設計(listonline.asp)每當一個新的用戶進入聊天室后,系統(tǒng)應當將該用戶顯示在在線聊天名單中,并將當前的用戶的顏色以不同于其他用戶的顏色顯示。實現(xiàn)這一功能的數(shù)據(jù)庫操作如下: 6.1.4 聊天室系統(tǒng)在線用戶離開模塊設計當用戶離開聊天室的時候,除了讓頁面中顯示相應的離開信息,還應當實現(xiàn)從聊天室的在線名單中刪除。 例如,當用戶“孫道元”準備離開聊天室時,點擊離開聊天室按鈕即可,用戶離開后可以看到管理員發(fā)送的離開

28、提示,并且更新在線用戶的名單 用于實現(xiàn)用戶離開聊天室的程序段如下:如果用戶選擇離開聊天室從在線名單中把他刪除6.1.5 聊天室系統(tǒng)用戶留言管理模塊設計 在這一模塊中如果有聊天者散布非正常言論我們將對其進行刪除,也就是通過數(shù)據(jù)庫將其留言從數(shù)據(jù)庫中刪除,實現(xiàn)其功能的具體程序如下:6.2 聊天室系統(tǒng)留言板的數(shù)據(jù)庫設計當用戶不在線時我們給用戶設計了留言板系統(tǒng),我們?nèi)匀徊捎胊cess創(chuàng)建了一個名為books的數(shù)據(jù)庫并在數(shù)據(jù)庫中創(chuàng)建了名為liuyan 和admin 的數(shù)據(jù)表分別用于保存留言數(shù)據(jù)庫和管理留言數(shù)據(jù).數(shù)據(jù)庫中包含了兩個liuyan 和admin 的數(shù)據(jù)表1.liuyan 數(shù)據(jù)表用于保存留言數(shù)據(jù)

29、liuyan 數(shù)據(jù)表字段名字段類型寬度字段屬性說明id自動編號主鍵作者文本15不允許空留言姓名email文本20允許空留言者的email標題文本50不允許空留言標題內(nèi)容備注不允許空留言內(nèi)容時間日期允許空留言時間2.admin表 admin表用于保存管理員帳號 ,密碼字段名字段類型寬度字段屬性說明adminname文本15不允許空字符串管理員帳號password 文本15不允許空字符串管理員密碼6.2.1聊天室留言板數(shù)據(jù)庫聯(lián)接由于多個頁面中需要打開數(shù)據(jù)庫,可將數(shù)據(jù)庫的連接字符串和連接對象保存在一個單獨的文件中,并將文件的擴展名為 ,使用時只需將其包含到頁面中即可實現(xiàn)這一功能的程序是 6.2.2 聊天室留言板留言簽寫模塊設計在留言的簽寫與保存模塊中,post.asp程序負責處理留言板中提交的留言并將留言數(shù)據(jù)寫入到數(shù)據(jù)庫中保存:6.2.3 聊天室留言板編輯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論