簡(jiǎn)易在線聊天系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)技術(shù)專業(yè)_第1頁(yè)
簡(jiǎn)易在線聊天系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn) 計(jì)算機(jī)科學(xué)技術(shù)專業(yè)_第2頁(yè)
已閱讀5頁(yè),還剩62頁(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)介

1、題目:簡(jiǎn)易在線聊天系統(tǒng)目 錄摘要III AbstractIII第一章緒論11.1概述11.2課題背景11.3開(kāi)發(fā)準(zhǔn)備11.3.1 IIS概述11.3.2 安裝IIS21.3.3 配置虛擬目錄31.3.4 ODBC簡(jiǎn)介3第二章相關(guān)技術(shù)52.1動(dòng)態(tài)頁(yè)面的技術(shù)和方法52.1.1動(dòng)態(tài)頁(yè)面簡(jiǎn)介52.1.2微軟動(dòng)態(tài)頁(yè)面創(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)勢(shì)92.2.4AJAX的工作原理9第三章 系統(tǒng)開(kāi)發(fā)模式、工具及環(huán)境93.1硬件開(kāi)發(fā)環(huán)境113.2軟件開(kāi)發(fā)環(huán)境113.2.1M

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

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

4、報(bào),特構(gòu)建此聊天系統(tǒng)。本文主要介紹了ASP技術(shù)相關(guān)的基礎(chǔ)知識(shí),并探討了建立在線聊天系統(tǒng)的設(shè)計(jì)思想、方法及設(shè)計(jì)過(guò)程,詳細(xì)地分析了各個(gè)模塊的功能及實(shí)現(xiàn)方法。本文所實(shí)現(xiàn)的在線聊天系統(tǒng)具有良好的人機(jī)交互界面、合理的數(shù)據(jù)庫(kù)結(jié)構(gòu),可以實(shí)現(xiàn)發(fā)言、自動(dòng)顯示所在聊天系統(tǒng)的成員、新建聊天室、管理員對(duì)該聊天室進(jìn)行管理等交互功能,經(jīng)過(guò)調(diào)試鏈接,證明可應(yīng)用于各種大小網(wǎng)站。關(guān)鍵詞 聊天系統(tǒng),數(shù)據(jù)庫(kù),網(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、一個(gè)通過(guò)Internet進(jìn)行多人通訊的系統(tǒng)。與傳統(tǒng)的通訊方式相比,在線聊天系統(tǒng)就能很好的彌補(bǔ)傳統(tǒng)通訊方式的局限性:克服了電報(bào)、電話費(fèi)時(shí)費(fèi)錢且不能進(jìn)行多人會(huì)談的弊端,解決了電子郵件時(shí)效性差的難題。使用在線聊天系統(tǒng),我們不需要聚集在同一地點(diǎn),各自在不同的地點(diǎn)就可以在聊天系統(tǒng)中發(fā)言,大家互相討論。費(fèi)用低廉,信息交流速度快,只有這樣,才能在這個(gè)涌動(dòng)的社會(huì)中加強(qiáng)聯(lián)系,創(chuàng)造出更多的財(cái)富。1.2課題背景隨著Internet的普及,越來(lái)越多的人們建立了自己的WWW網(wǎng)站,人們通過(guò)網(wǎng)站可以展示產(chǎn)品,發(fā)布最新動(dòng)態(tài),與用戶進(jìn)行交流和溝通,與合作伙伴建立聯(lián)系,以及開(kāi)展電子商務(wù)等。其中留言管理系統(tǒng)是構(gòu)成網(wǎng)站的一個(gè)重要組成

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

11、er的縮寫(xiě),它是微軟公司主推的服務(wù)器。IIS是一個(gè)World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS意味著你能發(fā)布網(wǎng)頁(yè),并且有ASP(Active Server Pages)、JAVA、VBscript產(chǎn)生頁(yè)面,有著一些擴(kuò)展功能。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)建立強(qiáng)大靈活的InternetIntranet站點(diǎn)。IIS是一種Web(網(wǎng)頁(yè))服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁(yè)瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,它使得在網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成了一件很容易的事。IIS的作用是在同一時(shí)間內(nèi)允許打開(kāi)的網(wǎng)站頁(yè)面數(shù),打開(kāi)一個(gè)頁(yè)面占一個(gè)iis,打開(kāi)一個(gè)站內(nèi)框架頁(yè)面占2到3個(gè)iis;若圖片等被盜鏈,在其它網(wǎng)站打開(kāi)本站圖片同樣占一個(gè)iis。假若設(shè)置參數(shù)為50個(gè)iis,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

28、如Flickr, Backpack和Google在這方面已經(jīng)有質(zhì)的飛躍。這個(gè)術(shù)語(yǔ)源自描述從基于網(wǎng)頁(yè)的Web應(yīng)用到基于數(shù)據(jù)的應(yīng)用的轉(zhuǎn)換。在基于數(shù)據(jù)的應(yīng)用中,用戶需求的數(shù)據(jù)如聯(lián)系人列表,可以從獨(dú)立于實(shí)際網(wǎng)頁(yè)的服務(wù)端取得并且可以被動(dòng)態(tài)地寫(xiě)入網(wǎng)頁(yè)中,給緩慢的Web應(yīng)用體驗(yàn)著色使之像桌面應(yīng)用一樣。 雖然大部分開(kāi)發(fā)人員在過(guò)去使用過(guò)XMLHttp或者使用Iframe來(lái)加載數(shù)據(jù),但僅到現(xiàn)在我們才看到傳統(tǒng)的開(kāi)發(fā)人員和公司開(kāi)始采用這些技術(shù)。就像新的編程語(yǔ)言或模型伴隨著更多的痛苦,開(kāi)發(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)進(jìn)行動(dòng)態(tài)顯示及交互。 4.使用 XML 和 XSLT 進(jìn)行數(shù)據(jù)交換及相關(guān)操作。 5.使用 XMLHttpRequest 進(jìn)行異步數(shù)據(jù)查詢、檢索。 6.使用 JavaScript 將所有的東西綁定在一起。AJAX不是指一種單一的技術(shù),而7.是有機(jī)地利用了一系列相關(guān)的技術(shù)。事實(shí)上,一些基于AJAX的“派生/合成”式(derivative/composite)的技術(shù)正在出現(xiàn),如“AFLAX”。 2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論