簡易在線聊天系統(tǒng)設(shè)計和實現(xiàn) 計算機科學(xué)技術(shù)專業(yè)_第1頁
簡易在線聊天系統(tǒng)設(shè)計和實現(xiàn) 計算機科學(xué)技術(shù)專業(yè)_第2頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、題目:簡易在線聊天系統(tǒng)目 錄摘要III AbstractIII第一章緒論11.1概述11.2課題背景11.3開發(fā)準(zhǔn)備11.3.1 IIS概述11.3.2 安裝IIS21.3.3 配置虛擬目錄31.3.4 ODBC簡介3第二章相關(guān)技術(shù)52.1動態(tài)頁面的技術(shù)和方法52.1.1動態(tài)頁面簡介52.1.2微軟動態(tài)頁面創(chuàng)建技術(shù)52.1.3ASP技術(shù)72.2 AJAX技術(shù)82.2.1 AJAX主要包含的幾種技術(shù)82.2.2 AJAX與傳統(tǒng)的web應(yīng)用比較82.2.3AJAX應(yīng)用程序的優(yōu)勢92.2.4AJAX的工作原理9第三章 系統(tǒng)開發(fā)模式、工具及環(huán)境93.1硬件開發(fā)環(huán)境113.2軟件開發(fā)環(huán)境113.2.1M

2、icrosoft Access 2003數(shù)據(jù)庫113.2.2Dreamweaver8.0開發(fā)工具123.2.3ADO13第四章系統(tǒng)需求分析144.1系統(tǒng)概述144.2系統(tǒng)實現(xiàn)分析144.3系統(tǒng)處理流程164.4在線聊天系統(tǒng)模塊功能圖17第五章系統(tǒng)總體設(shè)計185.1系統(tǒng)結(jié)構(gòu)設(shè)計185.2在線聊天系統(tǒng)主要模塊結(jié)構(gòu)圖195.3E-R圖205.4數(shù)據(jù)庫設(shè)計20第六章系統(tǒng)設(shè)計詳細設(shè)計246.1數(shù)據(jù)流設(shè)計246.2數(shù)據(jù)字典256.3詳細設(shè)計266.3.1聊天系統(tǒng)處理流程圖266.3.2聊天系統(tǒng)后臺管理流程圖266.4界面設(shè)計276.4.1在線聊天系統(tǒng)用戶頁面設(shè)計276.4.2在線聊天系統(tǒng)后臺管理頁面設(shè)計4

3、46.4.3 在線聊天系統(tǒng)退出設(shè)計456.4.4在線聊天重新登錄設(shè)計45第七章測試與調(diào)試467.1 注冊功能測試467.2 登錄功能測試477.3 聊天功能測試497.4 后臺管理功能測試51第八章總結(jié)與展望59參考文獻60致謝61摘要在網(wǎng)絡(luò)飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟、生活等各個方面發(fā)揮著重要的作用?;ヂ?lián)網(wǎng)上存在大量的信息,人與人之間的溝通、信息交換顯得尤為重要。人們一直在尋找一種方便、低廉的交流信息的工具,因此網(wǎng)上聊天便成為人們的首選,而一個好的聊天工具是:操作簡單、方便、人性化,節(jié)省系統(tǒng)資源。為了方便各級部門與上級部門的聯(lián)系及數(shù)據(jù)匯

4、報,特構(gòu)建此聊天系統(tǒng)。本文主要介紹了ASP技術(shù)相關(guān)的基礎(chǔ)知識,并探討了建立在線聊天系統(tǒng)的設(shè)計思想、方法及設(shè)計過程,詳細地分析了各個模塊的功能及實現(xiàn)方法。本文所實現(xiàn)的在線聊天系統(tǒng)具有良好的人機交互界面、合理的數(shù)據(jù)庫結(jié)構(gòu),可以實現(xiàn)發(fā)言、自動顯示所在聊天系統(tǒng)的成員、新建聊天室、管理員對該聊天室進行管理等交互功能,經(jīng)過調(diào)試鏈接,證明可應(yīng)用于各種大小網(wǎng)站。關(guān)鍵詞 聊天系統(tǒng),數(shù)據(jù)庫,網(wǎng)絡(luò)abstractAs the rapid developing of network today, the Internet has became an important channel for people to ac

5、cess, publish and disseminate information quickly and has played an important role in the political, economic, and other aspects of life. There is a large number of information in Internet, so it is very important for people to communicate with each other and exchange information. People have always

6、 been looking for a convenient, inexpensive tool for the exchange of information, so online chatting becomes the first choice. A good chat tool should be simple, convenient, humanistic and low system resources consumption. In order to adapt to the communication between each department and the higher

7、 departments in data reporting, I develop this system, especially.Basic knowledge about ASP is introduced in this paper. ideology, method and designation of a online chatsystem are investigated; each component are discussed in function and ealization method. a online chatsystem with friendly ppl-com

8、puter interface and reasonable database structure is implemented and tested in this work, enabling users to chat, to display chaters automatically, to start a new room, and also enabling monitoring administrators monitoring rooms.Keyword Chatsystem  Datebase  Network 第一章緒論1.1概述在線聊天系統(tǒng)是

9、一個通過Internet進行多人通訊的系統(tǒng)。與傳統(tǒng)的通訊方式相比,在線聊天系統(tǒng)就能很好的彌補傳統(tǒng)通訊方式的局限性:克服了電報、電話費時費錢且不能進行多人會談的弊端,解決了電子郵件時效性差的難題。使用在線聊天系統(tǒng),我們不需要聚集在同一地點,各自在不同的地點就可以在聊天系統(tǒng)中發(fā)言,大家互相討論。費用低廉,信息交流速度快,只有這樣,才能在這個涌動的社會中加強聯(lián)系,創(chuàng)造出更多的財富。1.2課題背景隨著Internet的普及,越來越多的人們建立了自己的WWW網(wǎng)站,人們通過網(wǎng)站可以展示產(chǎn)品,發(fā)布最新動態(tài),與用戶進行交流和溝通,與合作伙伴建立聯(lián)系,以及開展電子商務(wù)等。其中留言管理系統(tǒng)是構(gòu)成網(wǎng)站的一個重要組成

