動(dòng)態(tài)交互訪問(wèn)_第1頁(yè)
動(dòng)態(tài)交互訪問(wèn)_第2頁(yè)
動(dòng)態(tài)交互訪問(wèn)_第3頁(yè)
動(dòng)態(tài)交互訪問(wèn)_第4頁(yè)
動(dòng)態(tài)交互訪問(wèn)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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、基于ASP的WEB動(dòng)態(tài)交互訪問(wèn)摘 要使用ASP提供的Application和Session兩個(gè)對(duì)象,可以實(shí)現(xiàn)網(wǎng)站間的動(dòng)態(tài)交互訪問(wèn),也可以作為聊天室。Application是Web站點(diǎn)所有用戶可共享的全局對(duì)象,其屬性在Global.asa 文件中定義。在此用于存儲(chǔ)用戶的動(dòng)態(tài)交互信息。Session對(duì)象是在頁(yè)面間跳轉(zhuǎn)時(shí)保存和傳遞數(shù)據(jù),其屬性在應(yīng)用程序中定義。用于記憶交互訪問(wèn)的用戶信息。關(guān)鍵詞ASP Application對(duì)象 Session對(duì)象 VBScript腳本 JavaScript HTML標(biāo)簽 服務(wù)器 瀏覽器 IIS AccessAbstractTwo objects, applicati

2、on and session, provided from ASP, can be used to construct chat room in your Web . Application is a global object shared by all clients on web, and its at tribute is defined in Global.asa file, here is used to save the chat ted contents of user . Session object is used to save and transmit data w h

3、en web jumps, but its active range is only for one client, and its at tribute is defined in application program. Here, Session object is used to remember name of user .Key wordsASP Application object Session object VBScript JavaScript HTML tag server browser IIS A1. 前言隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,web技術(shù)有了廣闊的發(fā)展空間,其中動(dòng)態(tài)訪問(wèn)

4、技術(shù)更是用戶的需求,為此本文用ASP來(lái)實(shí)現(xiàn)動(dòng)態(tài)訪問(wèn)的開(kāi)發(fā),所做的主要工作如下:(1)介紹了動(dòng)態(tài)訪問(wèn)頁(yè)面功能及Windows XP Professional+ IIS+ Microsoft Office Access 2003系統(tǒng)的ASP服務(wù)器搭建。(2)闡述整個(gè)動(dòng)態(tài)訪問(wèn)系統(tǒng)的結(jié)構(gòu)及工作原理;分析了系統(tǒng)實(shí)現(xiàn)中的特殊性、難點(diǎn)和重點(diǎn)。(3)分析并解決動(dòng)態(tài)訪問(wèn)實(shí)現(xiàn)中的若干技術(shù)問(wèn)題。 (4)完成動(dòng)態(tài)訪問(wèn)系統(tǒng)的全部設(shè)計(jì),并進(jìn)行測(cè)試及分析結(jié)果。 1.1本課題研究的意義 隨著新的技術(shù)的發(fā)展,通過(guò)這些新技術(shù)的應(yīng)用,動(dòng)態(tài)訪問(wèn)的開(kāi)發(fā),給人們帶來(lái)新的交流方式,也擴(kuò)展了人們更大的交流空間。在動(dòng)態(tài)訪問(wèn)的平臺(tái)上,不僅可以跨

5、地域、跨國(guó)家進(jìn)行交流,還可以在一個(gè)狹小的地理范圍(如:一個(gè)公司內(nèi)部)進(jìn)行交流,使人們的交流暢通無(wú)阻,能得到很多問(wèn)題的迅速解答,不僅提高了工作效率,還使工作更有情趣,讓人們的工作和新的信息的獲得輕松自如。所以,研究動(dòng)態(tài)訪問(wèn)的開(kāi)發(fā),具有非常重大的意義。 1.2本課題的研究目標(biāo)針對(duì)動(dòng)態(tài)訪問(wèn)的眾多好處,根據(jù)使用動(dòng)態(tài)訪問(wèn)的用戶的眾多需求,分析并開(kāi)發(fā)出一套可行的動(dòng)態(tài)訪問(wèn)系統(tǒng),去研究、發(fā)現(xiàn)動(dòng)態(tài)訪問(wèn)涉及的關(guān)鍵技術(shù)和實(shí)現(xiàn)的關(guān)鍵問(wèn)題,進(jìn)一步提高動(dòng)態(tài)訪問(wèn)的技術(shù)性能。 1.3要解決的關(guān)鍵問(wèn)題動(dòng)態(tài)訪問(wèn)最關(guān)鍵的是交互信息的實(shí)時(shí)更新,用戶的注冊(cè)及登錄,在線用戶的列表,數(shù)據(jù)庫(kù)的鏈接及訪問(wèn),ASP實(shí)現(xiàn)的WEB動(dòng)態(tài)交互訪問(wèn)等。如

