ActiveX 組件是建立強(qiáng)大的 Web 應(yīng)用程序的關(guān)鍵。組件提供了用在腳本中執(zhí)行任務(wù)的對象。asp 同樣提供了可在腳本中使用的內(nèi)建對象。本主題將討論如何使用組件提供的對象以及由 Active Server Pages 直接提供的內(nèi)建對象。
關(guān)于組件 ActiveX 組件是一個文件,該文件包含執(zhí)行某項或一組任務(wù)的代碼。組件可以執(zhí)行公用任務(wù),這樣就不必自己去創(chuàng)建執(zhí)行這些任務(wù)的代碼。例如,股票行情收報機(jī)組件可以在 Web 頁上顯示最新的股票報價。ASP 帶有可以直接使用的組件,如 Database access 組件。從第三方開發(fā)者處獲得可以可選的組件。或者也可以編寫自己的組件。
可以利用組件作為腳本和基于 Web 應(yīng)用程序的基本構(gòu)造塊。只要知道如何訪問組件提供的對象。即使是位編寫腳本的新手,也可以在不了解組件運作方式的情況下編寫腳本。總之,組件使您不用學(xué)習(xí)編程就能夠編寫強(qiáng)大的腳本。
如果您是位 Web 應(yīng)用程序的開發(fā)者,可以通過編寫組件封裝商務(wù)邏輯。例如,可以編寫組件來計算產(chǎn)品的銷售稅。然后可以在處理銷售訂單的腳本中調(diào)用這個組件。在訂單的處理過程中獨立計算稅率可以在某地銷售稅改變的時候只更新組件,而無須更改整個處理過程。可以使用任何支持組件對象模型 (COM) 的語言來編寫組件,如,C、C++、java 或 Visual Basic。如果熟悉 COM 編程,ActiveX 組件就是 Automation 服務(wù)器。要在 Web 服務(wù)器上運行,ActiveX 組件不能有圖形用戶接口元素,如 Visual Basic 的 MsgBox 函數(shù)。
組件是可以重復(fù)使用的。在 Web 服務(wù)器上安裝了組件后,就可以從 ASP 腳本、ISAPI 應(yīng)用程序、服務(wù)器上的其他組件或由另一種 COM 兼容語言編寫的程序中調(diào)用該組件。
生成組件對象的實例 組件是包含在動態(tài)鏈接庫 (.dll) 或可執(zhí)行文件 (.exe) 中的可執(zhí)行代碼。組件可以提供一個或多個對象以及對象的方法和屬性。要使用組件提供的對象,請創(chuàng)建對象的實例并將這個新的實例分配變量名。使用 ASP 的 Server.CreateObject 方法可以創(chuàng)建對象的實例。接著,使用腳本語言的變量分配指令為對象實例命名。創(chuàng)建對象實例時,必須提供實例的注冊名稱 (PROGID)。對于由 ASP 提供的基本組件,可以從參考頁中獲得對象的 PROGID。
例如,ASP 的 Ad Rotator 組件在圖形廣告中任意循環(huán)。Ad Rotator 組件提供了一個被稱為 Ad Rotator 對象,該對象的 PROGID 是 "MSWC.AdRotator"。要創(chuàng)建一個 Ad Rotator 對象的實例,請使用下列指令:
如果對象實例不需要訪問 ASP 內(nèi)建對象和參與事務(wù),就可以使用由 Java 監(jiān)視程序提供的更為簡單的機(jī)制直接調(diào)用 Java 類。必須用 Microsoft virtual machine for Java 2.0(由該 Internet Information Server 和 Personal Web Server 的發(fā)布版提供)使用 Java 監(jiān)視程序。