10、部分,它為人們的交流提供了一個平臺。網(wǎng)站留言管理方式是基于ASP和腳本語言,將動態(tài)網(wǎng)頁和數(shù)據(jù)庫結(jié)合,通過應(yīng)用程序來處理留言,這是目前較為流行的做法。網(wǎng)上聊天系統(tǒng)是為人們之間進行交流和聯(lián)系提供的一個平臺。通過提供完善的網(wǎng)上聊天系統(tǒng)服務(wù),可以達到增進彼此之間的了解,增進人與人之間的感情交流。此系統(tǒng)是以用戶為中心的人性化設(shè)計,總體來看,系統(tǒng)可以看作是用戶模塊和注冊模塊兩大模塊,用戶通過提交用戶名稱和用戶密碼進行登陸,系統(tǒng)便會根據(jù)這些登陸資料,辨別出用戶是否存在。聊天室中將顯示用戶留的信息,及當(dāng)前在線的用戶。1.3 開發(fā)準(zhǔn)備1.3.1IIS概述IIS是Internet Information Serv

11、er的縮寫,它是微軟公司主推的服務(wù)器。IIS是一個World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS意味著你能發(fā)布網(wǎng)頁,并且有ASP(Active Server Pages)、JAVA、VBscript產(chǎn)生頁面,有著一些擴展功能。IIS支持一些有趣的東西,象有編輯環(huán)境的界面(FRONTPAGE)、有全文檢索功能的(INDEX SERVER)、有多媒體功能的(NET SHOW) IIS是隨Windows NT Server 4.0一起提供的文件和應(yīng)用程序服務(wù)器,是在Windows NT Server上建立Internet服務(wù)器的基

12、本組件。它與Windows NT Server完全集成,允許使用Windows NT Server內(nèi)置的安全性以及NTFS文件系統(tǒng)建立強大靈活的InternetIntranet站點。IIS是一種Web(網(wǎng)頁)服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,它使得在網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成了一件很容易的事。IIS的作用是在同一時間內(nèi)允許打開的網(wǎng)站頁面數(shù),打開一個頁面占一個iis,打開一個站內(nèi)框架頁面占2到3個iis;若圖片等被盜鏈,在其它網(wǎng)站打開本站圖片同樣占一個iis。假若設(shè)置參數(shù)為50個iis,

13、則這個站允許同時有50個頁面被打開。但要在同一時間(極短的時間)有50個頁面被打開,需要50個人同時操作,這個概率還是比較低的。所以,100個iis支持日ip1000(同時訪問網(wǎng)站人數(shù)必定遠低于1000人)以上都不是很大問題,除非網(wǎng)站被盜鏈或框架引發(fā)其它消耗。IIS的設(shè)計目的是建立一套集成的服務(wù)器服務(wù),用以支持HTTP,F(xiàn)TP和SMTP,它能夠提供快速且集成了現(xiàn)有產(chǎn)品,同時可擴展的Internet服務(wù)器。IIS支持ISAPI,使用ISAPI可以擴展服務(wù)器功能,而使用ISAPI過濾器可以預(yù)先處理和事后處理儲存在IIS上的數(shù)據(jù)。用于32位Windows應(yīng)用程序的Internet擴展可以把FTP,S

14、MTP和HTTP協(xié)議置于容易使用且任務(wù)集中的界面中,這些界面將Internet應(yīng)用程序的使用大大簡化,IIS也支持MIME(Multipurpose Internet Mail Extensions,多用于Internet郵件擴展),它可以為Internet應(yīng)用程序的訪問提供一個簡單的注冊項。1.3.2安裝IIS若操作系統(tǒng)中還未安裝IIS服務(wù)器,可打開“控制面板”,然后單擊啟動 “添加/刪除程序”, 在彈出的對話框中選擇 “添加/刪除Windows組件”,將系統(tǒng)盤放入光驅(qū),在Windows組件向?qū)υ捒蛑羞x中“Internet信息服務(wù)(IIS)”,單擊“下一步”,出現(xiàn)安裝界面。IIS安裝后,系

