一、ASP基礎(chǔ)。ASP是Ff1ML代碼與程序代碼的結(jié)合體,下面找們就來學(xué)習(xí)ASP的相關(guān)知識。
(一)ASI,中的.i1ML代碼與程序代碼
與一般的應(yīng)用程序不同,.asp程序無須編譯.其控制部分是使用VBSctipt, ]avaScript等腳本語官來編寫的,其程序部分由Web來解釋執(zhí)行,網(wǎng)站制作在執(zhí)行時(shí)腳本程序?qū)⒁徽酌畎l(fā)送給腳本解釋器,由腳本解釋器進(jìn)行翻譯.并將其轉(zhuǎn)換成服務(wù)器所能執(zhí)行的命令。AS!,本身不是腳本語言,它只提供了一種鑲嵌在HTML頁面中的腳本程序褥以運(yùn)行的環(huán)境。若瀏覽器向Web服務(wù)器索求的是.哪文件,則web服務(wù)器會先讀該,娜文件,遇到if標(biāo)記時(shí),會直接把讀取的內(nèi)容傳遞給瀏覽器.如遇到.呷的標(biāo)記<%與%>.則會把其中的內(nèi)容視為程序.然后進(jìn)行解釋執(zhí)行。因此^ASP與H ML的區(qū)別我們可以歸納為:寫在<%與%》之間的內(nèi)容就是^ASP的程序代碼部分,程序由Web股務(wù)器解釋執(zhí)行,并不會下傳給瀏覽器.其稼代碼是保密的;而<SCRIPT>和< /SCRIPT>之間的程序就是】TIM1‘代碼,它可下傳給瀏覽器,然后由瀏覽器進(jìn)行解釋執(zhí)行。換句話說,ASP代碼通過名為定界符的(<%與%>)分隔標(biāo)記擂人】TIML代碼中。(%與%》定界符向網(wǎng)絡(luò)服務(wù)器指出再SP代碼的起始處和結(jié)束處,有助于服務(wù)器判定在將網(wǎng)頁送往用戶的瀏覽器之前,需要對該網(wǎng)頁的哪些那分進(jìn)行處理。

(二)在網(wǎng)頁中擂入ASP代碼
通過在HIML文檔中加人ASP代碼,可以創(chuàng)建動態(tài)的交互式網(wǎng)頁。ASP代碼可以擂人你希望在網(wǎng)頁中顯示其結(jié)果的任何位置。但應(yīng)注愈:用來在用戶瀏覽器上顯示信息的ASP代碼必須擂人在<BODY>和</BODY》標(biāo)記之間。其體操作如下:(1)確定要插入ASP代碼的位盆.并抽人<%; (2)抽人ASP代碼,并在ASP代碼結(jié)束點(diǎn)的位里拾人%>; (3)保存ASP頁。用戶在瀏覽器上顯示含有ASP代碼的網(wǎng)頁時(shí),網(wǎng)絡(luò)服務(wù)器首先將用于創(chuàng)建該網(wǎng)頁的HT-ML代碼送往瀏覽器,然后對ASP定界符之間的ASP代碼進(jìn)行處理.并用該代碼產(chǎn)生的結(jié)果代替該ASP代碼。隨后,該ASP代碼的結(jié)果又將被作為HTML代碼返回瀏覽器,瀏覽器將讀取所有的HTML代碼.并在用戶的屏幕上顯示此頁。
二、冉占P內(nèi)趁對象
ASP的功能是通過ASP的內(nèi)建對象來實(shí)現(xiàn)的,在面向?qū)ο缶幊讨?對象就是一組數(shù)據(jù)的集合以及定義在該數(shù)據(jù)集上的一組操作。對象是集于特定棋型的,在對象中,客戶使用對象的服務(wù)通過由一組方法或相關(guān)兩數(shù)的接口訪問對象的數(shù)據(jù).然后客戶端可以調(diào)用這些方法執(zhí)行某種操作。ActiveX控件是建立Web應(yīng)用程序的關(guān)健.該控件執(zhí)行了在腳本中執(zhí)行任務(wù)的對象。Ac-tiveX控件是一個文件,該文件包含執(zhí)行某項(xiàng)或某組任務(wù)的代碼,由于控件可以執(zhí)行公用任務(wù),因此程序員就不必自己去創(chuàng)建執(zhí)行這些任務(wù)的代碼,而可以利用控件作為腳本和基于Web應(yīng)用程序的荃本構(gòu)件塊。只要知道如何訪問控件提供的對象,即使是編寫腳本的新手,也可以在不了解控件運(yùn)作方式的情況下編寫腳本??傊?,控件使你不用學(xué)習(xí)編程就能夠編寫強(qiáng)大的腳本??丶前趧討B(tài)鏈接庫.dllU或可執(zhí)行文件.exe中的可執(zhí)行代碼,它可以提供一個或多個對象以及對象的方法和屬性。要使用控件提供的對象,應(yīng)創(chuàng)建對象提供的實(shí)例,并給這個新的實(shí)例分配變盆名即可。ASP提供了在腳本中使用的對象。這些對象使用戶更容易收集通過瀏覽器請求發(fā)送的信息、響應(yīng)瀏覽器以及存儲用戶信息,從而使ASP網(wǎng)站開發(fā)者擺脫了很多煩瑣的工作,目前的ASP版本總共提供了5個內(nèi)建對象,下面具體的學(xué)習(xí)。
(一)Response對象
Response的中文愈思為“響應(yīng).,對w山服務(wù)器而言,響應(yīng)就是回復(fù)瀏覽器索取的文件或數(shù)據(jù),如果瀏覽器索取的是一個html文件,那么web肚務(wù)器就不必執(zhí)行任何程序,只要把該html文件下峨到瀏覽器即可,但如果瀏覽索取的是S&P文件,Web服務(wù)器會解釋執(zhí)行asp文件中的程序.那么ASP的服務(wù)器執(zhí)行程序中的一些需要抽出的數(shù)據(jù)如何傳送到瀏覽器,并在瀏覽器中顯示出來呢?Buffer屬性指示是否使用級沖頁抽出.如果為True,則Resporwe內(nèi)容要寫人級沖區(qū).腳本處理完后再發(fā)送給用戶,當(dāng)緩沖頁油出時(shí),只有當(dāng)前頁的所有服務(wù)器腳本處理完畢成者在調(diào)用了Flush或End方法后,服務(wù)器才將響應(yīng)發(fā)送給客戶端瀏覽器,服務(wù)器將抽出發(fā)送給客戶端瀏覽器后,就不能再設(shè)It Buffer屬性,因此應(yīng)該在.sap文件的第一行就設(shè)Z Response的Buffer屬性。
(二)Request對象
Request對象與Respo,相對應(yīng),Response的用途是傳給瀏覽器,而Request則是用來讀衣瀏覽器的,共同實(shí)現(xiàn)瀏覽器與Web服務(wù)器的交互。使用Request對象訪問任何基于HTTP者求傳遞的信息,包括從HTML表格用POST方法或GET方法傳遞的參數(shù)、cookie和用戶認(rèn)正,Request對象使你的程序能夠接收客戶端瀏覽器發(fā)送給Web服務(wù)器的數(shù)據(jù)。可以使用Request對象訪問任何基于HTI,請求傳遞的所有信息,包括從HTML表格用l幻51,方法或GET方法傳遞的參數(shù)、cookie和用戶認(rèn)證。Request對象使您能夠訪問客戶端發(fā)送給服務(wù)器的二進(jìn)制數(shù)據(jù)。 (3) Cookies
什么是Cookie? Cookie其實(shí)是一個標(biāo)簽,當(dāng)你訪間一個需要唯一標(biāo)識你的站址的Weh站點(diǎn)時(shí),它會在你的硬盤上留下一個標(biāo)記.下一次你訪問同一個站點(diǎn)時(shí),站點(diǎn)的頁面會查找這個標(biāo)記。每個Web站點(diǎn)都有自己的標(biāo)記,標(biāo)記的內(nèi)容可以隨時(shí)讀取.但只能由該站點(diǎn)的頁面完成。每個站點(diǎn)的Cookie與其他所有站點(diǎn)的0ookie存在同一文件夾中的不同文件內(nèi)(你可以在Windo。的目錄下的Cookie文件夾中找到它們)。一個Cookie就是一個唯一標(biāo)識客戶的標(biāo)記,Cookie可以包含在一個對話期或幾個對話期之間某個Web站點(diǎn)的所有頁面共享的信息,使用Cookie還可以在頁面之間交換信息。Request提供的。ookies集合允許用戶檢索在HITP請求中發(fā)送的cookie的值。這項(xiàng)功能經(jīng)常被使用在要求認(rèn)證客戶密碼以及電子公告板、Web聊天室等ASP程序中。 (4) Server Variables
大家都知道在瀏覽器中瀏覽網(wǎng)頁的時(shí)候使用的傳輸協(xié)議是FPIFT,在HTTP的標(biāo)題文件中會記錄一些客戶端的信息,如:客戶的lP地址等等,有時(shí)服務(wù)器端需要根據(jù)不同的客戶端信息做出不同的反映,這時(shí)候就需要用Server Variables集合獲取所需信息。