版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要 </b></p><p> 近年來(lái)計(jì)算機(jī)技術(shù)的快速發(fā)展,特別是計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,越來(lái)越深刻的改變了人們生活的方方面面,使得人們能以更低廉的價(jià)格,開發(fā)出更方便、更實(shí)用的網(wǎng)絡(luò)工具。各種在線服務(wù)系統(tǒng),更是深刻的影響了人們的聯(lián)系方式,使得人們可以在遠(yuǎn)隔千里之遙隨時(shí)通訊。網(wǎng)絡(luò)聊天系統(tǒng)作為一種方便人們之間聯(lián)系的實(shí)用系統(tǒng)便應(yīng)運(yùn)而生。網(wǎng)絡(luò)聊天系統(tǒng)是為人與人之間進(jìn)行
2、交流和聯(lián)系提供的一個(gè)平臺(tái)。通過(guò)提供完善的聊天服務(wù)和規(guī)范的管理,可以達(dá)到增進(jìn)人與人之間的感情,促進(jìn)人們之間的溝通,方便人們聯(lián)系的目的;同時(shí)本系統(tǒng)可以拉近人與人之間的距離,豐富人們的業(yè)余時(shí)間,為人們?cè)诰W(wǎng)絡(luò)中交友提供了便捷的渠道。我們覺(jué)得隨著計(jì)算機(jī)網(wǎng)絡(luò)日新月異的發(fā)展,人們的交流方式越來(lái)越多,傳統(tǒng)的交流方式,如:信件、電報(bào)、電話等已經(jīng)難以滿足人們的交流要求,在互聯(lián)網(wǎng)上即時(shí)的和好友取得聯(lián)系,已經(jīng)成為當(dāng)今社會(huì)人們主流的聯(lián)系方式。兩臺(tái)計(jì)算機(jī)之間進(jìn)行即
3、時(shí)通訊、發(fā)送文件等交流方式已經(jīng)成為時(shí)代的潮流。因此出現(xiàn)了QQ等聊天工具。然而QQ等聊天工具雖然方便、實(shí)用,但是,娛樂(lè)功能太多,有很多吸引人的娛樂(lè)功能,從一定程度上來(lái)說(shuō),是一種娛樂(lè)工具,不能作為用于作為即時(shí)通訊、文件共享的專用工具。目前,用</p><p> 本文首先介紹了聊天室系統(tǒng)所使用到的一些關(guān)鍵技術(shù),接著介紹了該系統(tǒng)的設(shè)計(jì)思路和需求分析以及系統(tǒng)的詳細(xì)介紹,包括系統(tǒng)中創(chuàng)建的數(shù)據(jù)庫(kù)、系統(tǒng)的具體功能介紹。本設(shè)計(jì)所
4、完成的是基于B/S結(jié)構(gòu)的網(wǎng)絡(luò)聊天室,具有常用聊天室的所有功能,包括多人同時(shí)在線聊天、兩人間的私密聊天,能顯示在線用戶列表,同時(shí),為了管理聊天室中的用戶,設(shè)計(jì)了用戶注冊(cè)登陸功能,并且增加了管理員后臺(tái)管理界面,增加了聊天室的操作性。網(wǎng)上聊天系統(tǒng)是為人們進(jìn)行交流和聯(lián)系提供的一個(gè)平臺(tái)。利用現(xiàn)代的網(wǎng)絡(luò)資源優(yōu)勢(shì)和技術(shù)優(yōu)勢(shì),通過(guò)提供完善的網(wǎng)上聊天系統(tǒng)的管理,以達(dá)到增進(jìn)人們與人們之間的信息交流和溝通的目的,并以此加快人們的信息化建設(shè)。</p>
5、;<p> 關(guān)鍵詞: 聊天室;B/S結(jié)構(gòu); 數(shù)據(jù)庫(kù)</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p><b> 目 錄II</b></p><p><b> 引 言1</b>
6、</p><p> 第一章 基礎(chǔ)知識(shí)2</p><p> 1.1 背景與意義2</p><p> 1.2 開發(fā)工具2</p><p> 1.2.1 Visual Studio 2010介紹2</p><p> 1.2.2 SQL Server 2008數(shù)據(jù)庫(kù)介紹3</p><p&
7、gt; 第二章 系統(tǒng)分析4</p><p> 2.1 需求分析4</p><p> 2.1.1 系統(tǒng)功能需求4</p><p> 2.2 可行性分析4</p><p> 2.2.1 技術(shù)可行性4</p><p> 2.2.2 經(jīng)濟(jì)可行性5</p><p> 2.2.3
8、操作可行性5</p><p> 第三章 系統(tǒng)總體設(shè)計(jì)6</p><p> 3.1 設(shè)計(jì)目標(biāo)6</p><p> 3.2 系統(tǒng)功能結(jié)構(gòu)圖6</p><p> 3.3 數(shù)據(jù)表設(shè)計(jì)8</p><p> 3.4 關(guān)鍵技術(shù)9</p><p> 3.4.1 ASP.NET9<
9、/p><p> 3.4.2 ADO.NET9</p><p> 3.4.3 AJAX技術(shù)10</p><p> 第四章 系統(tǒng)詳細(xì)設(shè)計(jì)12</p><p> 4.1 注冊(cè)模塊12</p><p> 4.2 登錄模塊13</p><p> 4.3 聊天模塊16</p>
10、<p> 4.4 密碼找回模塊16</p><p> 4.5 修改密碼模塊18</p><p> 第五章 系統(tǒng)調(diào)試與維護(hù)20</p><p> 5.1 系統(tǒng)調(diào)試20</p><p> 5.1.1 Microsoft 腳本調(diào)試工具20</p><p> 5.2.2 啟用調(diào)試20<
11、;/p><p> 5.3.3 錯(cuò)誤調(diào)試技術(shù)21</p><p> 5.2 系統(tǒng)維護(hù)22</p><p> 5.2.1 NTFS 權(quán)限22</p><p> 5.2.2 維護(hù) Global.asax 的安全22</p><p> 5.2.3 Web 服務(wù)器權(quán)限23</p><p>
12、 5.2.4 Cookie 安全性23</p><p><b> 結(jié) 束 語(yǔ)24</b></p><p><b> 參考文獻(xiàn)25</b></p><p><b> 引 言</b></p><p> Internet是目前世界上最大的計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò),它遍布全球,將
13、世界各地各種規(guī)模的網(wǎng)絡(luò)連接成一個(gè)整體。作為Internet上一種先進(jìn)的,易于被人們所接受的信息檢索手段,World Wide Web(簡(jiǎn)稱WWW)發(fā)展十分迅速,成為目前世界上最大的信息資源寶庫(kù)。如今,人們不僅可以在網(wǎng)上查詢自己需要的資源,而且可以通過(guò)網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)的溝通。從實(shí)時(shí)性和有效性上都超過(guò)了用信件和 E—Mail,并且在費(fèi)用上要低于電話。因而各種聊天服務(wù)備受用戶青睞,在這方面的開發(fā)與應(yīng)用也較多,聊天服務(wù)也成為互聯(lián)網(wǎng)提供的重要服務(wù)之一
14、,因此建立一個(gè)好的在線交流聊天系統(tǒng)十分重要?;ヂ?lián)網(wǎng)的大多數(shù)網(wǎng)站都建有聊天室,并且有專業(yè)聊天網(wǎng)站提供聊天服務(wù)。</p><p> 網(wǎng)上聊天系統(tǒng)是為人們進(jìn)行交流和聯(lián)系提供的一個(gè)平臺(tái)。利用現(xiàn)代的網(wǎng)絡(luò)資源優(yōu)勢(shì)和技術(shù)優(yōu)勢(shì),通過(guò)提供完善的網(wǎng)上聊天系統(tǒng)的管理,以達(dá)到增進(jìn)人們與人們之間的信息交流和溝通的目的,并以此加快人們的信息化建設(shè)。</p><p> 近年來(lái)計(jì)算機(jī)技術(shù)的快速發(fā)展,特別是計(jì)算機(jī)網(wǎng)絡(luò)的
15、發(fā)展,越來(lái)越深刻的改變了人們生活的方方面面,使得人們能以更低廉的價(jià)格,開發(fā)出更方便、更實(shí)用的網(wǎng)絡(luò)工具。各種在線服務(wù)系統(tǒng),更是深刻的影響了人們的聯(lián)系方式,使得人們可以在遠(yuǎn)隔千里之遙隨時(shí)通訊。網(wǎng)絡(luò)聊天系統(tǒng)作為一種方便人們之間聯(lián)系的實(shí)用系統(tǒng)便應(yīng)運(yùn)而生。網(wǎng)絡(luò)聊天系統(tǒng)是為人與人之間進(jìn)行交流和聯(lián)系提供的一個(gè)平臺(tái)。通過(guò)提供完善的聊天服務(wù)和規(guī)范的管理,可以達(dá)到增進(jìn)人與人之間的感情,促進(jìn)人們之間的溝通,方便人們聯(lián)系的目的;同時(shí)本系統(tǒng)可以拉近人與人之間的距
16、離,豐富人們的業(yè)余時(shí)間,為人們?cè)诰W(wǎng)絡(luò)中交友提供了便捷的渠道。</p><p> 網(wǎng)上聊天系統(tǒng)是為人們進(jìn)行交流和聯(lián)系提供的一個(gè)平臺(tái)。利用現(xiàn)代的網(wǎng)絡(luò)資源優(yōu)勢(shì)和技術(shù)優(yōu)勢(shì),通過(guò)提供完善的網(wǎng)上聊天系統(tǒng)的管理,以達(dá)到增進(jìn)人們與人們之間的信息交流和溝通的目的,并以此加快人們的信息化建設(shè)。</p><p><b> 第一章 基礎(chǔ)知識(shí)</b></p><p>
17、; 1.1 背景與意義 </p><p> Internet是目前世界上最大的計(jì)算機(jī)互聯(lián)網(wǎng)絡(luò),它遍布全球,將世界各地各種規(guī)模的網(wǎng)絡(luò)連接成一個(gè)整體。作為Internet上一種先進(jìn)的,易于被人們所接受的信息檢索手段,World Wide Web(簡(jiǎn)稱WWW)發(fā)展十分迅速,成為目前世界上最大的信息資源寶庫(kù)。據(jù)估計(jì),目前Internet上已有上百萬(wàn)個(gè)Web站點(diǎn),其內(nèi)容范圍跨越了教育科研、文化事業(yè)、金融、商業(yè)、
18、新聞出版、娛樂(lè)、體育等各個(gè)領(lǐng)域,其用戶群十分龐大,因此,建設(shè)一個(gè)好的Web站點(diǎn)對(duì)于一個(gè)機(jī)構(gòu)的發(fā)展十分重要。</p><p> 近年來(lái)計(jì)算機(jī)技術(shù)的快速發(fā)展,特別是計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,越來(lái)越深刻的改變了人們生活的方方面面。使得人們能以更低廉的價(jià)格,開發(fā)出更方便、更實(shí)用的網(wǎng)絡(luò)工具。各種在線服務(wù)系統(tǒng),更是深刻的影響了人們的聯(lián)系和交流方式,使得人們可以在遠(yuǎn)隔千里之遙隨時(shí)通訊。過(guò)去的種種陳舊的聯(lián)系方式,已經(jīng)不能滿足現(xiàn)代生活的
19、需要。網(wǎng)上聊天系統(tǒng)作為一種方便消費(fèi)者與人們之間聯(lián)系的實(shí)用系統(tǒng)便應(yīng)運(yùn)而生。網(wǎng)上聊天系統(tǒng)是為人們進(jìn)行交流和聯(lián)系提供的一個(gè)平臺(tái)。通過(guò)提供完善的網(wǎng)上聊天系統(tǒng)的管理,可以達(dá)到增進(jìn)人們與消費(fèi)者之間、消費(fèi)者與消費(fèi)者之間的交流和聯(lián)系的目的。</p><p><b> 1.2 開發(fā)工具</b></p><p> 1.2.1 Visual Studio 2010介紹</p>
20、;<p> Visual Studio是微軟公司推出的開發(fā)環(huán)境。Windows 平臺(tái)應(yīng)用程序開發(fā)環(huán)境。Visual Studio 2010版本于2010年4月12日上市,其集成開發(fā)環(huán)境(IDE)的界面被重新設(shè)計(jì)和組織,變得更加簡(jiǎn)單明了。Visual Studio 2010同時(shí)帶來(lái)了NET Framework4.0、Microsoft Visual Studio 2010 CTP( Community Technology
21、 Preview--CTP),并且支持開發(fā)面向Windows 7的應(yīng)用程序。除了Microsoft SQL Server,它還支持IBM DB2和Oracle數(shù)據(jù)庫(kù)。</p><p> 這個(gè)版本的 Visual Studio 包含有眾多版本,分別面向不同的開發(fā)角色。同時(shí)還永久提供免費(fèi)的 Visual Studio Express 版本。</p><p> 1.2.2 SQL Serve
22、r 2008數(shù)據(jù)庫(kù)介紹</p><p> SQL (Structured Query Language)是一個(gè)非過(guò)程化的語(yǔ)言,它允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對(duì)單個(gè)記錄進(jìn)行操作,可操作記錄集。所有SQL 語(yǔ)句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語(yǔ)句的結(jié)果作為另一條SQL語(yǔ)句的輸入。SQL不要求用戶指定對(duì)數(shù)據(jù)的存放方法。 這種特性使用戶更易集中精力于要得到的結(jié)果。所有SQL語(yǔ)句
23、使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對(duì)指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。 SQL (Structured Query Language)包含4個(gè)部分: 數(shù)據(jù)查詢語(yǔ)言(DQL-Data Query Language SELECT )、數(shù)據(jù)操縱語(yǔ)言(DQL-Data Manipulation Language INSERT, UPDATE,
24、 DELETE) 、數(shù)據(jù)定義語(yǔ)言(DQL-Data Definition Language CREATE, ALTER, DROP) 、數(shù)據(jù)控制語(yǔ)言(DQL-Data Control La</p><p> SQL可用于所有用戶的DB活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫(kù)管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。基本的SQL 命令只需很少時(shí)間就能學(xué)會(huì),最高級(jí)的命令在幾天內(nèi)便可掌握。SQL為許多任
25、務(wù)提供了命令,包括:查詢數(shù)據(jù);在表中插入、修改和刪除記錄;建立、修改和刪除數(shù)據(jù)對(duì)象 ;控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存取 ;保證數(shù)據(jù)庫(kù)一致性和完整性。 </p><p> 由于所有主要的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)都支持SQL語(yǔ)言,用戶可將使用SQL的技能從一個(gè)RDBMS轉(zhuǎn)到另一個(gè)。所有用SQL編寫的程序都是可以移植的。</p><p><b> 第二章 系統(tǒng)分析</b></
26、p><p><b> 2.1 需求分析</b></p><p> 這是一個(gè)具有最簡(jiǎn)單功能的聊天室。通過(guò)該聊天室,用戶可以通過(guò)設(shè)置不同的用戶名和密碼以各種不同的身份進(jìn)入聊天室,用戶的類型有兩種:會(huì)員和游客。會(huì)員用戶可以在聊天室中發(fā)送信息,也可以和指定的聊天對(duì)象用戶私聊,還可以對(duì)發(fā)送的信息進(jìn)行動(dòng)作、顏色等方面的限制。</p><p> 聊天室的特
27、點(diǎn)就是要求能夠?qū)崟r(shí)顯示出聊天者所談的內(nèi)容。即在同一個(gè)聊天室的使用者,可以在短時(shí)間內(nèi)立刻看到其他聊天者的發(fā)言。作為用戶喜歡的Web應(yīng)用程序,出了具有能夠?qū)崟r(shí)顯示出聊天者所談?wù)摰膬?nèi)容外,還應(yīng)具有以多種方式發(fā)布信息的功能。ASP.NET和AJAX正好可以滿足聊天室的這種要求,它可以快速地創(chuàng)建和顯示W(wǎng)eb頁(yè)面的動(dòng)態(tài)內(nèi)容。</p><p> 2.1.1 系統(tǒng)功能需求</p><p><b&g
28、t; 1.用戶注冊(cè)。</b></p><p><b> 2.用戶群聊。</b></p><p><b> 3.用戶私聊。</b></p><p><b> 4.顯示在線用戶。</b></p><p><b> 5.修改密碼。</b>&
29、lt;/p><p> 6.找回密碼。 </p><p><b> 2.2 可行性分析</b></p><p> 2.2.1 技術(shù)可行性</p><p> 技術(shù)上的可行性分析主要分析技術(shù)條件能否順利完成開發(fā)工作,軟、硬件能否滿足需要。本系統(tǒng)采用ASP.NET和AJAX開發(fā)出友好美觀的人機(jī)界面,便于用戶理解、操
30、作。數(shù)據(jù)庫(kù)管理系統(tǒng)采用SQLSERVER,它能夠處理大量數(shù)據(jù),同時(shí)保持?jǐn)?shù)據(jù)的完整性、安全性。因此本系統(tǒng)的開發(fā)平臺(tái)已成熟可行。硬件方面,在科技飛速發(fā)展的今天,硬件更新速度越來(lái)越快,容量越來(lái)越大,可靠性越來(lái)越高,價(jià)格越來(lái)越便宜,因此硬件平臺(tái)也能夠滿足本系統(tǒng)所需。</p><p> 2.2.2 經(jīng)濟(jì)可行性</p><p> 開發(fā)本系統(tǒng)為用戶和管理員帶來(lái)了極大的方便,而且所用的人力、物力、技術(shù)
31、、資金等的花費(fèi)不大,所以今后獲得的經(jīng)濟(jì)效益一定會(huì)大于開發(fā)成本。隨著人類社會(huì)的不斷進(jìn)步,科學(xué)技術(shù)有了長(zhǎng)足的發(fā)展,尤其是在當(dāng)今這個(gè)知識(shí)經(jīng)濟(jì)時(shí)代,知識(shí)的大爆炸帶來(lái)全球網(wǎng)絡(luò)的飛速發(fā)展,網(wǎng)絡(luò)為科技的發(fā)展做出了巨大的貢獻(xiàn)。在進(jìn)行系統(tǒng)開發(fā)之前,需要規(guī)劃文件夾組織結(jié)構(gòu),也就是說(shuō),建立多個(gè)文件夾,對(duì)各個(gè)功能模塊進(jìn)行劃分,實(shí)現(xiàn)統(tǒng)一管理。這樣做的好處在于:易于開發(fā)、管理和維護(hù)。</p><p> 2.2.3 操作可行性</p&
32、gt;<p> 由于本系統(tǒng)安裝了SQLSERVER2008,IIS所以只要打開IE瀏覽器,輸入IP地址即可進(jìn)入本系統(tǒng),操作方便在數(shù)據(jù)庫(kù)概念設(shè)計(jì)中已經(jīng)分析了本系統(tǒng)中主要的數(shù)據(jù)應(yīng)實(shí)體對(duì)象,通過(guò)這些實(shí)體可以得出數(shù)據(jù)表結(jié)構(gòu)的基本模型,最終實(shí)施到數(shù)據(jù)庫(kù)中,形成完整的數(shù)據(jù)結(jié)構(gòu)。本系統(tǒng)將使用PowerDesigner工具完成數(shù)據(jù)庫(kù)建模,使用的版本為15。使用該工具建模方便、效率高建。</p><p> 第三章
33、 系統(tǒng)總體設(shè)計(jì)</p><p> 系統(tǒng)設(shè)計(jì)是根據(jù)需求分析所確定的系統(tǒng)輸入、輸出數(shù)據(jù)以及各數(shù)據(jù)之間的相互關(guān)系,綜合考慮數(shù)據(jù)輸入方式、數(shù)據(jù)庫(kù)設(shè)計(jì)、編程所需時(shí)間和系統(tǒng)維護(hù)方便程度等因素,設(shè)計(jì)出能圓滿實(shí)現(xiàn)產(chǎn)品管理所需的系統(tǒng)。通過(guò)對(duì)原始數(shù)據(jù)資料的研究和數(shù)據(jù)的分析加工,確定系統(tǒng)各模塊的功能以及各模塊之間的數(shù)據(jù)流向。數(shù)據(jù)結(jié)構(gòu)的合理與否將直接影響系統(tǒng)的性能。設(shè)計(jì)合理的數(shù)據(jù)結(jié)構(gòu)能提高系統(tǒng)的運(yùn)行速度,節(jié)省內(nèi)存空間,簡(jiǎn)化系統(tǒng)的操作與
34、程序的編寫。</p><p> 經(jīng)過(guò)系統(tǒng)需求分析及系統(tǒng)功能分析階段工作后,對(duì)本聊天室系統(tǒng)的詳細(xì)設(shè)計(jì)目標(biāo)總結(jié)如下: </p><p><b> 3.1 設(shè)計(jì)目標(biāo)</b></p><p> 網(wǎng)上聊天系統(tǒng)是為人們之間進(jìn)行交流和聯(lián)系提供的一個(gè)平臺(tái)。通過(guò)提供完善的網(wǎng)上聊天系統(tǒng)服務(wù),可以達(dá)到增進(jìn)彼此之間的了解,增進(jìn)人與人之間的感情交流。 本系
35、統(tǒng)是以用戶為中心的人性化設(shè)計(jì),總體來(lái)看,系統(tǒng)可以看作是用戶模塊和注冊(cè)模塊兩大模塊的協(xié)調(diào)運(yùn)作。用戶注冊(cè)模塊,使用AJAX技術(shù)能動(dòng)態(tài)的驗(yàn)證用戶名是否存在,無(wú)需刷新整個(gè)頁(yè)面。用戶通過(guò)提交用戶名稱和用戶密碼進(jìn)行登陸,系統(tǒng)便會(huì)根據(jù)這些登陸資料,辨別出用戶是否存在。聊天室中將顯示用戶留的信息,及當(dāng)前在線的用戶。進(jìn)入聊天室后用戶可以選擇是群聊還是私聊。管理員登陸后臺(tái)管理界面后可以對(duì)進(jìn)入聊天室的人員進(jìn)行相應(yīng)的操作管理。</p><p
36、> 3.2 系統(tǒng)功能結(jié)構(gòu)圖</p><p> 本系統(tǒng)主要包括注冊(cè)、登陸、聊天、密碼找回、修改密碼5大功能模塊。</p><p> 系統(tǒng)功能模塊如圖3.1所示</p><p> 圖3-1 系統(tǒng)功能模塊圖</p><p><b> 3.3 數(shù)據(jù)表設(shè)計(jì)</b></p><p> 創(chuàng)建數(shù)
37、據(jù)庫(kù)后,為Chat數(shù)據(jù)庫(kù)添加數(shù)據(jù)表,步驟如下:</p><p> 在服務(wù)器資源管理器中右擊數(shù)據(jù)庫(kù)Chat下的“表”文件夾。在彈出的快捷菜單中執(zhí)行“新建表”命令,出現(xiàn)表設(shè)計(jì)器;本系統(tǒng)使用的數(shù)據(jù)庫(kù)管理系統(tǒng)為SQL Server 2008。數(shù)據(jù)庫(kù)中的表有管理員信息表、圖書信息表、讀者信息表、管理員權(quán)限表、圖書借閱歸還表等。</p><p> 表3-1修改密碼信息表tb_pwd</p&g
38、t;<p> 表3-2用戶注冊(cè)詳細(xì)信息表tb_zhuce</p><p> 表3-3管理員基本信息表tb_admin</p><p> 表3-4會(huì)員登錄信息表tb_login</p><p><b> 3.4 關(guān)鍵技術(shù)</b></p><p> 3.4.1 ASP.NET</p>&
39、lt;p> ASP.NET(Active Server Pages)是近年來(lái)新興的動(dòng)態(tài)站點(diǎn)設(shè)計(jì)技術(shù),憑借其動(dòng)態(tài)、高效和易于交互的特點(diǎn),正在漸漸取代傳統(tǒng)Web技術(shù)。 </p><p> ASP.NET不僅僅是 Active Server Page (ASP) 的下一個(gè)版本,而且是一種建立在通用語(yǔ)言上的程序構(gòu)架,能被用于一臺(tái)Web服務(wù)器來(lái)建立強(qiáng)大的Web應(yīng)用程序。ASP.NET提供許多比現(xiàn)在的Web開發(fā)模式
40、強(qiáng)大的的優(yōu)勢(shì)。ASP.NET從根本上對(duì)ASP進(jìn)行了升級(jí),全面加入了面向?qū)ο蟮木幊汤砟?,并把ASP.NET作為.NET戰(zhàn)略中的重要組成部分。默認(rèn)情況下,在ASP.NET應(yīng)用程序中可以使用3種語(yǔ)言作為腳本語(yǔ)言:VB.NET、Jscript.NET、和C#語(yǔ)言。 </p><p> ASP.NET是微軟為IIS 3.0以上服務(wù)器及單機(jī)開發(fā)的動(dòng)態(tài)站點(diǎn)設(shè)計(jì)技術(shù),可以與常規(guī)HTML集成,簡(jiǎn)單而有效,適于一般的程序設(shè)計(jì)人員。
41、后臺(tái)可與NT系統(tǒng)上配套的SQL等數(shù)據(jù)庫(kù)相連,只需編寫少量的代碼,即可在頁(yè)面上執(zhí)行一系列的訪庫(kù)操作,特別適合企業(yè)經(jīng)營(yíng)活動(dòng)的需要。使用ASP.NET所提供的內(nèi)置組件對(duì)象配合HTML、VBScript和JScript,可實(shí)現(xiàn)各種復(fù)雜功能,并使主頁(yè)呈現(xiàn)豐富多變的風(fēng)格。利用ASP.NET進(jìn)行Web設(shè)計(jì),具有開發(fā)容易、功能完備、形式完美等特點(diǎn),隨著NT和IIS在Intranet應(yīng)用領(lǐng)域的覆蓋面不斷擴(kuò)大,ASP.NET將成為企業(yè)和個(gè)人在Interne
42、t上大顯身手所不可或缺的卓越技術(shù)。</p><p> 3.4.2 ADO.NET</p><p> ADO.NET是一組用于和數(shù)據(jù)源進(jìn)行交互的面向?qū)ο箢悗?kù)。通常情況下,數(shù)據(jù)源是數(shù)據(jù)庫(kù),但它同樣也能夠是文本文件、Excel表格或者XML文件。 ADO.NET允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫(kù)進(jìn)行交互。然而并沒(méi)有與此相關(guān)的一系列類來(lái)完成這樣的工作。因?yàn)椴煌臄?shù)據(jù)源采用不同的協(xié)議,所以對(duì)于不
43、同的數(shù)據(jù)源必須采用相應(yīng)的協(xié)議。一些老式的數(shù)據(jù)源使用ODBC協(xié)議,許多新的數(shù)據(jù)源使用OleDb協(xié)議,并且現(xiàn)在還不斷出現(xiàn)更多的數(shù)據(jù)源,這些數(shù)據(jù)源都可以通過(guò).NET的ADO.NET類庫(kù)來(lái)進(jìn)行連接。</p><p> ADO.NET提供與數(shù)據(jù)源進(jìn)行交互的相關(guān)的公共方法,但是對(duì)于不同的數(shù)據(jù)源采用一組不同的類庫(kù)。這些類庫(kù)稱為Data Providers,并且通常是以與之交互的協(xié)議和數(shù)據(jù)源的類型來(lái)命名的。表1列處了一些常見(jiàn)的
44、data providers,以及它們所使用的API前綴,和允許進(jìn)行交互的數(shù)據(jù)源類型。ADO.NET有五大對(duì)象:Connection 對(duì)象 、Command對(duì)象 、DataReader對(duì)象 、DataSet對(duì)象、 DataAdapter對(duì)象。</p><p> ADO.NET是與數(shù)據(jù)源交互的.NET技術(shù)。有許多的Data Providers,它將允許與不同的數(shù)據(jù)源交流――取決于它們所使用的協(xié)議或者數(shù)據(jù)庫(kù)。然而無(wú)
45、論使用什么樣的Data Provider,你將使用相似的對(duì)象與數(shù)據(jù)源進(jìn)行交互。SqlConnection對(duì)象管理與數(shù)據(jù)源的連接。SqlCommand對(duì)象允許你與數(shù)據(jù)源交流并發(fā)送命令給它。為了對(duì)進(jìn)行快速的只“向前”地讀取數(shù)據(jù),使用SqlDataReader。如果想使用斷開數(shù)據(jù),使用DataSet并實(shí)現(xiàn)能進(jìn)行讀取或者寫入數(shù)據(jù)源的SqlDataAdapter。</p><p> 3.4.3 AJAX技術(shù)</p&
46、gt;<p> AJAX即“Asynchronous JavaScript and XML”(異步JavaScript和XML),AJAX并非縮寫詞,而是由Jesse James Gaiiett創(chuàng)造的名詞,是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開發(fā)技術(shù)</p><p> AJAX = 異步 JavaScript 及 XML(Asynchronous JavaScript and XML) AJAX 不
47、是一種新的編程語(yǔ)言,而是一種用于創(chuàng)建更好更快以及交互性更強(qiáng)的 Web 應(yīng)用程序的技術(shù)。 通過(guò) AJAX,JavaScript 可使用 JavaScript 的 XMLHttpRequest 對(duì)象來(lái)直接與服務(wù)器進(jìn)行通信。通過(guò)這個(gè)對(duì)象,您的 JavaScript 可在不重載頁(yè)面的情況與 Web 服務(wù)器交換數(shù)據(jù)。AJAX 在瀏覽器與 Web 服務(wù)器之間使用異步數(shù)據(jù)傳輸(HTTP 請(qǐng)求),這樣就可使網(wǎng)頁(yè)從服務(wù)器請(qǐng)求少量的信息,而不是整個(gè)頁(yè)面。
48、AJAX 可使因特網(wǎng)應(yīng)用程序更小、更快,更友好。AJAX 是一種獨(dú)立于 Web 服務(wù)器軟件的瀏覽器技術(shù)。</p><p> ASP.NET Ajax 開發(fā)代號(hào)Atlas是一個(gè)新的Web技術(shù)開發(fā)包,它集成了一套非常大的客戶端腳本庫(kù)使得與功能豐富的、基于服務(wù)器開發(fā)平臺(tái)的 ASP.NET2.0結(jié)合在一起,”Atlas”能讓你開發(fā)的Web應(yīng)用能夠通過(guò)直接調(diào)用Web服務(wù)器來(lái)更新一個(gè)Web頁(yè)面的數(shù)據(jù)――不需要在頁(yè)面往返傳送
49、(也就是不需要多次刷新頁(yè)面)。使用”Atlas”,你能最大地利用ASP.NET和服務(wù)器端代碼在瀏覽器中來(lái)做許多工作,使得有更加豐富的用戶體驗(yàn)。 </p><p> 第四章 系統(tǒng)詳細(xì)設(shè)計(jì)</p><p><b> 4.1 注冊(cè)模塊</b></p><p> 注冊(cè)頁(yè)面實(shí)現(xiàn)為用戶注冊(cè)賬戶的功能,為進(jìn)入聊天室提供通行證,主要實(shí)現(xiàn)以下
50、功能:</p><p> 1.無(wú)刷新驗(yàn)證用戶名是否重復(fù)。</p><p> 2.設(shè)置問(wèn)題回答,方便找回密碼</p><p> 3.注冊(cè)頁(yè)面運(yùn)行后如圖4-1所示:</p><p><b> 圖4-1 注冊(cè)界面</b></p><p> 實(shí)現(xiàn)頁(yè)面無(wú)刷新代碼主要如下:</p>&
51、lt;p> <script language="javascript" type="text/javascript"></p><p> var XmlHttp;</p><p> function creat1() {</p><p> var s = document.getElementById
52、("Text1").value;</p><p> var url = "chulai.aspx?Text1=" + escape(s);</p><p> createhttpresponse();</p><p> XmlHttp.onreadystatechange = creat2;</p><
53、;p> XmlHttp.open("GET", url, true);</p><p> XmlHttp.send(null);</p><p><b> }</b></p><p> function creat2() {</p><p> var nameinfo = docume
54、nt.getElementById("span");</p><p> nameinfo.innerHTML = "正在查詢請(qǐng)稍后。。。。。";</p><p> if (XmlHttp.readyState == 4) {</p><p> if (XmlHttp.status == 200) {</p>
55、<p> var tep = XmlHttp.responseText;</p><p> if (tep > 0) { nameinfo.innerHTML = "用戶名已經(jīng)存在"; }</p><p> else { nameinfo.innerHTML = "用戶名可以使用"; }</p><p>
56、;<b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> function createhttpresponse() {</p><p> try { XmlHttp = new ActiveXObject(
57、"Msxml2.XMLHTTP"); }</p><p> catch (e) {</p><p> try { XmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }</p><p> catch (e) { XmlHttp = null; }</p>&l
58、t;p><b> }</b></p><p> if (!XmlHttp && typeof XMLHttpRequest != "undefined") { XmlHttp = new XMLHttpRequest(); }</p><p> return XmlHttp;</p><p>&l
59、t;b> }</b></p><p><b> </script></b></p><p><b> 4.2 登錄模塊</b></p><p> 系統(tǒng)運(yùn)行后,輸入聊天室登陸界面的地址即可顯示登陸頁(yè)面主要實(shí)現(xiàn)功能如下:</p><p> 用戶輸入賬號(hào)密碼和驗(yàn)證碼
60、即可登陸,賬號(hào)或密碼為空會(huì)有相應(yīng)的提示輸入賬號(hào)或密碼。</p><p> 1.沒(méi)有賬號(hào)的用戶可以點(diǎn)擊匿名登錄進(jìn)行聊天。</p><p> 2.忘記密碼的用戶可以點(diǎn)擊到密碼找回頁(yè)面。</p><p> 系統(tǒng)登陸界面如圖4-2所示:</p><p><b> 圖4-2登陸界面</b></p><p
61、> 登錄界面的主要代碼如下:</p><p> if (txtlogin.Text != "" && txtpassword.Text != "")</p><p><b> {</b></p><p> string sql = string.Format("se
62、lect count(*) from zhuce where login='{0}' and password='{1}'", txtlogin.Text, txtpassword.Text);</p><p> SqlCommand com = new SqlCommand(sql, DBhelper.con);</p><p> DBhel
63、per.con.Open();</p><p> int result = (int)com.ExecuteScalar();</p><p> DBhelper.con.Close();</p><p> if (result == 0)</p><p><b> {</b></p><p&
64、gt; Response.Write("<script language=javascript>alert('用戶名或者密碼錯(cuò)誤!')</script>");</p><p><b> }</b></p><p><b> else</b></p><p>
65、<b> {</b></p><p> string sqll1 = string.Format("select * from zhuce where login='{0}'",txtlogin.Text);</p><p> SqlCommand cmd11 = new SqlCommand(sqll1, DBhelper.
66、con);</p><p> DBhelper.con.Open();</p><p> SqlDataReader r11 = cmd11.ExecuteReader();</p><p> string sqls="";</p><p> while (r11.Read())</p><p&
67、gt; sqls = string.Format("select count(*) from loginline where name='{0}'",r11["nicheng"].ToString());</p><p> SqlCommand comm = new SqlCommand(sqls, DBhelper.con);</p>&
68、lt;p> DBhelper.con.Close();</p><p> r11.Close();</p><p> DBhelper.con.Open();</p><p> int resultt = (int)comm.ExecuteScalar();</p><p> DBhelper.con.Close();<
69、/p><p> if (resultt != 0) { Response.Write("<script language=javascript>alert('該用戶應(yīng)已經(jīng)存在?')</script>"); }</p><p><b> else</b></p><p><b>
70、; {</b></p><p> string sqll = string.Format("select * from zhuce where login='{0}'",txtlogin.Text);</p><p> SqlCommand cmd1 = new SqlCommand(sqll, DBhelper.con);</p
71、><p> DBhelper.con.Open();</p><p> SqlDataReader r1 = cmd1.ExecuteReader();</p><p> while(r1.Read()){</p><p> Session["name"] = r1["nicheng"].ToStr
72、ing();</p><p> string sql1 = string.Format("insert into loginline(name,time) values('{0}','{1}')",r1["nicheng"].ToString(), DateTime.Now);</p><p> SqlComman
73、d cmd = new SqlCommand(sql1, DBhelper.con);</p><p> DBhelper.con.Close();</p><p> DBhelper.con.Open();</p><p> cmd.ExecuteNonQuery();</p><p> DBhelper.con.Close();&
74、lt;/p><p> Response.Redirect("Main.aspx");</p><p><b> }</b></p><p> r1.Close();</p><p><b> }</b></p><p><b> }<
75、/b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Response.Write("<script language=javascript>aler
76、t('用戶名或者密碼不能為空!')</script>");}</p><p><b> 4.3 聊天模塊</b></p><p> 通過(guò)登陸頁(yè)面之后,后跳入聊天的主頁(yè)面,主要實(shí)現(xiàn)如下功能:</p><p> 1.進(jìn)入頁(yè)面后聊天框中會(huì)顯示在線人數(shù)和聊天室提示信息。</p><p>
77、; 2.動(dòng)態(tài)顯示在線用戶列表。</p><p> 3.用戶進(jìn)行群聊、私聊發(fā)送之后內(nèi)容直接顯示在聊天框中,頁(yè)面不進(jìn)行整體刷新,將聊天內(nèi)容存入數(shù)據(jù)庫(kù)。</p><p> 聊天室運(yùn)行界面如圖4-3所示:</p><p><b> 圖4-3 聊天界面</b></p><p> 4.4 密碼找回模塊</p>
78、<p> 密碼找回模塊是校驗(yàn)用戶在注冊(cè)時(shí)候填寫的問(wèn)題來(lái)進(jìn)行密碼找回的。實(shí)現(xiàn)如下功能</p><p> 1.用戶根據(jù)問(wèn)題校驗(yàn)進(jìn)行密碼找回。</p><p> 2.校驗(yàn)通過(guò)可自己從新設(shè)置新密碼</p><p> 密碼找回頁(yè)面如圖4-4所示: </p><p> 圖4-4 密碼找回界面</p><p>
79、 密碼找回主要代碼如下:</p><p> string sql = string.Format("select * from zhuce where login='{0}'", txtname.Text);</p><p> SqlCommand com = new SqlCommand(sql, DBhelper.con);</p>
80、<p> DBhelper.con.Open();</p><p> SqlDataReader r1 = com.ExecuteReader();</p><p> if (r1.Read())</p><p><b> {</b></p><p> if (r1["onequesti
81、on"].ToString() == DropDownList1.SelectedValue && r1["oneanswer"].ToString() == txtanswer.Text || r1["twoquestion"].ToString() == DropDownList1.SelectedValue && r1["twoanswer
82、"].ToString() == txtanswer.Text)</p><p><b> {</b></p><p> string sql1 = string.Format("update zhuce set password='{0}' where login='{1}'", txtpwd.Tex
83、t, txtname.Text);</p><p> SqlCommand com1 = new SqlCommand(sql1, DBhelper.con);</p><p> r1.Close();</p><p> com1.ExecuteNonQuery();</p><p> div1.Style["display
84、"] = "none";</p><p> xiugai.Style["display"] = "block";</p><p><b> }</b></p><p> else { Response.Write("<script language=ja
85、vascript>alert('問(wèn)題回答錯(cuò)誤!')</script>"); }</p><p><b> }</b></p><p> DBhelper.con.Close();</p><p> 4.5 修改密碼模塊</p><p> 通過(guò)原來(lái)的密碼可以修改密碼。實(shí)現(xiàn)
86、如下功能:</p><p> 1.輸入舊密碼通過(guò)校驗(yàn)就可以設(shè)置新密碼</p><p> 2.舊密碼輸入錯(cuò)誤會(huì)給出相應(yīng)的提示</p><p><b> 修改密碼頁(yè)面如下:</b></p><p> 圖4-5修改密碼界面</p><p> 修改密碼主要代碼如下:</p><
87、;p> string sql = string.Format("select count(*) from zhuce where login='{0}'and password='{1}' ", txtname.Text, txtoldpwd.Text);</p><p> SqlCommand com = new SqlCommand(sql, DB
88、helper.con);</p><p> DBhelper.con.Open();</p><p> int result = (int)com.ExecuteScalar();</p><p> DBhelper.con.Close();</p><p> if (result > 0)</p><p&g
89、t;<b> {</b></p><p> string sql1 = string.Format("update zhuce set password='{0}' where login='{1}'", txtnewpwd.Text, txtname.Text);</p><p> SqlCommand co
90、mm = new SqlCommand(sql1, DBhelper.con);</p><p> DBhelper.con.Open();</p><p> int a = comm.ExecuteNonQuery();</p><p> DBhelper.con.Close();</p><p> if (a > 0)<
91、;/p><p><b> {</b></p><p> div1.Style["display"] = "none";</p><p> xiugai.Style["display"] = "block";</p><p><b>
92、; }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Response.Write("<script language=javascript
93、>alert('密碼錯(cuò)誤!')</script>");</p><p><b> }</b></p><p> 第五章 系統(tǒng)調(diào)試與維護(hù)</p><p><b> 5.1 系統(tǒng)調(diào)試</b></p><p> 無(wú)論設(shè)計(jì)者的計(jì)劃多么精密、經(jīng)驗(yàn)多么豐富,腳
94、本錯(cuò)誤(bug)可能在最初就使ASP.NET 服務(wù)器端的腳本無(wú)法正確運(yùn)行。也就是說(shuō)調(diào)試,即查找和糾正腳本錯(cuò)誤,對(duì)開發(fā)一個(gè)成功的和強(qiáng)健的 ASP.NET 程序是非常重要的。</p><p> 5.1.1 Microsoft 腳本調(diào)試工具</p><p> Microsoft Script Debugger 是一個(gè)功能強(qiáng)大的調(diào)試工具,它能迅速查找錯(cuò)誤并對(duì)服務(wù)器端的腳本進(jìn)行交互測(cè)試。Scri
95、pt Debugger 與 Windows Internet Explorer 3.0 版本或更新的版本一起工作。通過(guò)它,就可以: </p><p> 1.逐行運(yùn)行服務(wù)器端腳本。 </p><p> 2.在服務(wù)器端腳本執(zhí)行時(shí),打開命令窗口監(jiān)視變量、屬性或數(shù)組元素的值。 </p><p> 3.在特定行設(shè)置暫停標(biāo)記,掛起服務(wù)器端腳本(
96、使用調(diào)試工具或腳本命令)。 </p><p> 4.在運(yùn)行服務(wù)器端腳本時(shí)跟蹤過(guò)程。 </p><p> 可以使用調(diào)試工具查看腳本并找到錯(cuò)誤所在,但是不能直接編輯腳本。要想改正錯(cuò)誤,必須用編輯器編輯腳本然后保存,再運(yùn)行腳本。(該功能不能用于 Windows 95 或更高的版本。)</p><p> 5.2.2 啟用調(diào)試</p>
97、<p> 在開始調(diào)試服務(wù)器端腳本之前,必須首先配置 Web 服務(wù)器,使其支持 ASP.NET 調(diào)試。在啟用 Web 服務(wù)器調(diào)試之后,就可以使用下面的任一方法調(diào)試腳本:</p><p> 手工打開 Microsoft 腳本調(diào)試器,調(diào)試 ASP.NET 服務(wù)器端腳本。 </p><p> 使用 Internet Explorer 請(qǐng)求 .aspx 文件。如果該文件包含
98、錯(cuò)誤或人為添加的停止執(zhí)行語(yǔ)句,那么 Microsoft 腳本調(diào)試程序?qū)⒆詣?dòng)啟動(dòng),顯示該腳本,并且指出錯(cuò)誤來(lái)源。</p><p><b> 1. 腳本錯(cuò)誤</b></p><p> 調(diào)試服務(wù)器端腳本時(shí),可能會(huì)碰到各種類型的錯(cuò)誤。其中的某些錯(cuò)誤使腳本無(wú)法正確執(zhí)行程序停止執(zhí)行或返回錯(cuò)誤結(jié)果。</p><p><b> 2.語(yǔ)法錯(cuò)誤&l
99、t;/b></p><p> 語(yǔ)法錯(cuò)誤是經(jīng)常碰到的錯(cuò)誤,它是由不正確的腳本語(yǔ)法導(dǎo)致的。例如,命令拼寫錯(cuò)誤或傳遞給函數(shù)的參數(shù)不正確都將產(chǎn)生錯(cuò)誤。</p><p><b> 3.運(yùn)行時(shí)錯(cuò)誤</b></p><p> 運(yùn)行時(shí)錯(cuò)誤是腳本在執(zhí)行過(guò)程中腳本指令試圖執(zhí)行不可能的動(dòng)作而導(dǎo)致的。必須糾正導(dǎo)致運(yùn)行時(shí)錯(cuò)誤的錯(cuò)誤,這樣才能使腳本在運(yùn)行時(shí)不被
100、中斷。</p><p><b> 4.邏輯錯(cuò)誤</b></p><p> 邏輯錯(cuò)誤通常可能是潛在和難以檢測(cè)的。如果有因鍵入錯(cuò)誤或程序邏輯流程錯(cuò)誤引起的邏輯錯(cuò)誤,腳本可能會(huì)成功運(yùn)行,但產(chǎn)生的結(jié)果卻是錯(cuò)的。例如,一服務(wù)器端腳本計(jì)劃對(duì)一個(gè)值列表排序,如果本應(yīng)使用 “<” 符號(hào)比較數(shù)值,但卻使用了“ >” 符號(hào),那么將返回不正確的排序結(jié)果。</p>
101、<p> 5.3.3 錯(cuò)誤調(diào)試技術(shù)</p><p> 可以使用多種不同的調(diào)試技術(shù)來(lái)查找錯(cuò)誤的根源并測(cè)試應(yīng)用程序。</p><p> 1.實(shí)時(shí) (Just-In-Time, JIT) 調(diào)試 當(dāng)一個(gè)運(yùn)行時(shí)錯(cuò)誤中斷了 ASP 腳本的執(zhí)行時(shí),Microsoft 腳本調(diào)試程序自動(dòng)啟動(dòng),顯示 .aspx 文件,將語(yǔ)句指針指向?qū)е洛e(cuò)誤的行,并產(chǎn)生錯(cuò)誤消息。這種調(diào)試方式稱為實(shí)時(shí) (J
102、IT) 調(diào)試,計(jì)算機(jī)將暫停程序的執(zhí)行。必須用編輯程序糾正這些錯(cuò)誤,保存所做的修正,然后再運(yùn)行腳本。</p><p><b> 2.斷點(diǎn)調(diào)試</b></p><p> 當(dāng)一個(gè)錯(cuò)誤發(fā)生并且很難找到錯(cuò)誤的根源時(shí),可使用預(yù)設(shè)斷點(diǎn)的調(diào)試方法。斷點(diǎn)將腳本暫停在特定一行??梢栽谀_本中有疑問(wèn)處設(shè)置一個(gè)或多個(gè)不同的斷點(diǎn),然后使用調(diào)試器去改正腳本中設(shè)置的變量或?qū)傩缘闹?。?dāng)糾正這些錯(cuò)誤
103、之后,可以清除斷點(diǎn)以便腳本能不間斷地運(yùn)行。請(qǐng)用 Microsoft 腳本調(diào)試程序打開腳本,設(shè)置斷點(diǎn)。然后用 Web 瀏覽器請(qǐng)求此腳本。當(dāng)執(zhí)行到腳本中含有斷點(diǎn)的行時(shí),計(jì)算機(jī)啟動(dòng)腳本調(diào)試程序,并且語(yǔ)句指針會(huì)指在設(shè)置了斷點(diǎn)的行上。</p><p> 3.VBScript Stop 語(yǔ)句調(diào)試器</p><p> 通過(guò)在服務(wù)器端腳本中有問(wèn)題的部分前面插入 Stop 語(yǔ)句,也可以將斷點(diǎn)添加到用 V
104、BScript 編寫的服務(wù)器端腳本中。當(dāng)在請(qǐng)求 Web 瀏覽器使用的先前的腳本時(shí),調(diào)試程序啟動(dòng)并自動(dòng)顯示 .aspx 文件,而且語(yǔ)句指針會(huì)指示 stop 語(yǔ)句的位置。一定要記住從交付使用的 .aspx 文件中刪除 Stop 語(yǔ)句。</p><p> 4.用 JScript Debugger 語(yǔ)句調(diào)試</p><p> 要將斷點(diǎn)加到用 Microsoft JScript 編寫的服務(wù)器端腳
105、本中,可在有疑問(wèn)的行前插入 debugger 語(yǔ)句。例如,下面的腳本包含了 debugger 語(yǔ)句,每次腳本循環(huán)到一個(gè)新值時(shí),就會(huì)中斷執(zhí)行并自動(dòng)啟動(dòng) Microsoft 腳本調(diào)試程序。不要混淆 debugger 語(yǔ)句和 JScript break 語(yǔ)句。在程序執(zhí)行期間,break 語(yǔ)句僅退出當(dāng)前循環(huán),并不激活 Microsoft 腳本調(diào)試器,也不暫停程序的執(zhí)行。除腳本調(diào)試程序外,一套好的調(diào)試技巧也能減少花費(fèi)在分析腳本錯(cuò)誤根源上的大量時(shí)間
106、。盡管大部分錯(cuò)誤是由顯而易見(jiàn)的根源導(dǎo)致的,但命令拼寫錯(cuò)誤或丟失變量、某種類型的邏輯和執(zhí)行錯(cuò)誤也可能因不太明顯的根源所致。</p><p><b> 5.2 系統(tǒng)維護(hù)</b></p><p> 千萬(wàn)不要輕視正確配置安全設(shè)置的重要性。如果不正確配置安全設(shè)置,不但會(huì)使 ASP.NET 應(yīng)用程序遭受不必要的篡改,而且會(huì)妨礙正當(dāng)用戶訪問(wèn) .aspx 文件。Web 服務(wù)器提供
107、了各種方法來(lái)保護(hù) ASP 應(yīng)用程序免受未授權(quán)的訪問(wèn)和篡改。</p><p> 5.2.1 NTFS 權(quán)限</p><p> 可以通過(guò)為單獨(dú)的文件和目錄應(yīng)用 NTFS 訪問(wèn)權(quán)限來(lái)保護(hù) ASP.NET 應(yīng)用程序文件。NTFS 權(quán)限是 Web 服務(wù)器安全性的基礎(chǔ),它定義了一個(gè)或一組用戶訪問(wèn)文件和目錄的不同級(jí)別。當(dāng)擁有 Windows NT 有效帳號(hào)的用戶試圖訪問(wèn)一個(gè)有權(quán)限限制的文件時(shí),計(jì)算機(jī)
108、將檢查文件的 訪問(wèn)控制表 (ACL)。該表定義了不同用戶和用戶組所被賦予的權(quán)限。如果用戶的帳號(hào)具有打開文件的權(quán)限,計(jì)算機(jī)則允許該用戶訪問(wèn)文件。例如,Web 服務(wù)器上的 Web 應(yīng)用程序的所有者需要有“更改”權(quán)限來(lái)查看、更改和刪除應(yīng)用程序的 .aspx 文件。但是,訪問(wèn)該應(yīng)用程序的公共用戶應(yīng)僅被授予“只讀”權(quán)限,以便將其限制為只能查看而不能更改應(yīng)用程序的 Web 頁(yè)。</p><p> 5.2.2 維護(hù) Glob
109、al.asax 的安全</p><p> 為了充分保護(hù) ASP 應(yīng)用程序,一定要在應(yīng)用程序的 Global.asax 文件上為適當(dāng)?shù)挠脩艋蛴脩艚M設(shè)置 NTFS 文件權(quán)限。如果 Global.asax 包含向?yàn)g覽器返回信息的命令而沒(méi)有保護(hù) Global.asax 文件,則信息將被返回給瀏覽器,即便應(yīng)用程序的其他文件被保護(hù)。</p><p> 5.2.3 Web 服務(wù)器權(quán)限</p&g
110、t;<p> 可以通過(guò)配置的 Web 服務(wù)器的權(quán)限來(lái)限制所有用戶查看、運(yùn)行和操作 ASP 頁(yè)方式。不同于 NTFS 權(quán)限提供的控制特定用戶對(duì)應(yīng)用程序文件和目錄的訪問(wèn)方式,Web 服務(wù)器權(quán)限應(yīng)用于所有用戶,并且不區(qū)分用戶帳號(hào)的類型。對(duì)于要運(yùn)行的 ASP.NET 應(yīng)用程序的用戶,在設(shè)置 Web 服務(wù)器權(quán)限時(shí),必須遵循下列原則:對(duì)包含 .aspx 文件的虛擬目錄允許“讀”或“腳本”權(quán)限。對(duì) .aspx 文件和其他包含腳本的文件
111、(如 .htm 文件等)所在的虛目錄允許“讀”和“腳本”權(quán)限。 對(duì)包含 .aspx 文件和其他需要“執(zhí)行”權(quán)限才能運(yùn)行的文件(如 .exe 和 .dll 文件等)的虛目錄允許“讀”和“執(zhí)行”權(quán)限。</p><p> 5.2.4 Cookie 安全性</p><p> ASP 使用 SessionID cookie 跟蹤應(yīng)用程序訪問(wèn)或會(huì)話期間特定的 Web 瀏覽器的信息。這就是
112、說(shuō),帶有相應(yīng)的 cookie 的 HTTP 請(qǐng)求被認(rèn)為是來(lái)自同一 Web 瀏覽器。Web 服務(wù)器可以使用 SessionID cookies 配置帶有用戶特定會(huì)話信息的 ASP 應(yīng)用程序。例如,如果應(yīng)用程序一個(gè)允許用戶選擇和購(gòu)買 CD 唱盤的聯(lián)機(jī)音樂(lè)商店,就可以用 SessionID 跟蹤用戶。</p><p><b> 結(jié) 束 語(yǔ) </b></p><p> 幾
113、個(gè)月來(lái)忙碌緊張而又有條不紊的畢業(yè)設(shè)計(jì),使我有機(jī)會(huì)對(duì)本專業(yè)的基本理論、專業(yè)知識(shí)和基本技術(shù)有了更深入的了解和體會(huì),使我在三年中所學(xué)到的知識(shí)得到了系統(tǒng)和升華,真正達(dá)到了學(xué)以致用。</p><p> 對(duì)在線聊天室系統(tǒng)的體會(huì):</p><p> 在線聊天室系統(tǒng)是計(jì)算機(jī)科學(xué)與現(xiàn)代通信技術(shù)為一體的。它是運(yùn)用系統(tǒng)的方法以計(jì)算機(jī)和現(xiàn)代通信技術(shù)為基本信息處理手段和工具的,能為管理決策提供信息服務(wù)的人—機(jī)系
114、統(tǒng).它必須嚴(yán)格的按照系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)施、系統(tǒng)運(yùn)行與評(píng)價(jià)的開發(fā)步驟來(lái)進(jìn)行。</p><p> 在系統(tǒng)開發(fā)之前,必須了解該系統(tǒng)的特點(diǎn)、適用范圍以及使用者需要一個(gè)什么樣的系統(tǒng),以此作為基礎(chǔ)為開發(fā)系統(tǒng)準(zhǔn)確定位,然后對(duì)使用者所需實(shí)現(xiàn)的功能進(jìn)行分析總結(jié),根據(jù)使用者的實(shí)際要求來(lái)給系統(tǒng)設(shè)計(jì)一個(gè)初步方案。系統(tǒng)的開發(fā)要實(shí)現(xiàn)對(duì)數(shù)據(jù)處理的及時(shí)與正確。</p><p> 在設(shè)計(jì)的過(guò)程中,我掌
115、握了很多ASP.NET和AJAX的編程知識(shí),并對(duì)這種成熟并廣泛應(yīng)用的技術(shù)進(jìn)行了深入的學(xué)習(xí)。開始我并不知道什么事AJAX,通過(guò)學(xué)習(xí)我知道如何運(yùn)用AJAX控件。設(shè)計(jì)的過(guò)程也是一個(gè)再學(xué)習(xí)的過(guò)程,在遇到問(wèn)題的時(shí)候我盡量自己想辦法解決,這在很大程度上激發(fā)了我們的自學(xué)能力;在沒(méi)有辦法解決的情況下,認(rèn)真的向老師請(qǐng)教,從老師那里我學(xué)到了很多的知識(shí),老師對(duì)我的指導(dǎo)起到了畫龍點(diǎn)睛的作用。</p><p> 以往我們?cè)?jīng)有過(guò)多次設(shè)計(jì)
116、的體會(huì),但只是設(shè)計(jì)一個(gè)模塊或一個(gè)小系統(tǒng),而這一次畢業(yè)設(shè)計(jì)是綜合所學(xué)的計(jì)算機(jī)的知識(shí)來(lái)設(shè)計(jì)本系統(tǒng)。要想設(shè)計(jì)使用戶滿意,就需要我們付出更多的努力。我在設(shè)計(jì)中經(jīng)常出現(xiàn)一些問(wèn)題不知該如何解決,在此時(shí)許多同學(xué)給予了我們幫助。在設(shè)計(jì)的過(guò)程中增加了于實(shí)際接觸的機(jī)會(huì),不僅培養(yǎng)了我的自學(xué)和編程能力,讓我在即將離開學(xué)校進(jìn)入社會(huì)之前有了一定的資本,提高了我與人溝通的能力。</p><p><b> 程序設(shè)計(jì)中的體會(huì):<
117、/b></p><p> 在我的程序設(shè)計(jì)過(guò)程中,我充分的體會(huì)到了“實(shí)踐出真知”這一點(diǎn),書本上的知識(shí)是不夠的,只有把理論與實(shí)踐相結(jié)合才能夠真正的學(xué)到知識(shí)。我現(xiàn)在在一家公司做測(cè)試工作,我深知任何成程序都不可能完美,系統(tǒng)中還存在或多或少的問(wèn)題,有待在日后的使用中發(fā)現(xiàn)和解決。編程前的深思熟慮是減少程序調(diào)試工作量的重要方法,只有進(jìn)行充分考慮,才會(huì)減少調(diào)試過(guò)程中的工作量。</p><p>&l
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——網(wǎng)上聊天室
- 畢業(yè)論文——網(wǎng)上聊天室 (3)
- 畢業(yè)論文——網(wǎng)上聊天室 (3)
- 畢業(yè)論文——網(wǎng)上聊天室 (3)
- 畢業(yè)論文——網(wǎng)上聊天室 (2)
- 網(wǎng)上聊天室.doc
- 網(wǎng)上聊天室.doc
- 網(wǎng)上聊天室.doc
- 網(wǎng)上聊天室.doc
- 網(wǎng)上聊天室.doc
- asp網(wǎng)上聊天室系統(tǒng)設(shè)計(jì)與開發(fā)帶論文
- asp網(wǎng)上聊天室系統(tǒng)設(shè)計(jì)與開發(fā)帶論文
- 基于JSP的網(wǎng)上聊天室系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 局域網(wǎng)通訊聊天室-計(jì)算機(jī)畢業(yè)論文
- 畢業(yè)論文---多人聊天室設(shè)計(jì)
- 基于java的聊天室設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于java的聊天室設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 基于asp.net的網(wǎng)上聊天系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- java聊天室畢業(yè)論文
- 畢業(yè)論文asp聊天室
評(píng)論
0/150
提交評(píng)論