15、統(tǒng)自動創(chuàng)建了一個默認的Web站點,該站點的主目錄默認為C:Inetpubwwwroot。1.3.3配置虛擬目錄打開“管理工具”,打開“Internet 信息服務(wù)”,展開“本地計算機”,找到“默認網(wǎng)站”,右擊“默認網(wǎng)站”,選擇“新建”“虛擬目錄”,單擊“下一步”,出現(xiàn)虛擬目錄創(chuàng)建向?qū)?,在“別名”中輸入名稱,單擊“下一步”,出現(xiàn)選擇虛擬目錄的界面,本例中選擇“C:Inetpubwwwroot”路徑,單擊“下一步”,出現(xiàn)“訪問權(quán)限”的界面,勾選“執(zhí)行(如ISAPI 應(yīng)用程序或CGI(E)”,單擊“下一步”,成功創(chuàng)建虛擬目錄。單擊“完成”,則出現(xiàn)剛創(chuàng)建的虛擬目錄“test”,如下圖:圖1.1 創(chuàng)建虛擬

16、目錄圖1.3.4ODBC簡介ODBC(Open DataBase Connectivity,開放數(shù)據(jù)庫互連)是微軟公司開放服務(wù)結(jié)構(gòu)(WOSA,Windows Open Service Architecture)中有關(guān)數(shù)據(jù)庫的一個組成部分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API(應(yīng)用程序接口)。這些API利用SQL來完成其大部分任務(wù)。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。一個完整的ODBC系統(tǒng)由:應(yīng)用程序(Application);ODBC管理器(Administrator):找任務(wù)是安裝ODBC驅(qū)動程序和管理數(shù)據(jù)源;驅(qū)動程序管理器(Dri

17、ver Manager):用于管理ODBC驅(qū)動程序;ODBC API:ODBC驅(qū)動程序。是一些DLL,提供了ODBC和數(shù)據(jù)庫之間的接口。數(shù)據(jù)源:它包含了數(shù)據(jù)庫位置和數(shù)據(jù)庫類型等信息,是一種數(shù)據(jù)連接的抽象。在ODBC中,ODBC API不能直接訪問數(shù)據(jù)庫,必須通過驅(qū)動程序管理器與數(shù)據(jù)庫交換信息。驅(qū)動程序管理器負責(zé)加工程序?qū)DBC API的調(diào)用窗體給正確的驅(qū)動程序,而驅(qū)動程序在執(zhí)行完相應(yīng)的操作后,將結(jié)果通過驅(qū)動程序管理器返回給應(yīng)用程序。第二章相關(guān)技術(shù)2.1動態(tài)頁面的技術(shù)和方法2.1.1動態(tài)頁面簡介對于新類型的文檔內(nèi)容, 特別是那些涉及成為允許在頁面上編輯信息的文檔(例如 HTML 中<IN

18、PUT>等窗體控件),開發(fā)一種能夠讀取這種信息并加以利用的應(yīng)用程序成為必然。很明顯,傳遞從其他應(yīng)用程序中得到的內(nèi)容,特別是特定類型的數(shù)據(jù)庫的內(nèi)容,需要一種新的方法。每次都需要重寫一個基于文本的頁面,對于提供時事性很強的信息當(dāng)然不是一個理想的做法。對于Web服務(wù)器來說,提供一個接口是其他應(yīng)用程序能夠與之相連成為一種常用的方法。通過這個接口,定制的可執(zhí)行程序能夠接收來自客戶端的信息,包括通過點擊超級鏈接或在瀏覽器中鍵入統(tǒng)一資源定位符(URL)所提出的頁面請求的細節(jié)。應(yīng)用程序?qū)蛻舳说恼埱竽軌蛏上鄳?yīng)的響應(yīng),而不是從服務(wù)器磁盤上讀取文本或標(biāo)記文件。從這些早期方法開始,逐漸形成一套完整的系列方法

19、動態(tài)創(chuàng)建網(wǎng)頁,以相應(yīng)用戶的請求或信息的變化。用于這些應(yīng)用程序的接口仍然在使用,并被稱為公共網(wǎng)關(guān)接口(Common Gateway Interface CGI),這是一種可用任何語言(如C語言)實現(xiàn)的標(biāo)準(zhǔn)。它產(chǎn)生于那些使用(cgi-bin)目錄的應(yīng)用程序(這里“bin”代表二進制代碼,而不是文本)。早期的應(yīng)用程序都是編譯后的程序,通常用C或C+編寫。然而這自然要懂得C語言的編程方法,并且每當(dāng)對程序作很小的文字上或標(biāo)記上的變動,都必須重新編譯、重新生成可執(zhí)行文件,這就限制了CGI和動態(tài)頁面的使用。取而代之的是開發(fā)了一種用腳本語言創(chuàng)建頁面的方法,這種語言就是使用摘要和報告語言,或簡稱為Perl,她允

20、許信息的創(chuàng)建者以一種非常類似于簡化版C或者C+的語言編寫代碼。在Perl腳本中,可以“寫“文本和標(biāo)記,用標(biāo)準(zhǔn)輸入(stdin)和標(biāo)準(zhǔn)輸出(stdout)函數(shù)通過CGI與Web服務(wù)器通信,輸出到瀏覽器。2.1.2微軟動態(tài)頁面創(chuàng)建技術(shù)微軟隨Windows NT推出了他們的W服務(wù)器軟件IIS。這是一個提供了很多功能的相當(dāng)標(biāo)準(zhǔn)的軟件,它支持CGI。然而微軟也提供了另外一個接口,允許使用C和C+等編譯語言生成可執(zhí)行文件,使操作更加高效。這就是Internet服務(wù)器應(yīng)用編程接口(Internet Server Application Programming Interface,ISAPI)。它能夠提供比傳

21、統(tǒng)Perl引擎和其他技術(shù)所依賴的stdin和stdout更為廣泛地對Web服務(wù)器的訪問。此后微軟和其他第三方開發(fā)商推出了許多能通過ISAPI連接到IIS的應(yīng)用軟件,這就是為什么ASP能夠連接到IIS以及其他微軟服務(wù)器端動態(tài)技術(shù)的原因。在ASP之前,用的最廣泛的是Internet數(shù)據(jù)庫連接器(Internet Data Connector,IDC)。ASP為Web開發(fā)者使用微軟的平臺開辟了一個新的天地,這是采用數(shù)據(jù)庫中的數(shù)據(jù)創(chuàng)建動態(tài)網(wǎng)頁更加容易。特別是它引入了模版(template),即包含了帶有能夠插入數(shù)據(jù)庫查詢結(jié)果的文本和標(biāo)記的模版文件?,F(xiàn)有的(或?qū)⑦^時的)其他微軟服務(wù)器端頁面創(chuàng)建技術(shù)有db