6、果不能很好的解決這些問(wèn)題,動(dòng)態(tài)訪問(wèn)的質(zhì)量就會(huì)大打折扣,甚至?xí)箘?dòng)態(tài)訪問(wèn)無(wú)法進(jìn)行。2.需求分析 2.1功能需求為用戶提供動(dòng)態(tài)交換信息場(chǎng)所,用戶可以根據(jù)個(gè)人習(xí)慣選擇字體、文字顏色和表情等;可以手動(dòng)清除動(dòng)態(tài)交換信息的內(nèi)容??蛻舳颂幚砟K:獲取界面元素、得到動(dòng)態(tài)交換信息內(nèi)容、與服務(wù)器交互、更新客戶端頁(yè)面、響應(yīng)用戶事件。服務(wù)器端響應(yīng)模塊:提供動(dòng)態(tài)訪問(wèn)界面元素信息、獲得提交數(shù)據(jù)、數(shù)據(jù)合法性驗(yàn)證、動(dòng)態(tài)交換信息內(nèi)容入庫(kù)。動(dòng)態(tài)訪問(wèn)系統(tǒng)通過(guò)界面及用戶管理、客戶端JavaScript處理和服務(wù)器端響應(yīng) ,三個(gè)主要功能模塊實(shí)現(xiàn)了動(dòng)態(tài)訪問(wèn)中游客登錄、注冊(cè)用戶登錄、注銷、發(fā)送消息、讀取消息和查看在線用戶列表等功能。能夠注

7、冊(cè)用戶,管理用戶信息,動(dòng)態(tài)交換信息者把語(yǔ)句寫入文本,輸出到屏幕上, 瀏覽器不斷的對(duì)屏幕輸出進(jìn)行刷新、讀取,實(shí)時(shí)更新在線的客戶。 2.2性能需求在動(dòng)態(tài)訪問(wèn)者沒(méi)有滿員的情況下,普通用戶能夠登錄的動(dòng)態(tài)訪問(wèn)進(jìn)行文本的動(dòng)態(tài)交換信息,能夠方便的實(shí)現(xiàn)公共交談、選擇顏色、添加表情等,新用戶注冊(cè)時(shí)能夠保證用戶昵稱的唯一性。網(wǎng)絡(luò)管理員能夠方便的瀏覽所有用戶的信息等等??紤]到需要驗(yàn)證的內(nèi)容,在程序中使用Application(“usercount”)來(lái)標(biāo)記當(dāng)前的用戶數(shù)。在登錄時(shí)用Session"upower"來(lái)判斷用戶的權(quán)限,如果是普通用戶或游客通過(guò)驗(yàn)證后會(huì)進(jìn)入動(dòng)態(tài)訪問(wèn)主頁(yè),如果是管理員則會(huì)進(jìn)入

8、管理員管理管理頁(yè)面。3.總體考慮 根據(jù)設(shè)計(jì)需求,交互訪問(wèn)的應(yīng)用程序工作流程如下:圖一 (程序工作流程圖) 3.1系統(tǒng)模塊的設(shè)計(jì)動(dòng)態(tài)訪問(wèn)的各功能模塊 index.htm:登錄界面 reg.asp、reg.htm:用戶注冊(cè) login.asp:用戶登錄界面 Global.asa: 應(yīng)用程序文件 chatroom.asp:進(jìn)入動(dòng)態(tài)訪問(wèn)主界面、進(jìn)行動(dòng)態(tài)交換信息 iamcoming.asp:用戶上線提示 conn.asp:數(shù)據(jù)庫(kù)連接文件 homechatroom.mdb:動(dòng)態(tài)訪問(wèn)數(shù)據(jù)庫(kù)文件 showOnline.asp:顯示當(dāng)前在線用戶 about.html:動(dòng)態(tài)訪問(wèn)說(shuō)明文件 process.asp:動(dòng)

