網(wǎng)頁設(shè)計(jì)與制作12_第1頁
網(wǎng)頁設(shè)計(jì)與制作12_第2頁
網(wǎng)頁設(shè)計(jì)與制作12_第3頁
網(wǎng)頁設(shè)計(jì)與制作12_第4頁
網(wǎng)頁設(shè)計(jì)與制作12_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、網(wǎng)頁制作與設(shè)計(jì)第十二章 ASP動(dòng)態(tài)網(wǎng)頁制作基礎(chǔ) ASP的工作方式與客戶端腳本不同,其實(shí)質(zhì)是在服務(wù)器端由asp腳本動(dòng)態(tài)生成靜態(tài)html網(wǎng)頁,再送回客戶端。這種方式使得ASP能創(chuàng)建真正具有動(dòng)態(tài)內(nèi)容的網(wǎng)頁。其完善的內(nèi)置對(duì)象體系使其功能非常完備,而其內(nèi)置組件和組件的可擴(kuò)展性使其功能更為強(qiáng)大,而且易于使用。教學(xué)重點(diǎn)與難點(diǎn)ASP的工作方式ASP的內(nèi)置對(duì)象ASP的內(nèi)置組件12.1 ASP簡(jiǎn)介一、什么是ASPASPActive Server Pages二、ASP的工作方式 對(duì)于服務(wù)器來說,ASP頁與普通HTML頁是不同的。普通HTML文件不經(jīng)處理就發(fā)送至瀏覽器;而ASP文件需要先編譯,利用動(dòng)態(tài)內(nèi)容,生成HTM

2、L文件,再發(fā)送至瀏覽器。三、ASP的工作平臺(tái)四、怎樣用ASP編寫動(dòng)態(tài)網(wǎng)頁 1 創(chuàng)建ASP網(wǎng)頁 如果要在HTML文件中添加腳本,只需將該文件的擴(kuò)展名.htm或.html替換為.asp就可以了。使用任何的文本編輯器都可以創(chuàng)建.asp文件,常用的編輯ASP頁的軟件有Visual Interdev、ASP Editor等。 2 使用腳本語言 任何與ActiveX腳本標(biāo)準(zhǔn)兼容的腳本語言都可在ASP中使用經(jīng)常被使用的有VBScript、JavaScript、Perl或REXX等。 由于腳本是在服務(wù)器端讀取和處理的,所以請(qǐng)求.asp文件的客戶端瀏覽器并不需要支持腳本語言。 將腳本加入ASP最簡(jiǎn)單的方法是使用

3、腳本定界符。12.2 VBScript腳本語言簡(jiǎn)介 VBScript是Visual Basic的一個(gè)子集,編程方法和Visual Basic基本相同。一、VBScript的數(shù)據(jù)和運(yùn)算符 1. 數(shù)據(jù)類型 VBScript只有一種數(shù)據(jù)類型,即Variant類型,Variant類型可以在不同場(chǎng)合代表不同類型的數(shù)據(jù)。 2 變量 (1)聲明變量:顯式聲明和隱式聲明。 顯式聲明要用到Dim語句。例如: 隱式聲明是指腳本中第一次使用變量時(shí),就自動(dòng)創(chuàng)建該變量。例如: (2)變量命名約定 VBScript不區(qū)分大小寫。 (3)變量的作用域 過程內(nèi)部聲明的變量稱為過程級(jí)變量或局部變量,這樣的變量只有在聲明它們的過