22、 Web 和 OLEISAPI。事實上,db Web就是OLEISAPI的實現(xiàn),而對于多數(shù)人來說,迄今只是證實了這一技術(shù)在實際應(yīng)用中的不適應(yīng)性。OLEISAPI是通過特殊版本的ISAPI接口與IIS通信的一些COM對象。Web服務(wù)器軟件調(diào)用COM對象中單個指定函數(shù)并以參數(shù)為用戶的請求提供細節(jié)。COM對象返回的是作為字符串的頁面的文本和標(biāo)記,然后作為響應(yīng)發(fā)送給客戶端。OLEISAPI首創(chuàng)了COM對象的動態(tài)Web頁面創(chuàng)建,為編程人員提供通過編譯的Active X DLL創(chuàng)建動態(tài)頁面的能力。然而它所使用的特定的實現(xiàn)和數(shù)據(jù)通信技術(shù)對于較小的任務(wù)和內(nèi)部網(wǎng)(Intranet)工作缺乏有效性和可擴展性。同時

23、,每當(dāng)改變頁面的文本和標(biāo)記時,也需要重新便以動態(tài)鏈接庫。動態(tài)Web頁面創(chuàng)建方法的比較比較動態(tài)頁面創(chuàng)建技術(shù)是一個既困難又敏感的任務(wù),然而理解各種接口和與之相關(guān)聯(lián)的應(yīng)用程序的差異性又是很重要的。當(dāng)創(chuàng)建與Web服務(wù)器交互的應(yīng)用程序時,涉及到的兩個主要的問題是它們對Web服務(wù)器本身穩(wěn)定性的影響,以及處理多發(fā)或并發(fā)頁面請求的效率。這兩個問題是相互聯(lián)系的,又是相互排斥的。應(yīng)用CGI和ISAPI的編譯的可執(zhí)行應(yīng)用程序(不是DLL文件),通常在服務(wù)器計算機上以進程外(out-of-process)方式運行,這就意味著他們要作為單獨應(yīng)用程序運行,占有單獨的與Web服務(wù)器應(yīng)用程序不同的內(nèi)存空間。操作系統(tǒng)將其作為一

24、個單獨的進程進行管理,禁止他們訪問本身所占內(nèi)存以外的內(nèi)存。因此,如果一個進程外應(yīng)用程序失敗,不會影響到Web服務(wù)器。同樣,假如應(yīng)用程序包含錯誤,企圖直接寫入Web服務(wù)器的內(nèi)存,會因一般性保護錯誤停止運行。進程外應(yīng)用程序也會因用戶或操作系統(tǒng)的命令而終止,這時代碼會從內(nèi)存中自動卸載。因為運行進程外程序意味著訪問Web服務(wù)器內(nèi)存的請求被禁止,所要求的或產(chǎn)生的輸出結(jié)果值不能直接傳送給Web服務(wù)器。所以必須執(zhí)行一種跨進程調(diào)用,但這比在同一進程內(nèi)訪問內(nèi)存要多花費幾倍時間。對于可執(zhí)行文件的裝載和卸載時間還有一定的影響。相反,應(yīng)用進程內(nèi)(in-process)程序通常是能夠使用ISAPI或OLEAPI接口的D

25、LL(不是單獨的可執(zhí)行文件),因為其運行在Web服務(wù)器的內(nèi)存空間中,可以直接訪問Web服務(wù)器內(nèi)存中得值,這可提供更快的訪問和相應(yīng)。然而其代碼的錯誤或失敗會影響到Web服務(wù)器,例如DLL文件中的代碼直接寫入包含Web服務(wù)器操作代碼的內(nèi)存空間,可能會引起Web服務(wù)器的失敗。2.1.3ASP技術(shù)ASP是Active Server Page的縮寫,意為“動態(tài)服務(wù)器頁面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網(wǎng)頁文件的格式是.asp,現(xiàn)在常用于各種動態(tài)網(wǎng)站中。 ASP是一種服務(wù)器端腳本編寫環(huán)境,可以用來創(chuàng)建和運行動態(tài)網(wǎng)

26、頁或Web應(yīng)用程序。ASP網(wǎng)頁可以包含HTML標(biāo)記、普通文本、腳本命令以及COM組件等。利用ASP可以向網(wǎng)頁中添加交互式內(nèi)容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁作為用戶界面的web應(yīng)用程序。 與HTML相比,ASP網(wǎng)頁具有以下特點:1.利用ASP可以實現(xiàn)突破靜態(tài)網(wǎng)頁的一些功能限制,實現(xiàn)動態(tài)網(wǎng)頁技術(shù)。2.ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測試。3.服務(wù)器上的ASP解釋程序會在服務(wù)器端制定ASP程序,并將結(jié)果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產(chǎn)生的網(wǎng)頁。4.ASP提供了一些內(nèi)置對象,使用這些對象可以使服務(wù)器端腳本功能更強。例如

27、可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,并在腳本中對這些信息進行處理,然后向web瀏覽器發(fā)送信息。5.ASP可以使用服務(wù)器端ActiveX組件來執(zhí)行各種各樣的任務(wù),例如存取數(shù)據(jù)庫、發(fā)現(xiàn)和那個Email或訪問文件系統(tǒng)等。6.由于服務(wù)器是將ASP程序執(zhí)行的結(jié)果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可防止ASP程序代碼被竊取編輯本段ASP的工作原理。2.2 AJAX技術(shù)AJAX全稱為“Asynchronous JavaScript and XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。 Web應(yīng)用的交互

