劉敏娜 葛 萌
(咸陽(yáng)師范學(xué)院 計(jì)算機(jī)科學(xué)系,陜西 咸陽(yáng) 712000)
ASP的英文全稱是Microsoft Active Server Pages,它是一套微軟開發(fā)的服務(wù)器端腳本環(huán)境。ASP內(nèi)含于IIS3.0和4.0之中,通過ASP可以結(jié)合HTML網(wǎng)頁(yè)、ASP命令和ActiveX元件建立動(dòng)態(tài)、交互且高效的WEB服務(wù)器應(yīng)用程序。ASP具有實(shí)現(xiàn)主頁(yè)動(dòng)態(tài)化的優(yōu)點(diǎn),它的功能強(qiáng)大、擴(kuò)展性好、開發(fā)周期短,能夠和服務(wù)器緊密結(jié)合。以下是ASP所具有的特點(diǎn):
使用 VBScript、JavaScript等簡(jiǎn)單易懂的腳本語(yǔ)言,結(jié)合HTML代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。
無須compile編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。
使用普通的文本編輯器,如Windows的記事本,即可進(jìn)行編輯設(shè)計(jì)。
與瀏覽器無關(guān)(Browser Independence),用戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽Active Server Pages所設(shè)計(jì)的網(wǎng)頁(yè)內(nèi)容。Active Server Pages所使用的腳本語(yǔ)言(VBScript、Jscript)均在WEB服務(wù)器端執(zhí)行,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語(yǔ)言。
Active Server Pages能與任何ActiveX scripting語(yǔ)言相容。除了可使用VBScript或JavaScript語(yǔ)言來設(shè)計(jì)外,還通過plug-in的方式,使用由第三方所提供的其他腳本語(yǔ)言,譬如REXX、Perl、Tcl等。腳本引擎是處理腳本程序的COM(Component Object Model)物件。Active Server Pages的源程序,不會(huì)被傳到客戶瀏覽器,因而可以避免所寫的源程序被他人剽竊,也提高了程序的安全性。可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本。物件導(dǎo)向(Object-oriented)。ActiveX Server Components(ActiveX服務(wù)器元件)具有無限可擴(kuò)充性??梢允褂?Visual Basic、Java、VisualC++、COBOL等編程語(yǔ)言來編寫你所需要的ActiveX Server Component。
這 7個(gè)對(duì)象分別是 Request、Response、Server、Application、Session 和 ObjectContext。Request對(duì)象用來處理用戶做出的請(qǐng)求,是處理用戶要求瀏覽器查看特定的網(wǎng)頁(yè)或Web應(yīng)用時(shí)做出的請(qǐng)求。此請(qǐng)求可以HTML的形式輸入或以URL的形式作出。Response對(duì)象用來控制發(fā)送給用戶的信息,包括直接發(fā)送信息給瀏覽器、重定向?yàn)g覽器到另一個(gè)URL。Serve對(duì)象用來代表服務(wù)器自身。因此它提供幾個(gè)與Web服務(wù)器可能要完成的任務(wù)相關(guān)的常用功能,諸如建立新對(duì)象和設(shè)置腳本的超時(shí)特性等。Application對(duì)象用來代表應(yīng)用,可以在給定的應(yīng)用程序的所有用戶直接共享信息,并在服務(wù)器運(yùn)行期間持久的保持?jǐn)?shù)據(jù),除此之外,Application還可以用在應(yīng)用程序啟動(dòng)和停止時(shí)觸發(fā)過程的事件。Session對(duì)象用來代表用戶會(huì)話,并存儲(chǔ)該會(huì)話的信息。ObjectContext對(duì)象用來管理事務(wù)處理。它目前已經(jīng)集成到Windows2000操作系統(tǒng)中了。它包含了所有ASP其他對(duì)象,可通過Object-Context引用ASP的每個(gè)對(duì)象。
MDAC作為操作系統(tǒng)的組成部分的組件,與ASP一起提供。此組件中包含一組稱為ActiveX Data Object(ADO)的對(duì)象,他們對(duì)于查看不同平臺(tái)上的各種數(shù)據(jù)(數(shù)據(jù)庫(kù)、表單、文本文件)是必不可少的。ADO主要有3個(gè)對(duì)象,分別是 Connection、Command和Recordset。Connection對(duì)象就是使ADO與數(shù)據(jù)庫(kù)之間建立一個(gè)通道,也就是實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接。Command對(duì)象就是對(duì)數(shù)據(jù)庫(kù)進(jìn)行發(fā)號(hào)施令,比如建立新的索引,執(zhí)行查詢等,它可以通過標(biāo)準(zhǔn)的SQL數(shù)據(jù)庫(kù)操作語(yǔ)言得以實(shí)現(xiàn)。Recordset對(duì)象是一個(gè)數(shù)據(jù)記錄集,它包含了我們檢索出來的記錄數(shù)據(jù),通過它可以直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改。
活動(dòng)服務(wù)器組件是與ASP一起免費(fèi)帶來的組件或DLL,他們有著廣泛的用途。主要包括 AD Rotator 、BrowserCapabilities、Content Link、Content Rotator、Counters、logging、Utility、MyInfo、Page Counter、permission Checker、tools等組件。
運(yùn)行ASP需要的環(huán)境如下:
Microsoft Internet Information Server(IIS)version 3.0/4.0
Microsoft Personal Web Server on Windows 95/98
對(duì)于Windows NT和Windows 2000以上版本自帶IIS服務(wù)器,安裝IIS服務(wù)器.
用戶發(fā)出ASP文件的請(qǐng)求信息,瀏覽器將這個(gè)請(qǐng)求發(fā)送給服務(wù)器,用戶和服務(wù)器建立鏈接服務(wù)器接收請(qǐng)求并根據(jù)后綴判斷它是ASP程序,然后將它從相應(yīng)的目錄中提取出來或者從緩存中提取出來。
ASP文件將被服務(wù)器端的ASP運(yùn)行環(huán)境從頭到尾執(zhí)行,并根據(jù)ASP命令的要求生成相應(yīng)的靜態(tài)HTML頁(yè)面。
將這個(gè)靜態(tài)HTML文件傳回用戶瀏覽器。
用戶瀏覽器解釋并顯示該HTML文件。
動(dòng)態(tài)網(wǎng)頁(yè)的實(shí)現(xiàn)過程如圖所示:
總之,ASP只是提供了一種使鑲嵌在HTML頁(yè)面中的腳本程序得以運(yùn)行的環(huán)境。ASP程序其實(shí)是以擴(kuò)展名為.asp的純文本形式存在于WEB服務(wù)器上,ASP程序中可以包含純文本、HTML標(biāo)記以及腳本命令。將asp程序放在WEB服務(wù)器的虛擬目錄下(該目錄必須要有可執(zhí)行權(quán)限),就可以通過WWW的方式訪問ASP程序。
[1]丁貴廣.ASP編程基礎(chǔ)與實(shí)例[M].北京:機(jī)械工業(yè)出版社,2002.
[2]法克.應(yīng)用服務(wù)供應(yīng)商(ASP)解決方案[M].孫延明譯.北京:電子工業(yè)出版社,2003.
[3]曹建.ASP實(shí)例教程.北京:電子工業(yè)出版社,2000.