4、程中才能使用,即無法在過程外部訪問;過程外部聲明的變量稱為腳本級(jí)變量或全局變量,即在同一個(gè).asp文件中的任何腳本命令均可訪問和修改該變量的值。過程級(jí)和腳本級(jí)變量可以同名,修改其中一個(gè)變量的值,不會(huì)影響另一個(gè)。 3 常量 在程序執(zhí)行期間,常量的值不會(huì)發(fā)生改變,可以在代碼的任何位置使用常量代替實(shí)際值。在VBScript中,還可以用Const語句來定義自己的常量。Const conPi=3.14159265358979 4 數(shù)組 具有相同名字不同下標(biāo)值的一組變量稱為數(shù)組變量,簡(jiǎn)稱數(shù)組。 (1) 固定數(shù)組 (2) 動(dòng)態(tài)數(shù)組 5 運(yùn)算 (1)算術(shù)運(yùn)算 (2)連接運(yùn)算 (3)關(guān)系運(yùn)算 (4)邏輯運(yùn)算 (

5、5) 運(yùn)算符的優(yōu)先順序二、VBScript的語句 1 一般語句 (1)注釋語句 注釋符采用西文單引號(hào)“” (2)賦值語句 2 控制語句 (1)選擇結(jié)構(gòu) 單行if語句和塊if語句 select case語句 (2) 循環(huán)結(jié)構(gòu) Do-Loop循環(huán):重復(fù)執(zhí)行一個(gè)語句塊,重復(fù)次數(shù)不定。 For循環(huán):For循環(huán)含有一個(gè)計(jì)數(shù)變量,每重復(fù)一次循環(huán),計(jì)數(shù)變量的值就會(huì)增加或減少。For counter=start To end Step increment statementsNext counter 3 with語句 with語句用于對(duì)某個(gè)對(duì)象執(zhí)行一系列操作,而不用重復(fù)指出對(duì)象的名字。 4 過程 過程是用來執(zhí)

6、行特定任務(wù)的獨(dú)立的程序代碼。VBScript根據(jù)是否返回值將過程劃分為Sub過程(子過程)和Function過程(函數(shù))。 (1)子過程 子過程是不返回值的過程:Sub procedurename(arguments)statementsEndSub 用Call語句調(diào)用子過程的語法是: Call procedurename(arguments) 用子過程名直接調(diào)用的語法是:procedurename arguments (2)函數(shù) 函數(shù)有一個(gè)最重要的特點(diǎn),就是調(diào)用時(shí)將返回一個(gè)值。函數(shù)的語法是:Function funname(arguments) statementsfunname=expre

7、ssion statementsEnd Function 函數(shù)中至少要含有一條為函數(shù)設(shè)置返回值的語句。 (3)按地址傳遞和按值傳遞 默認(rèn)時(shí),參數(shù)是按地址傳遞,即過程按變量的內(nèi)存地址去訪問實(shí)際變量的內(nèi)容。這樣將變量傳給過程時(shí),通過過程就可以改變變量的值。如果在編程時(shí)想明確指定參數(shù)是按地址傳遞的,請(qǐng)用關(guān)鍵字ByRef。如果想按值傳遞參數(shù),請(qǐng)用ByVal關(guān)鍵字。 (4)數(shù)組參數(shù) 數(shù)組作為參數(shù)傳遞時(shí),與普通參數(shù)有些不同。過程中聲明數(shù)組參數(shù)時(shí),必須略去數(shù)組的長度,即設(shè)置一個(gè)動(dòng)態(tài)數(shù)組,因?yàn)檫^程被調(diào)用前通常無法預(yù)知數(shù)組的長度。由于數(shù)組參數(shù)沒有聲明長度,因而調(diào)用時(shí)可以使用任意長度的數(shù)組作為輸入值。在調(diào)用語句中

8、,只需給出要傳遞的數(shù)組名即可,不必包括數(shù)組的下標(biāo)及圓括號(hào)。12.3 ASP內(nèi)置對(duì)象一、 Request對(duì)象 在ASP中,將“客戶端請(qǐng)求”與“服務(wù)器響應(yīng)”的動(dòng)作封裝成Request對(duì)象與Response對(duì)象。Request對(duì)象通常包括了客戶端的相關(guān)信息,如瀏覽器的種類、表頭信息、表單參數(shù)及cookies等。Request對(duì)象的語法格式如下: Request.collection|property|method(variable) 其中collection表示Request對(duì)象的數(shù)據(jù)集合,property表示其屬性,method表示其方法,變量參數(shù)(variable)是一些字符串,這些字符串或者指