28、如Flickr, Backpack和Google在這方面已經(jīng)有質(zhì)的飛躍。這個術(shù)語源自描述從基于網(wǎng)頁的Web應(yīng)用到基于數(shù)據(jù)的應(yīng)用的轉(zhuǎn)換。在基于數(shù)據(jù)的應(yīng)用中,用戶需求的數(shù)據(jù)如聯(lián)系人列表,可以從獨立于實際網(wǎng)頁的服務(wù)端取得并且可以被動態(tài)地寫入網(wǎng)頁中,給緩慢的Web應(yīng)用體驗著色使之像桌面應(yīng)用一樣。 雖然大部分開發(fā)人員在過去使用過XMLHttp或者使用Iframe來加載數(shù)據(jù),但僅到現(xiàn)在我們才看到傳統(tǒng)的開發(fā)人員和公司開始采用這些技術(shù)。就像新的編程語言或模型伴隨著更多的痛苦,開發(fā)人員需要學(xué)習(xí)新的技巧及如何最好利用這些新技術(shù)。2.2.1 AJAX主要包含的幾種技術(shù)1.AJAX(Asynchronous Java

29、Script + XML)的定義。 2.基于web標(biāo)準(zhǔn)(standards-based presentation)XHTML+CSS的表示。 3.使用 DOM(Document Object Model)進行動態(tài)顯示及交互。 4.使用 XML 和 XSLT 進行數(shù)據(jù)交換及相關(guān)操作。 5.使用 XMLHttpRequest 進行異步數(shù)據(jù)查詢、檢索。 6.使用 JavaScript 將所有的東西綁定在一起。AJAX不是指一種單一的技術(shù),而7.是有機地利用了一系列相關(guān)的技術(shù)。事實上,一些基于AJAX的“派生/合成”式(derivative/composite)的技術(shù)正在出現(xiàn),如“AFLAX”。 2.

30、2.2 AJAX與傳統(tǒng)的web應(yīng)用比較傳統(tǒng)的web應(yīng)用允許用戶填寫表單(form),當(dāng)提交表單時就向web服務(wù)器發(fā)送一個請求。服務(wù)器接收并處理傳來的表單,然后返回一個新的網(wǎng)頁。這個做法浪費了許多帶寬,因為在前后兩個頁面中的大部分HTML代碼往往是相同的。由于每次應(yīng)用的交互都需要向服務(wù)器發(fā)送請求,應(yīng)用的響應(yīng)時間就依賴于服務(wù)器的響應(yīng)時間。這導(dǎo)致了用戶界面的響應(yīng)比本地應(yīng)用慢得多。與此不同,AJAX應(yīng)用可以僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù),它使用SOAP或其它一些基于XML的web service接口,并在客戶端采用JavaScript處理來自服務(wù)器的響應(yīng)。因為在服務(wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少,結(jié)

31、果我們就能看到響應(yīng)更快的應(yīng)用。同時很多的處理工作可以在發(fā)出請求的客戶端機器上完成,所以Web服務(wù)器的處理時間也減少了。2.2.3 AJAX應(yīng)用程序的優(yōu)勢1.通過異步模式,提升了用戶體驗。2.優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返和不必要的帶寬占用。3.AJAX引擎在客戶端運行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作,從而減少了大用戶量下的服務(wù)器負載。2.2.4 AJAX的工作原理 AJAX的核心是JavaScript對象XmlHttpRequest。該對象在Internet Explorer 5中首次引入,它是一種支持異步請求的技術(shù)。簡而言之,XmlHttpRequest使您可以使用

32、JavaScript向服務(wù)器提出請求并處理響應(yīng),而不阻塞用戶。使用AJAX實現(xiàn)局部刷新的聊天系統(tǒng),通過javascript控制XMLHTTPRequest對象來實現(xiàn)異步提交,通過使用DOM模型來實現(xiàn)數(shù)據(jù)的實時顯示。工作原理如圖2.1:客戶端的頁面設(shè)計在風(fēng)格上和傳統(tǒng)方式并沒有大的區(qū)別,同樣是通過HTML標(biāo)記和CSS將聊天內(nèi)容呈現(xiàn)給用戶。所不同的是,當(dāng)頁面完全載入后可以通過DOM模型來修改頁面的內(nèi)容和布局,產(chǎn)生局部更新的效果。服務(wù)器端程序更多的是充當(dāng)一個數(shù)傳輸接口的作用,它將接收到的客戶端信息進行處理,然后返回一個招執(zhí)行狀態(tài)或需要的返回值,客戶頁面實際上只是在初次載入時才能從服務(wù)器獲取信息。作為一

33、個數(shù)據(jù)接口頁面,它只要將提交過來的數(shù)據(jù)存入數(shù)據(jù)庫。因為提交內(nèi)容是客戶提交的,客戶端已經(jīng)知道。另外,客戶端通過異步提交的方式在后臺將信息提交到服務(wù)器,原有頁面并無變化。因此,不需要向服務(wù)器獲取原有的信息。HTML AJAX引擎 網(wǎng) 絡(luò) 服務(wù)器 ASP 數(shù)據(jù)庫 客戶端獲取表單信息 更新表單信息 提交用戶信息 獲取服務(wù)器響應(yīng)信息 獲取信息 返回信息 圖2.1基于AJAX技術(shù)的數(shù)據(jù)傳輸結(jié)構(gòu)圖第三章系統(tǒng)開發(fā)模式、工具及環(huán)境3.1硬件開發(fā)環(huán)境系統(tǒng)是B/S模式的系統(tǒng),其開發(fā)環(huán)境要求是用戶必須與服務(wù)器互連,必須在網(wǎng)絡(luò)環(huán)境下才能實現(xiàn),在開發(fā)過程中,只開發(fā)網(wǎng)絡(luò)服務(wù)器端的程序,用戶通過瀏覽器進行數(shù)據(jù)交互和操作,完成

34、整個系統(tǒng)的開發(fā)。3.2軟件開發(fā)環(huán)境聊天系統(tǒng)采用B/S模式,只是對信息交換的即時性有一定的要求。以下配置能夠滿足開發(fā)所需要求。操作系統(tǒng):Windows XP Professional或Windows 2000或Windows 2003 Sevice系統(tǒng)平臺。數(shù)據(jù)庫:Microsoft Access 2003數(shù)據(jù)庫系統(tǒng)。服務(wù)器配置: IIS 5.1。第三方工具:Macromedia Dreamweaver8.0。3.2.1Microsoft Access 2003數(shù)據(jù)庫數(shù)據(jù)庫的主要功能是存儲管理數(shù)據(jù),在目前市面上存在的多種形式的數(shù)據(jù)庫產(chǎn)品中,關(guān)系型數(shù)據(jù)庫最受歡迎并被廣泛使用。該類數(shù)據(jù)庫將數(shù)據(jù)按類別

35、存儲在各種數(shù)據(jù)表中,并且通過數(shù)據(jù)表之間的關(guān)聯(lián)進行數(shù)據(jù)的調(diào)整和搜索等維護操作。Access數(shù)據(jù)庫是目前比較流行的數(shù)據(jù)庫管理系統(tǒng),它是一個運行在Windows系統(tǒng)環(huán)境下的桌面關(guān)系型數(shù)據(jù)庫,也是Office系列軟件中用來專門管理數(shù)據(jù)庫的應(yīng)用軟件。由于Access繼承了Windows的特性,不僅易于使用,而且界面友好,因此被用戶廣泛采用。使用Access的時候不需要數(shù)據(jù)庫管理者具有專業(yè)的程序設(shè)計水平,任何非專業(yè)的用戶都可以用它來創(chuàng)建功能強大的數(shù)據(jù)庫管理系統(tǒng)。Access使用標(biāo)準(zhǔn)的SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)作為它的數(shù)據(jù)庫語言,從而提供了強大的數(shù)據(jù)處理能力