9、態(tài)訪問(wèn)信息界面注冊(cè)模塊:初次來(lái)動(dòng)態(tài)訪問(wèn)的用戶,進(jìn)行注冊(cè),保留自己信息,便于以后繼續(xù)使用本動(dòng)態(tài)訪問(wèn)時(shí),能夠迅速登錄。登錄模塊:游客或已經(jīng)注冊(cè)的用戶進(jìn)行登錄,進(jìn)入系統(tǒng)開(kāi)始動(dòng)態(tài)交換信息交流。動(dòng)態(tài)交換信息模塊:游客或注冊(cè)用戶登錄到動(dòng)態(tài)訪問(wèn)系統(tǒng)以后,就可以和所有的在線用戶,進(jìn)行動(dòng)態(tài)交換信息交流,除了使用各種顏色字體的文字動(dòng)態(tài)交換信息,還可以使用已提供的圖片。退出模塊:退出動(dòng)態(tài)交換信息系統(tǒng),與數(shù)據(jù)庫(kù)斷開(kāi)連接,并從在線人數(shù)減除。 3.2數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)Microsoft Office Access 2003提供了非常方便的創(chuàng)建新數(shù)據(jù)庫(kù)的方法。管理數(shù)據(jù)庫(kù)和建立數(shù)據(jù)庫(kù)對(duì)象采用Access。在數(shù)據(jù)庫(kù)中用User表,

10、這個(gè)表包括了所有注冊(cè)用戶的信息,如:用戶名、密碼、昵稱、性別等等。下面為數(shù)據(jù)庫(kù)表Users(表1)表1 (Users表結(jié)構(gòu))字段名稱數(shù)據(jù)類型字段大小說(shuō)明Username文本50用戶者名稱Userpassword文本50用戶者密碼Nickname文本50用戶者昵稱Sex文本10用戶者性別4.系統(tǒng)的實(shí)現(xiàn) 4.1 INDEX.HTM 、LOGIN.ASP、INDEX.JSIndex.htm是進(jìn)入動(dòng)態(tài)訪問(wèn)的主接口,在界面上有進(jìn)入動(dòng)態(tài)訪問(wèn)、注冊(cè)等選擇按鈕,當(dāng)用戶做出選擇時(shí),此頁(yè)面自動(dòng)加載login.asp或reg.htm、reg.asp,完成操作。Index.js功能是協(xié)同login.asp,在用戶登錄