9、定要從集合中檢索的項(xiàng)目,或者作為方法或?qū)傩缘妮斎搿?1. Request對(duì)象的屬性 Request對(duì)象的屬性只有一個(gè):Request.TotalBytes。這是一個(gè)只讀屬性,存放著客戶端通過HTTP請(qǐng)求發(fā)送的正文的字節(jié)總數(shù)。 2. Request對(duì)象的方法 Request對(duì)象的方法也只有一個(gè):Request.BinaryRead。用于檢索從客戶端發(fā)送到服務(wù)器作為POST請(qǐng)求的一部分的數(shù)據(jù)。 3. Request對(duì)象的數(shù)據(jù)集合 Request對(duì)象按照數(shù)據(jù)的不同功能將其分成了Form、QueryString、Cookies、ServerVariables及ClientCertificate等數(shù)據(jù)集

10、合。二、Response對(duì)象 Response對(duì)象用于動(dòng)態(tài)響應(yīng)客戶端請(qǐng)求(Request),并將動(dòng)態(tài)生成的響應(yīng)結(jié)果返回到客戶端瀏覽器中,使用Response對(duì)象可以動(dòng)態(tài)創(chuàng)建web頁面,改變HTTP標(biāo)題頭,還可以自動(dòng)將客戶端重定向(Redirect)到一個(gè)指定的頁面中,另外如要向客戶端寫入Cookies時(shí),Response對(duì)象也是一種很好的工具。 Response的使用語法為: Response.collection|property|method 其中collection表示Response對(duì)象的集合,property表示Response對(duì)象的屬性,method表示Response對(duì)象的方法。

11、 1. Response對(duì)象的方法Response.Write任何類型數(shù)據(jù)Response.Redirect URLResponse.FlushResponse.End 2. Response對(duì)象屬性Buffer屬性CacheControl屬性Charset屬性ContentType屬性Expires屬性ExpiresAbsolute屬性IsClientConnected屬性PICS屬性Status屬性 3. Response對(duì)象的數(shù)據(jù)集合 Response對(duì)象只有Cookies一個(gè)數(shù)據(jù)集合。三、Sever對(duì)象 Server 對(duì)象提供對(duì)服務(wù)器上的方法和屬性的訪問,其中大多數(shù)方法和屬性是作為實(shí)用

12、程序的功能服務(wù)的。語法如下:Sperty|method 其中property表示Server對(duì)象的屬性,method表示Server對(duì)象的方法。 1. Servr對(duì)象屬性 Server的屬性只有一個(gè)ScriptTimeout屬性。該屬性表示超時(shí)值,即腳本運(yùn)行超過這一時(shí)間之后作超時(shí)處理。 2. Server對(duì)象方法 Server對(duì)象提供來了CreateObject、HTMLEncode、MapPath、URLEncode等方法。四、Session對(duì)象 在ASP中,通過Session對(duì)象記錄用戶的相關(guān)信息,用來作為用戶再次對(duì)服務(wù)器提供要求時(shí)作確認(rèn)。當(dāng)用戶請(qǐng)求來自應(yīng)用程序的 Web 頁時(shí),如果該用戶

13、還沒有會(huì)話,則 Web 服務(wù)器將自動(dòng)創(chuàng)建一個(gè)Session對(duì)象。當(dāng)會(huì)話過期或被放棄后,服務(wù)器將終止該會(huì)話。會(huì)話狀態(tài)僅在支持Cookie的瀏覽器中保留。語法如下:Session.collection|property|method Session對(duì)象在global.asa文件中聲明兩個(gè)事件Session_OnEnd、Session_OnStart的腳本。 1. Session對(duì)象的事件 Session對(duì)象對(duì)應(yīng)兩個(gè)事件: Session_OnEnd、Session_OnStart。 2. Session對(duì)象的方法 Session對(duì)象只提供了Abandon方法,Abandon 方法刪除所有存儲(chǔ)在Se