36、和通用性,使其成為一個功能強大而且易于使用的桌面關(guān)系型數(shù)據(jù)庫管理系統(tǒng)和應(yīng)用程序生成器。一個Access數(shù)據(jù)庫可以包含表、查詢、窗體、報表、宏、模塊以及數(shù)據(jù)訪問頁,不同于傳統(tǒng)的桌面數(shù)據(jù)庫(dbase、 FoxPro、Paradox),Access數(shù)據(jù)庫使用單一的*.mdb文件管理所有的信息,這種針對數(shù)據(jù)庫集成的最優(yōu)化文件結(jié)構(gòu)不僅包括數(shù)據(jù)本身,也包括了它的支持對象.相比其它版本,Access2003改進了很多特性,其通用性和實用性大大增強,集成度和網(wǎng)絡(luò)性也更加強大。強大的功能和易用性等特點,使得Access2003在小型企業(yè)辦公和網(wǎng)絡(luò)應(yīng)用程序中有著廣泛的應(yīng)用。3.2.2Dreamweaver8.0

37、開發(fā)工具Dreamweaver是創(chuàng)建專業(yè)網(wǎng)站的最佳工具,也是構(gòu)建強大Internet應(yīng)用程序的最簡便途徑。開發(fā)人員可以在一個開發(fā)環(huán)境下快速地實現(xiàn)網(wǎng)站以及Internet應(yīng)用程序的創(chuàng)建和管理??梢哉f,Dreamweaver是一個完整的、集成的網(wǎng)頁解決方案,它提供了可視化的網(wǎng)頁對象編輯工具,同時實現(xiàn)了快速Web應(yīng)用程序開發(fā)以及廣泛的代碼編輯支持,并且在新版的Dreamweaver8.0中,還加強了對無線網(wǎng)頁程序的支持。Dreamweaver有以下優(yōu)點:1.制作效率高Dreamweaver可以用最快速的方式將Fireworks,F(xiàn)reeHand,或Photoshop等檔案移至網(wǎng)頁上。使用檢色吸管工具

38、選擇熒幕上的顏色可設(shè)定最接近的網(wǎng)頁安全色。對于選單,快捷鍵與格式控制,都只要一個簡單步驟便可完成。Dremweaver能與您喜愛的設(shè)計工具,如Playback Flash,Shockwave和外掛模組等搭配,不需離開Dremweaver便可完成,整體運用流程自然順暢。除此之外,只要單擊便可使Dreamweaver自動開啟Firework或Photoshop來進行編輯與設(shè)定圖檔的最佳化。 2.網(wǎng)站管理功能 使用網(wǎng)站地圖可以快速制作網(wǎng)站雛形、設(shè)計、更新和重組網(wǎng)頁。改變網(wǎng)頁位置或檔案名稱,Dreamweaver 會自動更新所有連結(jié)。使用支援文字、HTML碼、HTML屬性標(biāo)簽和一般語法的搜尋及置換功能

39、使得復(fù)雜的網(wǎng)站更新變得迅速又簡單。 3.超強的控制能力 Dreamweaver是唯一提供Roundtrip HTML、視覺化編輯與原始碼編輯同步的設(shè)計工具。它包含HomeSite和BBEdit等主流文字編輯器。幀(frames)和表格的制作速度快的令您無法想像。進階表格編輯功能使您簡單的選擇單格、行、欄或作未連續(xù)之選取。甚至可以排序或格式化表格群組,Dreamweaver 支援精準(zhǔn)定位,利用可輕易轉(zhuǎn)換成表格的圖層以拖拉置放的方式進行版面配置。所見即所得 Dreamweaver成功整合動態(tài)式出版視覺編輯及電子商務(wù)功能,提供超強的支援能力給Third-party廠商,包含ASP, Apache,B