11、時(shí),將用戶輸入的信息與數(shù)據(jù)庫(kù)中信息進(jìn)行匹對(duì)的。Index.js關(guān)鍵代碼如下:if(flag!=null) setMsg("請(qǐng)輸入用戶名和密碼(只能是字母,數(shù)字和下劃線"_"的組合)");else setMsg("<font color="#009900">正在登陸,請(qǐng)等待.</font>");var values = "act=login&username=" + username + "&password=" + password;h

12、omeSendPost("login.asp", values, processLoginRequest);function processLoginRequest() if(homeHttpRequest.readyState=4) if(homeHttpRequest.status=200) if(homeHttpRequest.responseText="True") window.location = "chatroom.asp"else setMsg("用戶名或密碼錯(cuò)誤,請(qǐng)重試。");4.2 REG.HT

13、M、 REG.ASP、REG.JS此三個(gè)文件是用戶注冊(cè)時(shí)使用的,關(guān)鍵代碼如下:dim sqlStr, rssqlStr = "select * from acrUsers where acrUsername='" & username & "' or acrNickname='" & nickName & "'"set rs = server.CreateObject("ADODB.RecordSet")rs.open sqlStr,conn,1,3i

14、f rs.eof thenrs.addnewrs(0) = usernamers(1) = passwordnickName = replace(nickName,"&","&amp;")nickName = replace(nickName,"<","&lt;")nickName = replace(nickName,">","&gt;")nickName = replace(nickName,chr(34),"&

15、;quot;")nickName = replace(nickName," "," &nbsp;")rs(2) = nickNamers(3) = sexrs.updateresult = "注冊(cè)成功,請(qǐng)登錄。"elseif rs(0)=username thenresult = "對(duì)不起,用戶名已存在。"end ifif rs(2)=nickName thenresult = result & "昵稱已存在。"end if4.3 CONN.ASP我們要訪問(wèn)數(shù)據(jù)庫(kù),首先

16、要必須知道這個(gè)數(shù)據(jù)庫(kù)在哪里,這個(gè)數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序是什么,在這里使用 ASP 來(lái)指定數(shù)據(jù)庫(kù)路徑及數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序。不必手動(dòng)去創(chuàng)建數(shù)據(jù)庫(kù)源。server.mappath("db.mdb")指定數(shù)據(jù)庫(kù)路徑,DRIVER=Microsoft Access Driver (*.mdb);指定數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,這里使用ACCESS建立homechatroom.mdb數(shù)據(jù)庫(kù),其代碼如下:<%dim conn, DBpathDBpath = "homechatroom.mdb"set conn = Server.CreateObject("ADODB.Con

17、nection")conn.Connectionstring = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(DBpath)conn.open%>4.4 GLOBAL.ASA Global.asa文件其實(shí)是一個(gè)可選文件,程序編寫者可以在該文件中指定事件腳本,并聲明具有會(huì)話和應(yīng)用程序作用域的對(duì)象。該文件的內(nèi)容不是用來(lái)給用戶顯示的,而是用來(lái)存儲(chǔ)事件信息和由應(yīng)用程序全局使用的對(duì)象。該文件的名稱必須是Global.asa且必須存放在應(yīng)用程序的根目錄中。每個(gè)應(yīng)用程序只能有一個(gè)

18、 Global.asa 文件。4.5 CHATROOM.ASP、CHATROOM.JS動(dòng)態(tài)交換信息的主界面,如何將用戶的動(dòng)態(tài)交換信息信息顯示在客戶的瀏覽器中,可以用ASP的Application對(duì)象。應(yīng)用Request.Form方法獲取從輸入動(dòng)態(tài)交換信息內(nèi)容頁(yè)面?zhèn)鬟f的動(dòng)態(tài)交換信息信息,首先利用Server.HTMLEncode方法對(duì)獲取到的發(fā)言內(nèi)容進(jìn)行處理,再對(duì)其進(jìn)行指定的格式設(shè)置,最后將其以字符串的形式保存到Application(“Message”)中。function send() var msg=escape(document.getElementById("msg"

19、;).value); /escape解決home中文籌碼問(wèn)題if(msg="") setSuggest("請(qǐng)輸入內(nèi)容");else var color = document.getElementById("selectColor").value;var values = "msg=" + msg + "&color=" + color;homeSendPost("process.asp", values, processSendRequest);document.ge

20、tElementById("msg").value = ""document.getElementById("msg").focus();function processSendRequest() if(homeHttpRequest.readyState=4) if(homeHttpRequest.status=200) if(homeHttpRequest.responseText!="") var chatContent = document.getElementById("chat_content

21、");var msgDiv = document.createElement("div");msgDiv.innerHTML = homeHttpRequest.responseText;chatContent.appendChild(msgDiv);sound = true;else setSuggest("您請(qǐng)求的頁(yè)面有異常");/alert("您請(qǐng)求的頁(yè)面有異常");function getAllMsg() setSuggest("&nbsp;");homeSendPost("pr

22、ocess.asp","",processSendRequest);if(sound) setSuggest("<embed type="application/x-mplayer2" src="sound/message.wav" autostart="true" loop="false" height=0 width=0 />&nbsp;");sound=false;4.6 ABOUT.HTML動(dòng)態(tài)訪問(wèn)的說(shuō)明文檔和版權(quán)信息。5.網(wǎng)站測(cè)試與性能分析本動(dòng)態(tài)訪問(wèn)經(jīng)測(cè)試,完全可以正確實(shí)現(xiàn)動(dòng)態(tài)交互訪問(wèn)的功能,具體測(cè)試,如下圖所示(以交

溫馨提示

  • 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)論