14、ssion對(duì)象中的對(duì)象并釋放這些對(duì)象的源。 3.Session對(duì)象的屬性 Session對(duì)象提供屬性包括TimeOut、SessionID、CodePage、LCID等。五、 Application對(duì)象 Application對(duì)象是對(duì)所有用戶,Session對(duì)象是對(duì)單一用戶。因?yàn)槎鄠€(gè)用戶可以共享Application對(duì)象,所以必須要有Lock和Unlock方法以確保多個(gè)用戶無法同時(shí)改變某一屬性。其語法如下:Application.method 1.Application對(duì)象的事件 當(dāng)每個(gè)Application對(duì)象開始時(shí),會(huì)激活一個(gè)Application_OnStart事件;當(dāng)Applicati

15、on對(duì)象結(jié)束時(shí)會(huì)激活一個(gè)Application_OnEnd事件。 2. Application對(duì)象的方法 Application對(duì)象提供了Lock方法與UnLock方法.語法如下:Application.Lock 鎖定Apploication對(duì)象Application.UnLock 解鎖Apploication對(duì)象 3.Application對(duì)象的數(shù)據(jù)集合 Application對(duì)象數(shù)據(jù)集合包括Contents數(shù)據(jù)集合與StaticObject數(shù)據(jù)集合。六、ObjectContext對(duì)象 使用ObjectContext對(duì)象,就允許程序在網(wǎng)頁中直接配合Microsoft Transaction

16、Server(MTS)使用,從而可以管理或開發(fā)高效率的Web服務(wù)器應(yīng)用程序。 1.ObjectContext對(duì)象的使用 ObjectContext對(duì)象使用是在ASP中使用TRANSACTIO關(guān)鍵字來完成的,語法如下: 2. ObjectContext對(duì)象的方法 ObjectContext提供了SetAbort方法與SetComplete方法。 3.ObjectContext對(duì)象的事件處理程序 ObjectContext對(duì)象提供了OnTransactionCommit、OnTransactionAbort兩個(gè)事件處理程序,前者是在事務(wù)完成時(shí)被激活,后者是在事務(wù)失敗時(shí)激活。語法如下:SubOnTr

17、ansactionCommit() 處理程序End Sub12.4 ASP內(nèi)置組件 ASP的內(nèi)置組件有13種,還可以安裝其它組件。一、 Ad Rotator組件 使用Ad Rotator組件可以很容易的實(shí)現(xiàn)在網(wǎng)頁上插入一個(gè)循環(huán)播放廣告橫幅的播放器。 1.Ad Rotator組件相關(guān)文件 一般來說,Ad Rotator組件除了必要的Adrot.dll文件外,還要有循環(huán)定時(shí)文件,另外也可以有重定向文件。 2. Ad Rotator組件的屬性和方法二、Browser Capabilities組件 Brower Capabilities組件可以輕松地獲取客戶端瀏覽器的類型,據(jù)此,啟用瀏覽器支持的特性,

18、屏蔽不支持的特性。 Browser Capabilities組件除包含一系列屬性、方法外,也有一個(gè)外部驅(qū)動(dòng)文件Browscap.ini文件。 1. Browscap.ini文件 主要定義了各種瀏覽器所具有的屬性。 2.Browser Capabilities組件的使用 同Ad Rotator組件一樣。三、 File Access組件 用來訪問計(jì)算機(jī)文件系統(tǒng)的方法和屬性。 File Access組件是由FileSystemObject對(duì)象、TextStream對(duì)象組成。 1. FileSystemObject對(duì)象 FileSystemObject對(duì)象提供對(duì)計(jì)算機(jī)文件系統(tǒng)的訪問,共有24種方法和一種屬性。其語法如下:Scripting.FileSystemObject 2. TextStream對(duì)象 TextStream對(duì)象的使用可以有助于順序訪問文件,可以協(xié)助利用File Access組件啟動(dòng)或建立的文件。語法如下:TextSperty | method四、 Content Linking組件 Content Linking組件的主要目的在于管理網(wǎng)頁或網(wǎng)址間的超文本鏈接,可以通過一個(gè)網(wǎng)頁或網(wǎng)址的線性排列順序列表來管理多個(gè)網(wǎng)頁或網(wǎng)址間的超文本鏈接順序。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論