40、roadVision, Cold Fusion,iCAT, Tango與自行發(fā)展的應(yīng)用軟體。當(dāng)您正使用Dreamweaver在設(shè)計動態(tài)網(wǎng)頁時,所見即所得的功能,讓您不需要透過瀏覽器就能預(yù)覽網(wǎng)頁。夢幻樣版和XML Dreamweaver將內(nèi)容與設(shè)計分開,應(yīng)用于快速網(wǎng)頁更新和團隊合作網(wǎng)頁編輯。建立網(wǎng)頁外觀的樣版,指定可編輯或不可編輯的部份,內(nèi)容提供者可直接編輯以樣式為主的內(nèi)容卻不會不小心改變既定之樣式。您也可以使用樣版正確地輸入或輸出XML內(nèi)容。 全方位的呈現(xiàn)利用Dreamweaver設(shè)計的網(wǎng)頁,可以全方位的呈現(xiàn)在任何平臺的熱門瀏覽器上。對于cascading style sheets的動態(tài)HTM

41、L支援和鼠標(biāo)換圖效果,聲音和動畫的DHTML效果資料庫可在Netscape和Microsoft瀏覽器上執(zhí)行。使用不同瀏覽器檢示功能,Dreamweaver可以告知您在不同瀏覽器上執(zhí)行的成效如何。當(dāng)有新的瀏覽器上市時,只要從Dreamweaver的網(wǎng)站在下載它的描述檔,便可得知詳盡的成效報告。3.2.3ADO微軟公司的ADO (ActiveX Data Objects) 是一個用于存取數(shù)據(jù)源的COM組件。它提供了編程語言和統(tǒng)一數(shù)據(jù)訪問方式OLE DB的一個中間層。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接。訪問數(shù)據(jù)庫的時候,關(guān)于SQL的知識不是必要的,但

42、是特定數(shù)據(jù)庫支持的SQL命令仍可以通過ADO中的命令對象來執(zhí)行。ADO 是對當(dāng)前微軟所支持的數(shù)據(jù)庫進行操作的最有效和最簡單直接的方法,它是一種功能強大的數(shù)據(jù)訪問編程模式,從而使得大部分?jǐn)?shù)據(jù)源可編程的屬性得以直接擴展到你的Active Server 頁面上??梢允褂肁DO 去編寫緊湊簡明的腳本以便連接到 Open Database Connectivity (ODBC) 兼容的數(shù)據(jù)庫和 OLE DB 兼容的數(shù)據(jù)源,這樣 ASP 程序員就可以訪問任何與 ODBC 兼容的數(shù)據(jù)庫,包括 MS SQL SERVER、Access、 Oracle 等等。第四章系統(tǒng)需求分析4.1系統(tǒng)概述本系統(tǒng)的組建過程基本

43、是按照軟件工程的方法,從需求分析、總體設(shè)計、詳細設(shè)計三個步驟完成,經(jīng)運用實踐后再作修改。本系統(tǒng)面向各單位和個人,是當(dāng)前非常流行的在線聊天系統(tǒng)軟件項目需求。設(shè)計可與數(shù)據(jù)庫交互的網(wǎng)站,這些交互功能,如:聊天內(nèi)容的發(fā)送和顯示、聊天內(nèi)容的接收和顯示、聊天記錄的存儲和顯示、即時數(shù)據(jù)的交換和線程的可控性等是ASP所支持的。本系統(tǒng)采用B/S模式進行系統(tǒng)地設(shè)計與實現(xiàn)。4.2系統(tǒng)實現(xiàn)分析簡易在線聊天系統(tǒng)主要由3個頁面組成,用戶注冊、用戶登錄、聊天主界面。聊天主界面由聊天內(nèi)容輸入、聊天內(nèi)容顯示、管理入口、退出系統(tǒng)、重新登錄、幫助文檔和清屏功能組成。聊天顯示由聊天內(nèi)容顯示和在線用戶列表組成。用戶注冊頁面:用于注冊新

44、用戶。對于第一次登錄聊天系統(tǒng)的用戶,由于他們還沒有取得系統(tǒng)的注冊認證,所以在登錄聊天系統(tǒng)的時候會出現(xiàn)錯誤的提示信息。為了避免這種情況的出現(xiàn),這里需要創(chuàng)建一個用戶注冊頁面來作為進入聊天系統(tǒng)的第二個通道。用戶登錄頁面:是聊天系統(tǒng)的入口。它的主要功能是檢驗輸入數(shù)據(jù)的合法性。在這里,用戶只有輸入了正確的用戶名和密碼,才可以進入聊天系統(tǒng)主界面;反之,如果輸入了錯誤的用戶名和密碼,系統(tǒng)則會導(dǎo)向錯誤提示頁面。聊天主界面:聊天系統(tǒng)的主界面左邊是由上下兩部分構(gòu)成的,它的上部分用于聊天內(nèi)容顯示,而底部是用于輸入和發(fā)送聊天內(nèi)容。其中,當(dāng)用戶輸入聊天內(nèi)容并單擊“發(fā)送”按鈕后,信息就會在聊天內(nèi)容頁面顯示出來,其工作流程

45、如圖4.1所示。在圖中,最大的空白部分是聊天室內(nèi)容顯示區(qū),它用于將聊天物內(nèi)容顯示出來。在其右側(cè)主要是在線用戶列表菜單,用于將當(dāng)前在線用戶的用戶名羅列出來;而其上部顯示了在線總?cè)藬?shù)。聊天主界面還安排了解幾個按鈕,它們的功能分別是“管理入口”、“重新登錄”和“退出系統(tǒng)”,“幫助文檔”和“清屏”作為輔助功能。輸入聊天內(nèi)容:是聊天系統(tǒng)的組成部分,它的作用在于將聊天的信息內(nèi)容提交到數(shù)據(jù)到數(shù)據(jù)庫中。聊天內(nèi)容顯示:聊天內(nèi)容顯示是通過讀取數(shù)據(jù)庫中的記錄來實現(xiàn)的。當(dāng)用戶單擊“發(fā)送”按鈕提交聊天信息時,系統(tǒng)就會自動讀取表smg中記錄的值,采用Ajax技術(shù),并最終將其更新到顯示界面。圖41聊天主界面結(jié)構(gòu)圖Input

