版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> 課題名稱: 網(wǎng)絡(luò)聊天室的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 設(shè) 計(jì) 者: </p><p> 指導(dǎo)老師: </p><p> 院
2、 系: </p><p> 專業(yè)班級(jí): </p><p> 完成時(shí)間: </p><p> 本科生畢業(yè)論文(設(shè)計(jì))任務(wù)書</p><p> 畢業(yè)論文(設(shè)計(jì))題目: 網(wǎng)絡(luò)聊
3、天室的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 題目類型[1] 軟件開發(fā) 題目來(lái)源[2] 生產(chǎn)實(shí)際題 </p><p> 畢業(yè)論文(設(shè)計(jì))內(nèi)容要求:</p><p> 網(wǎng)絡(luò)的迅速普及,網(wǎng)民數(shù)量的快速增長(zhǎng),導(dǎo)致了新型的聊天方式(網(wǎng)絡(luò)聊天室)的出現(xiàn),設(shè)計(jì)一個(gè)合理的網(wǎng)絡(luò)聊天室,快速的聚集網(wǎng)民,提高網(wǎng)站的訪問(wèn)量,對(duì)提高網(wǎng)站的知名度具有良好的現(xiàn)實(shí)意義。</
4、p><p> 本畢業(yè)設(shè)計(jì)的的具體任務(wù)要求如下:</p><p> 應(yīng)用計(jì)算機(jī)中的網(wǎng)絡(luò)技術(shù)及其相關(guān)技術(shù)設(shè)計(jì)一個(gè)網(wǎng)絡(luò)聊天室。</p><p> 實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)聊天室的訪問(wèn)人數(shù)的統(tǒng)計(jì)功能。</p><p> 實(shí)現(xiàn)網(wǎng)絡(luò)聊天室的發(fā)布信息的檢索與過(guò)濾,如有非法信息,則不允許提交。</p><p> 實(shí)現(xiàn)網(wǎng)絡(luò)聊天室的發(fā)布與測(cè)試。&
5、lt;/p><p> [1]題目類型:(1)理論研究(2)實(shí)驗(yàn)研究(3)工程設(shè)計(jì)(4)工程技術(shù)研究(5)軟件開發(fā)</p><p> [2]題目來(lái)源:(1)教師科研題(2)生產(chǎn)實(shí)際題(3)模擬或虛構(gòu)題(4)學(xué)生自選題</p><p> 畢業(yè)論文(設(shè)計(jì))主要參考資料</p><p><b> 主要參考書類:</b><
6、;/p><p> 梁曉暉,來(lái)繼敏主編;ASP.NET 2.0(C#)網(wǎng)站開發(fā)實(shí)用教程</p><p> 北京:機(jī)械工業(yè)出版社</p><p> 譚浩強(qiáng)主編; 計(jì)算機(jī)網(wǎng)絡(luò)教程 北京:電子工業(yè)出版社</p><p> ?。溃┎螤?著,韓宏志譯; 數(shù)據(jù)庫(kù)設(shè)計(jì)與開發(fā)教程</p><p> 北京:清華大學(xué)
7、出版社</p><p><b> 主要參考雜志類:</b></p><p> 計(jì)算機(jī) 網(wǎng)絡(luò)數(shù)據(jù)庫(kù) 網(wǎng)絡(luò)開發(fā)工具以及網(wǎng)上的一些相關(guān)資料.</p><p> 畢業(yè)論文(設(shè)計(jì))進(jìn)度安排</p><p> 指導(dǎo)教師(簽名) 時(shí)間:年 月 日</p><p
8、> 教研室(所)主任(簽名) 時(shí)間:年 月 日</p><p> 主管院長(zhǎng)(簽名) 時(shí)間:年 月 日</p><p> 畢業(yè)論文(設(shè)計(jì))成績(jī)?cè)u(píng)定表(一)</p><p><b> 指導(dǎo)教師評(píng)語(yǔ)</b></p><p> 該論文撰
9、寫符合規(guī)范要求。畢業(yè)論文設(shè)計(jì)中具有一定的創(chuàng)新觀點(diǎn),設(shè)計(jì)思想比較清晰,對(duì)應(yīng)用的開發(fā)工具能夠比較熟練的掌握運(yùn)用,設(shè)計(jì)的軟件功能也比較完善,基本實(shí)現(xiàn)了畢業(yè)任務(wù)書中下達(dá)的畢業(yè)設(shè)計(jì)要求。</p><p> 在畢業(yè)論文設(shè)計(jì)的過(guò)程中體現(xiàn)出該生具有較扎實(shí)的基礎(chǔ)知識(shí),對(duì)所學(xué)的知識(shí)能夠比較靈活的運(yùn)用,具有較良好的團(tuán)隊(duì)合作精神,能夠通過(guò)團(tuán)隊(duì)合作相互協(xié)商解決軟件開發(fā)過(guò)程中遇到的各種難題,并具備了一定的獨(dú)立的解決問(wèn)題的能力。</p
10、><p> 希望在以后的工作中,能不斷加強(qiáng)學(xué)習(xí),提高自身的專業(yè)知識(shí)水平與相應(yīng)的動(dòng)手能力。</p><p> 建議成績(jī): 優(yōu)秀 指導(dǎo)教師 </p><p><b> 年 月
11、 日</b></p><p><b> 摘 要</b></p><p> 在當(dāng)今網(wǎng)絡(luò)風(fēng)行的社會(huì)里,上網(wǎng)成為越來(lái)越多人們的選擇。隨著互連網(wǎng)的飛速發(fā)展,有關(guān)網(wǎng)絡(luò)技術(shù)也層出不窮?,F(xiàn)今活躍在WEB站點(diǎn)中的ASP就是近年才發(fā)展起來(lái)的一項(xiàng)新型技術(shù)。ASP功能強(qiáng)大、本領(lǐng)高強(qiáng),利用ASP功能時(shí)幾乎沒(méi)有什么限制,可以實(shí)現(xiàn)動(dòng)態(tài)頁(yè)面。畢業(yè)設(shè)計(jì)我嘗試用asp來(lái)實(shí)現(xiàn)聊天室的開
12、發(fā),于是就有了下面的Jerry ChatRoom。本文中所做的主要工作如下:</p><p> (1)介紹了個(gè)性化頁(yè)面的背景及Win2000server+IIS+ASP系統(tǒng)的一般原理.</p><p> (2)闡述整個(gè)個(gè)性化頁(yè)面生成系統(tǒng)的結(jié)構(gòu)及工作原理;分析了系統(tǒng)實(shí)現(xiàn)中的特殊性、難點(diǎn)和重點(diǎn).</p><p> (3)設(shè)計(jì)實(shí)現(xiàn):用戶資料注冊(cè),修改,管理員登入,聊
13、天室管理,權(quán)限管理,在線名單列表和信息發(fā)送,另外還有用戶登入統(tǒng)計(jì)情況等。</p><p> (4)分析并解決實(shí)現(xiàn)中的若干技術(shù)問(wèn)題。 </p><p> (5)完成聊天室系統(tǒng)的全部設(shè)計(jì),并且進(jìn)行測(cè)試并分析結(jié)果</p><p> 【關(guān)鍵詞】 聊天室,數(shù)據(jù)庫(kù),對(duì)象,WEB,Access,VBSCRIPT ,JAVASCRIPT</p><p>
14、;<b> 前 言</b></p><p> 隨著internet在中國(guó)的迅速發(fā)展,人們?nèi)粘I钪性絹?lái)越多地使用這項(xiàng)新的技術(shù)來(lái)為自己的工作和學(xué)習(xí)服務(wù)。在眾多internet關(guān)聯(lián)功能中,有一項(xiàng)新的業(yè)務(wù)正成為所有用戶所津津樂(lè)道的交流方式,這就是網(wǎng)上聊天。根據(jù)調(diào)查現(xiàn)在網(wǎng)民使用現(xiàn)狀,網(wǎng)上聊天室的使用百分比居榜首。所謂聊天室就是一個(gè)可以讓許多用戶同時(shí)互相通信的網(wǎng)上園地,個(gè)人用戶可以通過(guò)網(wǎng)上聊天室
15、將自己融入整個(gè)主流社會(huì)中。由于目前上網(wǎng)的一般都是具有高學(xué)歷的新一代創(chuàng)業(yè)者,因此,在網(wǎng)上聊天室這個(gè)虛擬的社會(huì)中,可以結(jié)交各層次各地方的朋友,從而為自己獲取更多的知識(shí)和更多的閱歷。</p><p> 由于Web技術(shù)的飛速發(fā)展,人們對(duì)網(wǎng)頁(yè)的要求再也不是局限于簡(jiǎn)單的、靜止的Web頁(yè),而是一種根據(jù)用戶要求控制Web頁(yè)信息的"活動(dòng)"頁(yè)面。所謂Web是交互式的,主要表現(xiàn)在用戶能向Web站點(diǎn)發(fā)送信息或命令,
16、從而對(duì)Web服務(wù)器上運(yùn)行的應(yīng)用程序進(jìn)行控制,服務(wù)器則根據(jù)相應(yīng)的命令對(duì)使用者的操作做出響應(yīng)。在這種需求的推動(dòng)下,微軟公司推出了"活動(dòng)服務(wù)器頁(yè)"(ASP,Active Server Page)。本設(shè)計(jì)所制作的網(wǎng)絡(luò)聊天室也采用了ASP技術(shù)。</p><p> ASP技術(shù):ASP(Active Server Page)中文字面理解即是活動(dòng)的服務(wù)器頁(yè)面。它與普通的HTML頁(yè)面的區(qū)別在于當(dāng)某人請(qǐng)求一個(gè)普
17、通的HTML網(wǎng)頁(yè)時(shí),Web服務(wù)器并不注意文件的內(nèi)容。Web服務(wù)器擔(dān)當(dāng)?shù)慕巧皇侨〕鑫募⒉惶幚砦募K袑?duì)文件內(nèi)容的解釋工作均由用戶的Web瀏覽器來(lái)完成。但是當(dāng)某人請(qǐng)求一個(gè)ASP網(wǎng)頁(yè)的時(shí)候,Web瀏覽器擔(dān)任的是一個(gè)較活躍的角色。在文件被發(fā)送到用戶的Web瀏覽器之前,它首先要由Web服務(wù)器進(jìn)行處理。Web服務(wù)器先對(duì)ASP網(wǎng)頁(yè)中的所有腳本解釋和執(zhí)行,再將它發(fā)送到用戶的Web服務(wù)器。</p><p><b>
18、; 目 錄</b></p><p> 第一章 ASP 簡(jiǎn)介1</p><p> 1.1 ASP的出現(xiàn)1</p><p> 1.2 ASP的特點(diǎn)1</p><p> 1.3 ASP 主要技術(shù)介紹:2</p><p> 1.3.1 ASP對(duì)象2</p><p
19、> 1.3.2 .asp文件5</p><p> 1.3.3 ASP Script語(yǔ)法5</p><p> 1.3.4 表格的處理6</p><p> 1.3.5 ASP取得表格(form)輸入數(shù)據(jù)的方法6</p><p> 1.3.6 在ASP中訪問(wèn)數(shù)據(jù)庫(kù)7</p><p> 1
20、.3.7 數(shù)據(jù)庫(kù)數(shù)據(jù)來(lái)源設(shè)定7</p><p> 第二章 系統(tǒng)配置9</p><p> 2.1 asp的運(yùn)行平臺(tái)9</p><p> 第三章ASP技術(shù)對(duì)聊天室開發(fā)實(shí)例10</p><p> 3.1 聊天室功能說(shuō)明10</p><p> 3.2 聊天室簡(jiǎn)介– Jerry ChatRoom10&
21、lt;/p><p> 3.3 ASP的總體設(shè)計(jì)11</p><p> 3.3.1、聊天室的系統(tǒng)功能設(shè)計(jì)11</p><p> 3.3.2、聊天室的數(shù)據(jù)表的建立12</p><p> 第四章 軟件實(shí)現(xiàn)14</p><p> 4.1 default.asp設(shè)計(jì)說(shuō)明14</p><p&
22、gt; 4.2 login.asp設(shè)計(jì)說(shuō)明15</p><p> 4.3 reg.asp設(shè)計(jì)說(shuō)明16</p><p> 4.4 global.asa設(shè)計(jì)說(shuō)明17</p><p> 4.5 chatroom.asp設(shè)計(jì)說(shuō)明18</p><p> 4.6 channel.asp設(shè)計(jì)說(shuō)明18</p><p&g
23、t; 4.7 config.js設(shè)計(jì)說(shuō)明19</p><p> 4.8 userlist.asp設(shè)計(jì)說(shuō)明19</p><p> 4.9 logout.asp設(shè)計(jì)說(shuō)明20</p><p> 4.10 m_adminlogin.asp設(shè)計(jì)說(shuō)明21</p><p> 4.11 m_adminlogout.asp設(shè)計(jì)說(shuō)明21
24、</p><p> 第五章 調(diào)試與維護(hù)22</p><p> 5.1系統(tǒng)調(diào)試22</p><p> 5.2系統(tǒng)維護(hù)23</p><p> 第六章 結(jié)束語(yǔ)25</p><p> 6.1 收獲與體會(huì)25</p><p> 6.2 不足之處與今后的改進(jìn)25</p&g
25、t;<p> 第七章 謝辭26</p><p><b> 參考文獻(xiàn)27</b></p><p><b> 附 錄28</b></p><p> reg.asp代碼:30</p><p> calendar.asp代碼:33</p><p&
26、gt; chatroom.asp代碼:43</p><p> channel.asp代碼:46</p><p> config.js代碼:47</p><p> userlist.asp代碼:47</p><p> logout.asp代碼:49</p><p> tree.asp代碼:50&l
27、t;/p><p> m_adminlogin.asp代碼:51</p><p> m_adminlogout.asp代碼:52</p><p> 第一章 ASP 簡(jiǎn)介</p><p> 1.1 ASP的出現(xiàn)</p><p> Microsoft Active Server Pages 簡(jiǎn)稱asp,是一套軟
28、件微軟開發(fā)的服務(wù)器端腳本環(huán)境,使用它可以創(chuàng)建和運(yùn)行動(dòng)態(tài)的,交互的web服務(wù)器應(yīng)用程序。當(dāng)我們?cè)趇nternet上瀏覽時(shí),會(huì)注意到很多頁(yè)面的后綴是.asp的,那就是active server pages (簡(jiǎn)稱asp)。它的用處,簡(jiǎn)單的說(shuō),是對(duì)www服務(wù)器的增強(qiáng),讓原來(lái)的那種僅僅由瀏覽器從服務(wù)器取得web頁(yè)面的工作方式有所改變,它可以讓服務(wù)器接受來(lái)自瀏覽器的信息,也即使所謂的動(dòng)態(tài)主頁(yè),以前的動(dòng)態(tài)主頁(yè)主要是用cgi(common gatew
29、ay information,公共網(wǎng)關(guān)接口)和javascript來(lái)實(shí)現(xiàn)。Cgi程序很復(fù)雜,需要一大堆代碼,要求程序員不僅要懂得cgi的工作原理,還要是個(gè)變成高手,這對(duì)初學(xué)者來(lái)說(shuō)是很難入門。后來(lái),微軟又邊了通用的cgi(即isapi),使用時(shí)還需調(diào)用動(dòng)態(tài)鏈接庫(kù)(dll),那就更麻煩了,因?yàn)楸仨毦邆鋵iT知識(shí)的人才能懂的它。為了初學(xué)者很容易就入門,微軟便又編寫了一個(gè)更簡(jiǎn)單的idc(internet database connector),只
30、要會(huì)寫幾條sql語(yǔ)句就可能做點(diǎn)數(shù)據(jù)庫(kù)查詢</p><p> Asp的出現(xiàn)使web頁(yè)面更加多姿多彩。利用microsoft的asp技術(shù),將script程序代碼嵌入html,可創(chuàng)造出動(dòng)態(tài)變化的web頁(yè)面。在過(guò)去,使用javascript或vbscript開發(fā)的web頁(yè)面,必須由客戶端支持這兩種語(yǔ)言的瀏覽器執(zhí)行出程序源代碼的結(jié)果,而asp使我們能方便地利用所熟悉的javascript或vbscript甚至perl來(lái)開
31、發(fā)web服務(wù)器端動(dòng)態(tài)html文件。所以,不管是否支持javascript或vbscript的任何瀏覽器只要通過(guò)asp技術(shù)產(chǎn)生出來(lái)的web頁(yè)面,都可以擺脫不兼容的問(wèn)題。Asp的出現(xiàn)必定會(huì)重新席卷所有的web應(yīng)用程序,預(yù)示著未來(lái)也將是script(腳本)語(yǔ)言的天下。</p><p> 1.2 ASP的特點(diǎn)</p><p> 1.無(wú)須Compile編譯:容易產(chǎn)生,無(wú)須Compile 編譯或
32、Link 鏈接即可執(zhí)行。集成于HTML中。</p><p> 2.使用常規(guī)文本編輯器,如Windows的記事本,即可設(shè)計(jì)。</p><p> 3.與瀏覽器無(wú)關(guān)(Browser Independence):用戶端只要使用常規(guī)的可執(zhí)行HTML碼的瀏覽器,即可瀏覽Active Server Pages 所設(shè)計(jì)的主頁(yè)內(nèi)容, Script 語(yǔ)言(Vbscript ,Jscript)是在站點(diǎn)服務(wù)器
33、(Server端)執(zhí)行,用戶不需要執(zhí)行這些Script語(yǔ)言。</p><p> 4.面向?qū)ο?Object_Orient).</p><p> 5.可通過(guò)ActiveX Server components(ActiveX服務(wù)器組件)來(lái)擴(kuò)充功能。ActiveX Server component,可使用Visual Basic,Java,Visual C++,COBOL等語(yǔ)言來(lái)實(shí)現(xiàn)。<
34、;/p><p> 6.Active Server Pages與任何ActiveX scripting 語(yǔ)言兼容。除了可使用VBscript 或JScript語(yǔ)言來(lái)設(shè)計(jì),并可通過(guò)Plug-in的方式,使用由third party所提供的其他scripting語(yǔ)言。script引擎是處理script的COM(Component Object Model)對(duì)象。</p><p> 7.Activ
35、e server Pages的源程序代碼不會(huì)傳到用戶的瀏覽器,因此可以保護(hù)辛辛苦苦寫出來(lái)的源程序不會(huì)外瀉。傳到用戶瀏覽器的是Active Server Pages執(zhí)行的結(jié)果的常規(guī)HTML碼。</p><p> 8.使用server端script產(chǎn)生client端script,你可以使用ASP程序碼,在站點(diǎn)服務(wù)器執(zhí)行script語(yǔ)言(VBscript 或 Jscript),來(lái)產(chǎn)生或更改在client端執(zhí)
36、行的script語(yǔ)言。</p><p> 1.3 ASP 主要技術(shù)介紹:</p><p> 1.3.1 ASP對(duì)象</p><p> Active Server Pages提供五個(gè)內(nèi)置的“對(duì)象”(object),你可以直接調(diào)用</p><p> 認(rèn)識(shí)ASP的內(nèi)置對(duì)象,是設(shè)計(jì)功能強(qiáng)大的Wed應(yīng)用程序的第一步。ASP的幾個(gè)內(nèi)置對(duì)象中最
37、常見的要數(shù)Request和Response兩個(gè)對(duì)象。</p><p> Request對(duì)象的作用是與客戶端交互,收集客戶端的Form、Cookies、超鏈接,或者收集服務(wù)器端的環(huán)境變量。</p><p> Response對(duì)象的作用是把ASP程序處理的結(jié)果發(fā)送給客戶端,同時(shí),也可以通過(guò)Response對(duì)象設(shè)置客戶端瀏覽器的狀態(tài),比如設(shè)置Cookies。 </p><
38、p> 1.Request對(duì)象的語(yǔ)法及屬性</p><p> Request對(duì)象的語(yǔ)法如下:</p><p> Request[.collection|property|method](variable)</p><p> 表1-1 Request對(duì)象的屬性、方法表</p><p> 2.Response對(duì)象的語(yǔ)法及屬性&l
39、t;/p><p> Response對(duì)象的語(yǔ)法如下:</p><p> Response[.collextion|property|method](variable) </p><p> Response對(duì)象的屬性、方法集</p><p> 表1-2 Response對(duì)象的屬性、方法表</p><p&g
40、t; 3.Server對(duì)象</p><p> Server對(duì)象為ASP程序的擴(kuò)展提供了靈活方便的途徑。例如,如果需要在ASP程序中讀寫服務(wù)器上的某個(gè)文件,那么就可以借用“文件存取組件”來(lái)讀寫文件,而Server對(duì)象就充當(dāng)了建立這個(gè)組件實(shí)力的角色。使用某個(gè)組件,必須先建立它的一個(gè)Server對(duì)象實(shí)力。在后面將要介紹ADO等許多組件,屆時(shí)就能更清楚地理解Server對(duì)象的作用了。</p><p
41、> Server對(duì)象提供對(duì)服務(wù)器上的方法和屬性的訪問(wèn),其中大多數(shù)方法忽然屬性是作為使用程序的功能服務(wù)的。另外,有了Server對(duì)象,就可以在服務(wù)器上啟動(dòng)ActiveX對(duì)象例程,并使用Active Server服務(wù)提供像HTML和URL編碼這樣的函數(shù)。</p><p> 表1-3 Server對(duì)象的屬性、方法表</p><p> 4.Application對(duì)象</p>
42、;<p> Application對(duì)象內(nèi)保存的信息,是可以讓同一ASP程序中的所有用戶所共享的。</p><p> 使用Application對(duì)象,在給定的應(yīng)用程序的所以用戶之間共享信息,并在服務(wù)器運(yùn)行期間持久地保存數(shù)據(jù)。而且,Application對(duì)象還有控制、訪問(wèn)應(yīng)用層數(shù)據(jù)的方法和可用于在應(yīng)用程序啟動(dòng)和停止時(shí)觸發(fā)過(guò)程的事件。</p><p> Application
43、對(duì)象的語(yǔ)法如下:</p><p> Application.Method</p><p> 表1-4 Application對(duì)像的屬性、方法集表</p><p> 5.Session對(duì)象</p><p> Session對(duì)象與Application對(duì)象具有相近作用,也是非常實(shí)用的ASP內(nèi)置對(duì)象。可以使用Session對(duì)象存儲(chǔ)特定的用
44、戶會(huì)話所需的信息。Session對(duì)象只對(duì)用戶個(gè)人作用,而ASP程序中的其他用戶是無(wú)作用的。它是利用Cooikes技術(shù)來(lái)臨時(shí)保存用戶數(shù)據(jù)。最常見的作用就是存儲(chǔ)用戶的首選項(xiàng)。另外其還經(jīng)常被用在鑒別客戶身份的程序中。</p><p> Session對(duì)象的語(yǔ)法如下:</p><p> Session.Collection|property|method</p><p>
45、; 表1-5 Session對(duì)象的屬性、方法集表</p><p> 1.3.2 .asp文件</p><p> Active Server Pages(ASP)制作成.ASP擴(kuò)展名的文件,一個(gè).asp文件是一個(gè)文本文件,包括:</p><p> (1).HTML標(biāo)記(tags)</p><p> ?。?).VBscript 或J
46、script語(yǔ)言的程序碼</p><p><b> ASP語(yǔ)法</b></p><p> ASP并不是一個(gè)script語(yǔ)言,而是提供一個(gè)可以集成script語(yǔ)言(VBscript 或 Jscript)到HTML主頁(yè)的環(huán)境。HTML標(biāo)記(tags)使用“<...>”將HTML程序碼包含起來(lái),以與常規(guī)的文本區(qū)分開來(lái);而ASP使用“<%...
47、%>”將ASP的script程序碼包含起來(lái)。Active Server Pages的源代碼,不會(huì)傳到用戶的瀏覽器,可以保護(hù)你寫的源程序不會(huì)外漏。因此,在用戶端觀看到的是常規(guī)的HTML碼,你的站點(diǎn)服務(wù)器會(huì)自動(dòng)將Active Server pages的程序代碼解釋為標(biāo)準(zhǔn)的HTML格式的主頁(yè)內(nèi)容,傳送字符串到用戶端的瀏覽器。Response.write方法,是最常用的傳送字符串到瀏覽器的方法。使用Response.redirect方法,
48、可以連接到指定的URL地址。須注意一點(diǎn),若此.asp主頁(yè)的內(nèi)容已傳送給用戶,再使用Response.redirect 將發(fā)生錯(cuò)誤!</p><p> 1.3.3 ASP Script語(yǔ)法</p><p> 使用VBscript或Jscript的ASP語(yǔ)法:ASP與任何ActiveX SCripting語(yǔ)言兼容。除了可使用VBscript或Jscript語(yǔ)言來(lái)設(shè)計(jì),還可以通過(guò)
49、plug-in的方式,使用由third party所提供的其他scripting語(yǔ)言<script>標(biāo)記:ASP默認(rèn)的script語(yǔ)言vbscript,若要設(shè)定某一段ASP程序代碼使用的script語(yǔ)言,可以使用"<script runat=server langrage=...>...</script>"加以設(shè)定,設(shè)定某一主頁(yè)的script語(yǔ)言使用"<%@ lan
50、guage = ...%>"加以設(shè)定,語(yǔ)法如下: <% @ language = VBscript %></p><p> 注意:@和LANGUAGE之間一定要有空格。</p><p> 一個(gè)主頁(yè)使用多種語(yǔ)言,你可以在一個(gè)主頁(yè)當(dāng)中使用VBscript和jscript語(yǔ)言。方法如下:</p><p> ?。?):使用多個(gè)"&l
51、t;script runat=server language=...%>...</script>"加以設(shè)定。</p><p> ?。?):使用多個(gè)"#include"的語(yǔ)法。#INCLUDE包含其他文件,你可以在ASP程序碼中插入另外一個(gè)"被包括"的文件,執(zhí)行到此時(shí),先執(zhí)行"被包括"文件,再繼續(xù)執(zhí)行下去。語(yǔ)法如下:</p
52、><p> <!--#include virtual|file="filename"--></p><p> 其中virtual代表虛擬的文件地址,F(xiàn)ILE代表絕對(duì)的文件地址,如下:</p><p> <!--#include virtual="/booksamp/test.inc"--></p
53、><p> <!--#include file="test/test.inc"--></p><p> 被包括的#include文件,也可在包含其他的"被包括"文件。不能使用ASP程序碼來(lái)設(shè)定"被包括"的#INCLUDE文件。</p><p> 1.3.4 表格的處理</p>
54、<p><b> 表格(form)</b></p><p> 將輸入的數(shù)據(jù)傳送到服務(wù)器的方法,是使用HTML標(biāo)記<form>...</form>的表格,在用戶端瀏覽器輸入數(shù)據(jù),點(diǎn)擊"submit"按鈕后,將輸入的數(shù)據(jù)傳送到服務(wù)器加以處理。表格的語(yǔ)法如下:</p><p> <form action=ur
55、l method=get|post name="formname" onreset=event onsubmit=event target=window></p><p><b> </form></b></p><p> ·action:處理輸入的數(shù)據(jù)的站點(diǎn)服務(wù)器程序的url地址。</p><p
56、> ·method:輸入的數(shù)據(jù)傳送到服務(wù)器的方式。</p><p> get:將輸入的數(shù)據(jù)加在action設(shè)定的url地址后面,傳送到服務(wù)器。post:按照http post傳輸數(shù)據(jù)的方式,將輸入的數(shù)據(jù)傳送到服務(wù)器</p><p> ·name:設(shè)定form的名稱。·onreset:點(diǎn)擊"reset"的按鈕時(shí)執(zhí)行所設(shè)定的子程序e
57、vent。·onsubmit:點(diǎn)擊"submit"的按鈕是執(zhí)行的子程序event。·target:指定輸入數(shù)據(jù)結(jié)果所顯示的窗口名稱。</p><p> 1.3.5 ASP取得表格(form)輸入數(shù)據(jù)的方法</p><p> 由表格的method可知,用戶瀏覽器可以用如下的兩種方法傳送數(shù)據(jù)</p><p> (1)get
58、:用戶端將數(shù)據(jù)加到URL后,格式為"?字段1=輸入數(shù)據(jù)1&字段2=輸入數(shù)據(jù)2&...",再將它送到服務(wù)器.</p><p> ?。?)post:用戶端利用http信息數(shù)據(jù)字段將數(shù)據(jù)傳送到服務(wù)器.ASP取得表格(form)輸入數(shù)據(jù)的方法,是使用Active Server Pages一個(gè)內(nèi)置的"對(duì)象"(object)---request,依據(jù)get,post方法
59、而異。</p><p> get :使用"輸入數(shù)據(jù)=Request.querystring("字段名"),將附加于URL后的數(shù)據(jù)取出,以取得此字段的輸入數(shù)據(jù)。</p><p> post:使用"輸入數(shù)據(jù)=Request.form("字段名"),讀取HTTP信息數(shù)據(jù)字段,以取得字段的輸入數(shù)據(jù)。Request.form讀取HTTP
60、信息數(shù)據(jù)的字段,以取得使用POST方式的表格form輸入數(shù)據(jù)。同一字段輸入多個(gè)值時(shí),若未采用指針值index指定要讀取哪一個(gè)值時(shí),將得到多個(gè)值,各個(gè)值中間以逗點(diǎn)分隔。你可以使用"for each item in request.form("字段名"),重復(fù)取得此字段輸入的所有多個(gè)輸入值,</p><p> Request.querystring,讀取HTTP信息數(shù)據(jù)字段位,以取得使
61、用GET方式的表格form輸入的數(shù)據(jù)。輸入的字段和數(shù)據(jù)將接在<form action="URL地址">所設(shè)定的URL地址后面,先加一個(gè)"?",字段和數(shù)據(jù)之間用"&"分隔之,語(yǔ)法如下:</p><p> request.querystring(name)[(index)|.count]</p><p>
62、183; name:字段名.· index:當(dāng)同一字段輸入多個(gè)值時(shí),指針值index指定要讀取同一字段的那個(gè)值。</p><p> 范圍由1到request.querystring(name).count.</p><p> · count:由request.querystring(name).count可得知name字段輸入幾個(gè)值。若無(wú)此name字段,則coun
63、t=0.</p><p> Request.querystring解析在servervariables的Query_string變量。</p><p> 同一字段輸入多個(gè)值時(shí),若未采用指針值index指定要讀取哪個(gè)值,則將得到多個(gè)值,各個(gè)值中間以逗點(diǎn)分隔。</p><p> 1.3.6 在ASP中訪問(wèn)數(shù)據(jù)庫(kù)</p><p> 如何讓
64、用戶從瀏覽器畫面中,通過(guò)internet或intranet,查詢站點(diǎn)數(shù)據(jù)庫(kù)的數(shù)據(jù),甚至輸入,更新和刪除站點(diǎn)服務(wù)器的數(shù)據(jù)庫(kù)信息呢?</p><p> 訪問(wèn)數(shù)據(jù)庫(kù)的解決方案有如下幾種:</p><p> ?。?):CGI(Commom Gateway Interface):傳統(tǒng)方式。</p><p> ?。?):IDC(Internet Database connec
65、tor,Internet數(shù)據(jù)庫(kù)連接器)與IIS(Internet Information Server):簡(jiǎn)易的站點(diǎn)數(shù)據(jù)庫(kù)訪問(wèn)解決方案。</p><p> ?。?):ADC(Advanced Data Connector,先進(jìn)的數(shù)據(jù)庫(kù)連接器):在用戶端的瀏覽器上執(zhí)行數(shù)據(jù)查詢動(dòng)作的頻繁的數(shù)據(jù)查詢解決方案。</p><p> ?。?):ADO(ActiveX Data Object ,Acti
66、vex數(shù)據(jù)對(duì)象)與ASP(Active Server Pages):完整的站點(diǎn)數(shù)據(jù)庫(kù)訪問(wèn)解決方案。</p><p> Active Data Object與ASP</p><p> ActiveX Data Object:同數(shù)據(jù)庫(kù),可采用ASP內(nèi)置的一個(gè)Activex Server component---Database Access component(數(shù)據(jù)訪問(wèn)組件),使
67、用ActiveX Data Object (ActiveX數(shù)據(jù)對(duì)象,簡(jiǎn)稱ADO)的技術(shù),讓你可以與Active Server pages(簡(jiǎn)稱ASP)結(jié)合,以提供訪問(wèn)數(shù)據(jù)庫(kù)的功能。</p><p> ActiveX Data Object ( 數(shù)據(jù)庫(kù)訪問(wèn)組件,簡(jiǎn)稱ADO)是什么東西呢?Active Data Object的技術(shù),讓你可以與Active Server Pages結(jié)合,以建立提供數(shù)據(jù)庫(kù)信息
68、的主頁(yè)內(nèi)容,在主頁(yè)畫面執(zhí)行Structured Query Language(結(jié)構(gòu)化查詢語(yǔ)言,簡(jiǎn)稱SQL)命令,讓用戶在瀏覽器畫面中輸入,更新和刪除站點(diǎn)服務(wù)器的數(shù)據(jù)庫(kù)信息。</p><p> ADO使用RecordSets對(duì)象,作為數(shù)據(jù)的主要接口。ADO可使用Vbscript,JavaScript語(yǔ)言來(lái)控制數(shù)據(jù)庫(kù)的訪問(wèn),與查詢結(jié)果的輸出顯示畫面。ADO可連接多種的數(shù)據(jù)庫(kù),包括SQL Server,Oracle,
69、Informix等支持ODBC的數(shù)據(jù)庫(kù)。</p><p><b> ADO執(zhí)行環(huán)境</b></p><p> 在服務(wù)器端所需要的ADO執(zhí)行環(huán)境如下:</p><p> ?。?):windows NT server.</p><p> (2):安裝Internet Information Server(IIS)3.0
70、(含)以上版本.在用戶端所需要的ADO執(zhí)行環(huán)境,只需要一般的瀏覽器即可.</p><p> 1.3.7 數(shù)據(jù)庫(kù)數(shù)據(jù)來(lái)源設(shè)定</p><p> 若要訪問(wèn)NT站點(diǎn)的數(shù)據(jù)庫(kù),須于"控制臺(tái)"中的"odbc"建立數(shù)據(jù)庫(kù)名稱 (用戶數(shù)據(jù)來(lái)源名稱),數(shù)據(jù)庫(kù)所用的驅(qū)動(dòng)程序和數(shù)據(jù)庫(kù)文件等。</p><p> 新建數(shù)據(jù)庫(kù)來(lái)源的步驟:執(zhí)行
71、"設(shè)定"的"控制臺(tái)"中的"odbc",選擇"用戶數(shù)據(jù)來(lái)源名稱",點(diǎn)擊"添加"按鈕,選定數(shù)據(jù)庫(kù)所用的驅(qū)動(dòng)程序,如為Access數(shù)據(jù)庫(kù),選定"Microsoft Access Driver",點(diǎn)擊"完成"按鈕.在odbc設(shè)定中,在"數(shù)據(jù)來(lái)源名稱"輸入數(shù)據(jù)庫(kù)名稱,以便以后在程序中調(diào)用稱
72、呼,點(diǎn)擊"選定按鈕,選擇數(shù)據(jù)庫(kù)文件,然后點(diǎn)擊"確定"按鈕即可. </p><p> ADO數(shù)據(jù)庫(kù)設(shè)計(jì)要領(lǐng)只要幾個(gè)步驟,就可以應(yīng)用 Active Data Object (ActiveX 數(shù)據(jù)對(duì)象,簡(jiǎn)稱ADO)的技術(shù),在站點(diǎn)服務(wù)器執(zhí)行訪問(wèn)查詢數(shù)據(jù)庫(kù)的動(dòng)作.第一步:ADO數(shù)據(jù)庫(kù)設(shè)計(jì)要領(lǐng)的第一步,就是使用"Server.createobject"建立連接的對(duì)象,并使用
73、"Open"打開待訪問(wèn)查詢的數(shù)據(jù)庫(kù),如下set conn = server.createobject("adodb.connection")conn.open "數(shù)據(jù)庫(kù)名稱",數(shù)據(jù)庫(kù)名稱即為在"ODBC"設(shè)定的"數(shù)據(jù)來(lái)源名稱".第二步,第二步設(shè)定SQL命令,使用"Execute"命令,即可開始執(zhí)行訪問(wèn)查詢數(shù)據(jù)庫(kù)的動(dòng)作,
74、其中conn為第一步所設(shè)定的名稱:set rs = conn.execute(SQ)命令。第三步,使用如下recordsets對(duì)象的命令,顯示查詢的結(jié)果,其中rs為第二步所定義的名稱:.rs.fields.count:recourds的字段數(shù)。.rs(i).name:第i(指針)個(gè)字段名,i由0算起到rs.fields.count-1。.rs(i):讀取第i(指針)個(gè)字段的記錄,i由0算起到rs.</p><p>
75、; .rs.eof:是(true)否(false)已指定最末筆,</p><p> .rs.movenext:將指針移到下一筆.</p><p> .rs.moveprev:將指針移到上一筆.</p><p> .rs.movefirst:將指針移到第一筆.</p><p> .rs.movelast:將指針移到最末筆.</p
76、><p> .rs.getrows:將查詢結(jié)果存于數(shù)組當(dāng)中,如v = rs.getgows(100),再讀取數(shù)組v(col,row)的值即為查詢的記錄.</p><p> .rs.properties.count:得到ADO的Connection 或Resultset的屬性總數(shù).</p><p> .rs.properties(item).name:得到ADO的C
77、onnection 或 resultset的屬性名稱</p><p> .rs.properties(item):得到ADO的Connection 或Resultset的屬性值,最后,在顯示后使用如下的命令,關(guān)閉數(shù)據(jù)庫(kù):</p><p> rs.closeconn.close
78、 </p><p><b> 第二章 系統(tǒng)配置</b></p><p> 2.1 asp的運(yùn)行平臺(tái)</p><p> ASP要瀏覽必須經(jīng)過(guò)服務(wù)器解析才能夠?yàn)g覽得到。如果是將asp文件上傳到支持asp的服務(wù)器,那就能夠直接瀏覽。但是
79、如果是在本機(jī)上面,那就必須將電腦設(shè)置成為服務(wù)器。單機(jī)并不需要設(shè)置成為局域網(wǎng),只需要設(shè)置成為單機(jī)服務(wù)器就可以。 </p><p> ASP運(yùn)行所需的環(huán)境如下: </p><p> ·Microsoft Internet Information Server version 3.0/4.0 on Windows NT Server </p><p> &
80、#183;Microsoft Peer Web Services Version 3.0 on Windows NT Workstation</p><p> ·Microsoft Personal Web Server on Windows 95/98 </p><p> 也就是說(shuō)平常所使用的window98/2000/2003/XP都可以運(yùn)行asp,只需要將其設(shè)置為單機(jī)服
81、務(wù)器就行了。歸結(jié)一點(diǎn):window98/95,需要安裝PWS;window2003/XP,需要安裝IIS。才能發(fā)揮其asp的作用。</p><p> 一般較常使用的是window2003+IIS5和window98+PWS,而window95+PWS和windowXP+IIS則較少人使用。</p><p> 下面就詳細(xì)講解windows的安裝設(shè)置方法: (1)、找一張wind
82、ows的系統(tǒng)安裝盤; (2)、在“開始”→“控制面板”→“添加/刪除程序”→“添加/刪除Windows組件” ,隨后在“組件”列表對(duì)話框中選中“Internet 信息服務(wù)”、”管理和監(jiān)視工具”和“腳本調(diào)試器”,點(diǎn)擊Windows組件對(duì)話框上“確定”按鈕,Windows 2003將會(huì)自動(dòng)開始安裝和配置IIS。 (3)、安裝好了IIS并不等于馬上可以使用,還要給IIS配置上IP地址才可以使用:第一、在“開始”→“程序”→
83、“管理工具”→“Internet服務(wù)管理器”;第二、打開之后,可以看到在計(jì)算機(jī)標(biāo)識(shí)符下有默認(rèn)的FTP站點(diǎn)、默認(rèn)的Web站點(diǎn)和一個(gè)默認(rèn)的SMTP虛擬服務(wù)器。第三、選中“默認(rèn)的Web站點(diǎn)”,按鼠標(biāo)右鍵,從彈出選單中選擇“屬性”,進(jìn)入屬性對(duì)話框并選擇“Web站點(diǎn)”選項(xiàng),然后點(diǎn)擊“IP地址”下拉框,選擇“192.168.0.1”(你本機(jī)上的IP地址)作為Web站點(diǎn)的IP地址。這樣,就可以通過(guò)在IE瀏覽器中鍵入“http://LocalHost/
84、”或“http:// 192.168.0.</p><p> (4)、到現(xiàn)在為止,已經(jīng)可以訪問(wèn)IP地址為192.168.0.1的Web站點(diǎn)了。啟動(dòng)IE并在地址欄中鍵入http://192.168.0.1?;蚴侵苯釉凇癐nternet服務(wù)管理器”的右邊,選中想要瀏覽的網(wǎng)頁(yè),按右鍵選擇“瀏覽”也是可以打開所要打開的網(wǎng)頁(yè)。如果并不想將文件放在LocalHost文件夾里面,或是習(xí)慣在其他的硬盤里面新建一個(gè)文件件來(lái)存放網(wǎng)
85、頁(yè),那么可以選中“默認(rèn)的Web站點(diǎn)”,按鼠標(biāo)右鍵,從彈出選單中選擇“新建”,選擇“站點(diǎn)”,再一步一步做下去就可以了。但是此虛擬站點(diǎn)還未啟動(dòng),還是不可以使用,將原來(lái)啟動(dòng)的那個(gè)站點(diǎn),按鼠標(biāo)右鍵,從彈出選單中選擇“停止”,然后選中剛才新建的站點(diǎn),同樣的選擇“啟動(dòng)”就可以通過(guò)在IE瀏覽器中鍵入“http:// 192.168.0.1/”或者“http://127.0.0.1/”來(lái)訪問(wèn)本機(jī)上剛才新建的新的站點(diǎn)了。 </p><
86、p> 第三章ASP技術(shù)對(duì)聊天室開發(fā)實(shí)例</p><p> 3.1 聊天室功能說(shuō)明 </p><p> 研究目前一個(gè)普通的聊天室應(yīng)該包括:登錄、注冊(cè)新用戶、發(fā)言、后臺(tái)管理等等功能:</p><p> 1) 登錄:在登錄窗口中,用戶如果為老用戶,則輸入用戶名和密碼,并單擊“登錄”按鈕,驗(yàn)證身份后,可以修改資料和進(jìn)入聊天室。如果用戶是新
87、用戶,則進(jìn)入注冊(cè)窗口。 登錄時(shí),分別輸入用戶名和用戶密碼,如果密碼輸入錯(cuò)誤,則顯示結(jié)果會(huì)顯示“ 該用戶不存在或者密碼錯(cuò)誤”</p><p> 2) 注冊(cè):在登錄窗口中單擊“注冊(cè)”,則進(jìn)入到注冊(cè)新用戶窗口。在注冊(cè)新用戶窗口,要求用戶輸入賬號(hào)、密碼、昵稱、性別、生日、電子郵箱和自己介紹等信息,并單擊“確定”按鈕后完成注冊(cè)。 </p><p> 3) 聊天首頁(yè):登錄窗口中輸入
88、正確的用戶名及其密碼,就可以登入聊天室窗口。進(jìn)入聊天室窗口后,顯示當(dāng)前在線人數(shù)等。在窗口中發(fā)言區(qū),寫將要發(fā)送的內(nèi)容,點(diǎn)擊確定。聊天的內(nèi)容即可顯示出來(lái)。也可采用EMote命令和設(shè)置字體屬性、滾屏、頻道等。當(dāng)單擊聊天室頁(yè)面中的“退出聊天室”,將離開聊天室。</p><p> 3.2 聊天室簡(jiǎn)介– Jerry ChatRoom</p><p> (1)聊天室核心部分采用COM組件編譯,并作最
89、大可能的優(yōu)化算法,極大提高聊天室運(yùn)行效率。 </p><p> ?。?)基于XML,提供強(qiáng)大功能。 </p><p> (3)基于組的聊天權(quán)限劃分。 </p><p> ?。?)聊天命令采用命令行輸入方式,使聊天室的使用更具懷舊感和可玩性。</p><p> (5)后臺(tái)管理功能健全。 </p><p> (6)聊
90、天室房間有獨(dú)立的個(gè)性設(shè)置。</p><p> 聊天室共設(shè)置房間名稱、歡迎致詞、房間說(shuō)明、是否允許EMote消息等。</p><p> (7)在運(yùn)行期間,聊天室將還可以記錄自身的運(yùn)行時(shí)長(zhǎng),。 </p><p> ?。?)在線列表支持動(dòng)態(tài)查看其他用戶信息。 </p><p> (9)聊天窗口中,對(duì)自己的名字進(jìn)行加亮顯示。 </p>
91、;<p> ?。?0)用戶頭像種類齊全,品種繁多,可以滿足絕大多數(shù)用戶需求。 </p><p> ?。?1)所見即所得的聊天輸入方式。 </p><p> ?。?2)顏色滑塊的使用讓發(fā)言顏色選擇不再受局限。 </p><p> ?。?3)支持密談,分屏,選擇滾屏方式,忽略發(fā)言等功能。 </p><p> ?。?4)支持表情輸入功
92、能,支持EMote命令。 </p><p> ?。?5)可查看20條過(guò)往發(fā)言。 </p><p> ?。?6)限制發(fā)言速度、限制重復(fù)發(fā)言。 </p><p> ?。?7)支持聊天室超時(shí)。</p><p> 超時(shí)的意思是如果用戶長(zhǎng)時(shí)間在聊天室內(nèi)不發(fā)一言,為了不影響其他用戶正常聊天,讓其自動(dòng)退出聊天室。超時(shí)的提示時(shí)長(zhǎng)為20分鐘,將已超時(shí)踢出房間
93、的時(shí)長(zhǎng)為21分鐘。</p><p> ?。?8)支持踢人,賬號(hào)禁用等聊天室管理功能。 </p><p> ?。?9)系統(tǒng)自動(dòng)記錄用戶的最后聊天時(shí)間,聊天次數(shù),聊天時(shí)長(zhǎng),總共發(fā)布的言論條數(shù)、發(fā)言字節(jié)數(shù)。</p><p> 3.3 ASP的總體設(shè)計(jì) </p><p> 3.3.1、聊天室的系統(tǒng)功能設(shè)計(jì)</p><p>
94、; 聊天室的功能分為如下幾大部分</p><p><b> 主頁(yè)面</b></p><p> 該部分提供聊天室的主界面,是用戶進(jìn)入聊天室的唯一入口。該界面提供用戶在登入、注冊(cè)、管理和幫助中進(jìn)行選擇,對(duì)于用戶的登入還要核對(duì)用戶名和密碼。</p><p><b> 登入</b></p><p>
95、 該部分提供用戶的登入接口,一但用戶登入成功,會(huì)出現(xiàn)歡迎詞和功能選擇。這里,可以選擇直接進(jìn)入聊天室,也可以修改用戶的資料。</p><p><b> 注冊(cè)</b></p><p> 該部分主要提供給新的用戶注冊(cè)聊天室的ID,對(duì)于非注冊(cè)用戶則不容許登入。</p><p><b> 后臺(tái)管理</b></p>
96、<p> 該部分是提供給管理員對(duì)聊天室的管理。其中包括管理員的登入退出、聊天室的使用說(shuō)明和檢閱聊天室。檢閱的內(nèi)容包括歡迎詞、房間說(shuō)明的修改。</p><p><b> 幫助</b></p><p> 該部分給用戶提供幫助信息。幫助的內(nèi)容包括如何注冊(cè)成功、如何使用聊天室提供的功能等。</p><p> 聊天室的結(jié)構(gòu)框圖如圖3
97、-1所示。</p><p> 圖3-1 聊天室的功能框圖</p><p> 3.3.2、聊天室的數(shù)據(jù)表的建立</p><p> 根據(jù)應(yīng)用程序的結(jié)構(gòu)框架可以看出,應(yīng)當(dāng)建立4個(gè)數(shù)據(jù)表,users、chat_users、chatroom、chat_groups。</p><p> 表users用來(lái)進(jìn)行新用戶注冊(cè)和密碼檢驗(yàn).至少應(yīng)該包括用戶身
98、份證號(hào)碼、用戶ID和密碼、用戶全名三項(xiàng),其它選項(xiàng)可根據(jù)需要進(jìn)行添加,users數(shù)據(jù)表的格式見表1所示。</p><p> 表3-1 users結(jié)構(gòu)數(shù)據(jù)表</p><p> 表chat_users用來(lái)記錄用戶信息。包括用戶身份證號(hào)碼、昵稱、性別、是否公開性別、生日、是否公開年齡、組別、最后一次登入時(shí)間、登入次數(shù)、在線時(shí)間、發(fā)言次數(shù)、頭像、E-Mail、個(gè)人說(shuō)明。</p>
99、<p> 表3-2 chat_users結(jié)構(gòu)數(shù)據(jù)表</p><p> 表chatrooms用來(lái)記錄聊天事的屬性信息。包括聊天事ID、聊天室名、歡迎詞、聊天室描述、最大容許在線人數(shù)、聊天事運(yùn)行時(shí)間等</p><p> 表3-3 chatroom結(jié)構(gòu)數(shù)據(jù)表</p><p> 表chat_groups用來(lái)記錄聊天室注冊(cè)用戶組別信息。包括a
100、dministrator、users、superusers三個(gè)等級(jí)。</p><p> 表3-14 chat_groups結(jié)構(gòu)數(shù)據(jù)表</p><p><b> 第四章 軟件實(shí)現(xiàn)</b></p><p> 4.1 default.asp設(shè)計(jì)說(shuō)明</p><p> 聊天室的登錄界面(圖4-1),該文件設(shè)計(jì)了一
101、個(gè)表單,當(dāng)輸入昵稱按登錄鍵后,表單提交的結(jié)果則是聊天室的歡迎界面(圖4-2)。代碼如下:</p><p> <FORM METHOD="POST" ACTION="main.asp"></p><p> <p><CENTER><INPUT NAME="nick" TYPE="
102、TEXT" SIZE=10></CENTER></p><p><b> </p></b></p><p><b> <p></b></p><p> <CENTER><INPUT TYPE="SUBMIT" VALUE=&qu
103、ot;進(jìn)入聊天室"></CENTER></p><p><b> </p></b></p><p> 圖4-1 聊天室主頁(yè)面圖</p><p> 圖4-2 用戶登入成功后的頁(yè)面圖</p><p> 4.2 login.asp設(shè)計(jì)說(shuō)明</p>
104、<p> 當(dāng)聊天室的用戶登入成功后顯示的歡迎界面(圖4-3)。關(guān)鍵代碼如下:</p><p><b> <%</b></p><p> Dim sUserID, sPassword, sURL</p><p> sUserID = Trim(Request.Form("USERID"))</p&
105、gt;<p> sPassword = Request.Form("PASSWORD")</p><p> sURL = Request.Form("URL")</p><p> If sUserID = Empty Or sPassword = Empty Then </p><p> Err(&quo
106、t;用戶名和密碼不能為空!")</p><p><b> End if</b></p><p><b> Dim oChat</b></p><p> Set oChat = Server.CreateObject("LSChat.Users")</p><p&g
107、t; oChat.Configure g_SiteName, g_SiteDomain, g_DBString, g_ErrFile, g_ScriptName</p><p><b> Dim rst</b></p><p> Set rst = oChat.GetUser(sUserID)</p><p> If rst.EOF T
108、hen</p><p> Err("該用戶不存在!")</p><p><b> Else</b></p><p> If rst("PASSWORD") <> sPassword Then Err("密碼輸入錯(cuò)誤!")</p><p><
109、;b> End If</b></p><p> 圖4-3 用戶注冊(cè)圖</p><p> 4.3 reg.asp設(shè)計(jì)</p><p> 用戶在沒(méi)有ID的情況下,是不容許匿名登入的,所以需要有聊友注冊(cè)信息。注冊(cè)包括用戶名、密碼、昵稱、性別生日、和電子郵件、頭像、個(gè)人說(shuō)明等。主要代碼如下:</p><p> &l
110、t;script>document.write("<title>"+Title+" - 注冊(cè)</title>");</script></p><p> <script language="javascript"></p><p> function check(obj){&
111、lt;/p><p><b> //檢查用戶名</b></p><p> if(isUserIDErr(obj))</p><p> return false;</p><p><b> //檢查密碼1</b></p><p> if(obj.Password1.valu
112、e=="")</p><p> {alert("密碼不能為空!");</p><p> obj.Password1.focus();</p><p> return false;</p><p><b> }</b></p><p><b>
113、; //檢查密碼2</b></p><p> if(obj.Password1.value!=obj.Password2.value)</p><p> {alert("兩次密碼應(yīng)該相同)</p><p> 4.4 global.asa設(shè)計(jì)說(shuō)明 </p><p> Global.asa在文件中指定事件腳本,并聲
114、明具有會(huì)話和應(yīng)用程序作用域的對(duì)象。該文件的內(nèi)容不是用來(lái)給用戶顯示的,而是用來(lái)存儲(chǔ)事件信息和由應(yīng)用程序全局使用的對(duì)象。該文件的名稱必須是Global.asa 且必須存放在應(yīng)用程序的根目錄中。每個(gè)應(yīng)用程序只能有一個(gè) Global.asa 文 件。在 Global.asa 文件中,如果包含的腳本沒(méi)有用 < SCRIPT> 標(biāo)記封裝,或定義的對(duì)象沒(méi)有會(huì)話或應(yīng)用程序作用域,則服務(wù)器將返回錯(cuò)誤。我們可以用任何支持腳本的語(yǔ)言編寫 Glob
115、al.asa 文件中所包含的腳本。如果多個(gè)事件使用同一種腳本語(yǔ)言,就可以將它們組織在一組 < SCRIPT> 標(biāo)記中。在 Global.asa 文件中聲明的過(guò)程只能從一個(gè)或多個(gè)與 Application_OnStart、Application_OnEnd、Session_OnStart 和 Session_OnEnd 事件相關(guān)的腳本中調(diào)用。在基于 ASP 的應(yīng)用程序的 ASP 頁(yè)中,它們是不可用的。如果要在應(yīng)用程序之間共享過(guò)
116、程,可在單獨(dú)的文件中聲明這些過(guò)程,然后使用服務(wù)器端包容 (SSI) 語(yǔ)句將該文件包含在調(diào)用該過(guò)程的</p><p><b> 關(guān)鍵代碼如下:</b></p><p> <SCRIPT LANGUAGE="VBScript" RUNAT="Server"></p><p> Sub App
117、lication_OnStart()'初始化聊天室</p><p> 'g_SiteName是站點(diǎn)的名稱</p><p> Const g_SiteName = "zf1001.vicp.net"</p><p> 'g_SiteDomain是站點(diǎn)的域名</p><p> Const g_B
118、odyTag = "bgcolor=""#DEE5FA"" leftmargin=""10"" topmargin=""10"" marginleft=""0"" margintop=""0"""</p>
119、<p> Dim g_DBString</p><p> 'g_DBString是連接數(shù)據(jù)庫(kù)的字符串,請(qǐng)確保其無(wú)語(yǔ)法錯(cuò)誤</p><p> 圖4-4 進(jìn)入聊天室后的界面圖</p><p> 4.5 chatroom.asp設(shè)計(jì)說(shuō)明</p><p> 聊天室的主界面,采用了框架結(jié)構(gòu),共分為上中下三屏。上面顯示
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)聊天室系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 聊天室系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì) ---手機(jī)聊天室設(shè)計(jì)與開發(fā)
- 局域網(wǎng)聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 局域網(wǎng)聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)基于web的聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- java聊天室的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的網(wǎng)絡(luò)聊天室的設(shè)計(jì)與實(shí)現(xiàn)
- vc++設(shè)計(jì)簡(jiǎn)單的聊天室畢業(yè)設(shè)計(jì)
- 手機(jī)聊天室設(shè)計(jì)與開發(fā)畢業(yè)設(shè)計(jì)開題報(bào)告
- 聊天室設(shè)計(jì)與實(shí)現(xiàn)開題報(bào)告
- 基于java聊天室設(shè)計(jì)與實(shí)現(xiàn)
- java聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于php的聊天室設(shè)計(jì)與實(shí)現(xiàn)
- Java聊天室的設(shè)計(jì)與實(shí)現(xiàn).doc
- 基于java網(wǎng)絡(luò)聊天室設(shè)計(jì)
- 基于java的cs模式網(wǎng)絡(luò)聊天室的畢業(yè)設(shè)計(jì)(doc畢業(yè)設(shè)計(jì)論文)
- 基于asp的網(wǎng)絡(luò)聊天室的設(shè)計(jì)和實(shí)現(xiàn)
- 基于java的聊天室設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于asp的網(wǎng)絡(luò)聊天室的設(shè)計(jì)和實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論