国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP系列講座(七)使用組件和對象

2019-11-18 22:37:26
字體:
供稿:網(wǎng)友
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 對象的實例,請使用下列指令:

VBScript:

<% Set MyAds = Server.CreateObject("MSWC.AdRotator") %>
JScript:

<% var MyAds = Server.CreateObject("MSWC.AdRotator") %>
如果您已經(jīng)非常熟悉 VBScript 或者 JScript ,將會注意到?jīng)]有使用創(chuàng)建新對象實例的腳本語言函數(shù),如 VBScript 中的 CreateObject 或 JScript 中的 New。您必須使用 ASP 的 Server.CreateObject 方法,否者 ASP 無法跟蹤腳本語言中對象的使用。

使用 HTML <OBJECT> 標(biāo)簽同樣可以創(chuàng)建對象實例。您必須為 RUNAT 屬性提供服務(wù)器值,同時也要為將在腳本語言中使用的變量名提供 ID 屬性組。使用注冊名 (PROGID) 或注冊號碼 (CLSID) 可以識別該對象。下面的例子使用注冊名 (PROGID) 創(chuàng)建 Ad Rotator 對象的實例:

<OBJECT RUNAT=Server ID=MyAd PROGID="MSWC.AdRotator"></OBJECT>
下面的例子使用注冊號碼 (CLSID) 創(chuàng)建 Ad Rotator 對象的實例:

<OBJECT RUNAT=Server  ID=MyAd
CLASSID="Clsid:1621F7C0-60AC-11CF-9427-444553540000"></OBJECT>
從 Java 類中創(chuàng)建一個對象
使用 Java 語言編寫的 ActiveX 組件可作為 Java 類而不是 DLL 提交。要使用 Server.CreateObject 創(chuàng)建 Java 類對象的實例,必須使用 Javareg 程序?qū)⒃擃愖詾?COM 組件。然后就能夠以 PROGID 或 CLSID 使用 Server.CreateObject 了。

如果對象實例不需要訪問 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)視程序。

如果要使用監(jiān)視程序?qū)嵗瘜ο螅捅仨毷褂?VBScript 或者 JScript 的 GetObject 指令并以 java:classname 的形式提供 java 類的全名。下面這個關(guān)于 VBScript 的例子生成了 Java Date 對象的實例。

<%
Dim date
Set date = GetObject("java:java.util.Date")
%>

<p> The date is <%= date.toString() %>
通過調(diào)用 GetObject 而不是 Server.CreateObject 生成的對象不能訪問 ASP 內(nèi)建對象也不能參與事務(wù)處理。

使用 ASP 內(nèi)建對象
ASP 提供執(zhí)行任務(wù)的內(nèi)建對象。例如,Request 對象存儲從 HTML 表格參考。

調(diào)用 Object 方法
方法是可以在對象上所執(zhí)行或使用對象執(zhí)行的活動。調(diào)用方法的一般語法為:

Object.Method parameters

參數(shù)隨著方法的不同而不同。

例如,可以按照下列的指令,使用 Response 內(nèi)建對象的 Write 方法將信息發(fā)送到瀏覽器:

<% Response.Write "Hello World" %>
注意 一些腳本語言不支持 Object.Method語法。如果使用的語言不支持該語法,那么為了將該語言作為主腳本語言,就必須在注冊表中加入條目。

設(shè)置對象屬性
屬性是描繪對象的特征值。屬性定義對象的特征(如對象類型)或?qū)ο蟮臓顟B(tài)(如啟用或禁用)。常規(guī)語法為:

Object.Property

可以讀取并設(shè)置屬性值。對某些對象,還可以添加新屬性。

例如,Ad Rotator 組件有 Border 屬性,該屬性指定廣告是否有邊框及邊框的粗細(xì)。下面的表達(dá)式指明沒有邊框:

<% MyAds.Border = 0 %>
可以使用 ASP 輸出指令顯示某些屬性的當(dāng)前值。例如,如果瀏覽器仍然與服務(wù)器連接,下面的命令將返回 TRUE:

<%= Response.IsClientConnected %>

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 凤山县| 乌苏市| 木里| 林西县| 广西| 股票| 中方县| 海城市| 普兰县| 松原市| 乐东| 北碚区| 普安县| 昆明市| 息烽县| 敦化市| 临安市| 怀仁县| 北安市| 石楼县| 兴文县| 清水县| 罗源县| 白河县| 开鲁县| 东港市| 宜春市| 祥云县| 游戏| 旬阳县| 靖边县| 托克托县| 舟山市| 东平县| 政和县| 秦安县| 沿河| 南投县| 炎陵县| 隆化县| 定远县|