46、 show 提交數(shù)據(jù) 讀取數(shù)據(jù) 圖42聊天信息傳輸流程圖重新登錄:使用重新登錄頁面功能,用戶可以切換另外一個賬號登錄聊天室,它的功能相當(dāng)于Windows XP系統(tǒng)的用戶切換功能。在登錄之前系統(tǒng)將清除用戶session和cookies。退出系統(tǒng):當(dāng)用戶單擊聊天頁面上的“退出”按鈕后,頁面便會導(dǎo)向退出頁面,執(zhí)行記錄刪除命令,將該用戶從當(dāng)前登錄用戶表“user_online”中刪除。管理入口:是管理員登錄后臺,進行管理的接口。清屏:清除聊天內(nèi)容。幫助文檔:可查看系統(tǒng)使用方法。4.3 簡易在線聊天系統(tǒng)處理流程新用戶要進入聊天系統(tǒng),先要注冊,如果填寫的用戶注冊信息符合要求,就可以用注冊的用戶名和密碼登錄

47、聊天系統(tǒng)。如果新用戶填寫的注冊信息不符合要求,如密碼長度不夠、用戶名已被注冊、同一用戶信息重復(fù)注冊等,系統(tǒng)會提示重新注冊,直到注冊成功。注冊成功的新用戶或老用戶可以直接登錄系統(tǒng),如果填寫的登錄信息符合注冊時填寫的信息,就進入聊天系統(tǒng),可進行的操作有查看聊天內(nèi)容、發(fā)送和接收聊天內(nèi)容、查看在線用戶、退出和重新登錄。在查看聊天內(nèi)容、發(fā)送和接收聊天內(nèi)容、查看在線用戶中的任意一個狀態(tài),用戶均可以進行退出和重新登錄操作。如果用戶填寫的登錄信息與注冊時的信息不符,如密碼有誤、區(qū)分大小寫等,或者用戶沒有注冊成功就直接登錄,系統(tǒng)會提示錯誤,直到用戶登錄成功。 要強調(diào)的是,這里的退出有兩種可能:一是退出登錄狀態(tài),

48、二是退出登錄狀態(tài)并回到系統(tǒng)開始狀態(tài),系統(tǒng)處于用戶即將注冊或登錄狀態(tài)。這樣用戶又可以重新選擇注冊或登錄系統(tǒng)。以上處理流程如圖4.4所示:圖4.4 在線聊天系統(tǒng)處理流程圖 合法 不合法 合法 不合法 在線聊天系統(tǒng) 用戶注冊 用戶登錄 用戶信息合法性檢驗 用戶信息合法性檢驗 查看聊天內(nèi)容 發(fā)送和接收聊天內(nèi)容 查看在線用戶 重新登錄 退出 圖4.5 在線聊天系統(tǒng)模塊功能圖 在線聊天系統(tǒng) 用戶注冊 用戶登錄 聊天系統(tǒng)主頁面 聊天顯示 聊天內(nèi)容輸入 聊天內(nèi)容顯示 在線用戶列表 管理入口 重新登錄 退出系統(tǒng) 4.4 在線聊天系統(tǒng)模塊功能圖第五章系統(tǒng)總體設(shè)計5.1系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)的整體結(jié)構(gòu)如下:圖5.1 在線

49、聊天系統(tǒng)整體結(jié)構(gòu)圖 在線聊天系統(tǒng) 用戶注冊 用戶登錄 注冊信息驗證 注冊成功 注冊失敗 登錄信息驗證 登錄成功 登錄失敗 聊天系統(tǒng)主界面 聊天顯示主界面 聊 天 內(nèi) 容 輸 入 和 發(fā) 送 退 出 系 統(tǒng) 重新登錄 聊天內(nèi)容顯示界面貌 在線用戶界面 接 收 內(nèi) 容 顯 示 發(fā) 送 內(nèi) 容 顯 示 在 線 用戶列表 在 線 用戶 總 數(shù) 管 理 入 口 用戶注冊:用戶第一次進入在線聊系統(tǒng)之前必須先注冊。注冊是用戶向系統(tǒng)提交身份信息,以便登錄聊天系統(tǒng)時進行身份驗證,這是每個聊天系統(tǒng)必須具備且非常重要的功能。注冊過程就是:用戶填寫注冊信息并提交,系統(tǒng)對注冊信息進行驗證,如用戶名能不能用、所設(shè)密碼的復(fù)雜程度是否達到系統(tǒng)規(guī)定的安全級別、用戶的聯(lián)系方式是否有效等。如果通過驗證,用戶注冊成功,可以馬上登錄系統(tǒng),也可以以后登錄。如果用戶注冊信息沒有通過驗證,用戶糾正錯誤的注冊信息后,可以重新注冊,直到注冊成功。用戶登錄:如果是剛注冊成功的用戶或老用戶,可直接登錄到系統(tǒng)主要功能界面聊天系統(tǒng)主界面。登錄過程是:用戶提交登錄信息后,系統(tǒng)會將用戶提交的信息與后臺數(shù)據(jù)庫中存儲的用戶注冊信息進行比較,如果登錄時提交的用戶信息與數(shù)據(jù)庫中的用戶注冊信息(一般只比較用戶名和用戶密碼)相符,則登錄信息通過

溫馨提示

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

評論

0/150

提交評論