ASP編程入門(mén)進(jìn)階(十三):Ad & Content Rotator
更新時(shí)間:2007年01月03日 00:00:00 作者:
ASP的強(qiáng)大不僅僅局限于接受和顯示的交互,更多的是運(yùn)用ActiveX 組件進(jìn)行更強(qiáng)大的Web應(yīng)用。
那究竟ActiveX組件為何物?它又是如何運(yùn)作的呢?其實(shí)ActiveX Server Components(ActiveX 服務(wù)器組件)是一個(gè)存在于 WEB 服務(wù)器上的文件,該文件包含執(zhí)行某項(xiàng)或一組任務(wù)的代碼,組件可以執(zhí)行公用任務(wù),這樣就不必自己去創(chuàng)建執(zhí)行這些任務(wù)的代碼。很形象的一句話(huà):運(yùn)用組件直接采用別人經(jīng)典的功能強(qiáng)大的程序。只不過(guò)這程序已被封裝了的。
那具體ActiveX組件是如何產(chǎn)生、如何得來(lái)的呢?一般由下面三個(gè)路徑獲得:
1,安裝完IIS服務(wù)器以后,自帶的一些內(nèi)置組件,如Database Access數(shù)據(jù)庫(kù)連接組件。
2,從第三方開(kāi)發(fā)者處獲得可選的組件,或者免費(fèi)或者收費(fèi)的,如一些上傳組件(當(dāng)然現(xiàn)在有無(wú)組件上傳)。
3,如果你是一位Web程序開(kāi)發(fā)者,可以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序設(shè)計(jì)語(yǔ)言來(lái)編寫(xiě)你所需要的ActiveX Server Component。這也就是所謂的ASP進(jìn)行COM(Component Object Model)、COM+開(kāi)發(fā)了。
當(dāng)然無(wú)論是第三方還是自行開(kāi)發(fā),在使用之前都必須要進(jìn)行系統(tǒng)的注冊(cè)。不過(guò)這些都是后話(huà)。我們現(xiàn)在需要的,是盡快先把ASP自帶的一些組件搞懂吧。
不過(guò)在使用內(nèi)置組件之前,先用一個(gè)程序檢測(cè)一下自己機(jī)器中的組件支持情況。
引用一段網(wǎng)上流行的“阿江ASP探針”,將下列代碼保存為asp文件進(jìn)行調(diào)試查看。
1,objcheck.asp
[Ctrl+A 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]
如果你可以運(yùn)行該ASP文件,也就是說(shuō)你擁有IIS的WEB服務(wù)了。既然有IIS,不出意外,我們今天要學(xué)的組件AdRotator相信應(yīng)該也是支持的。
P.S.一般微軟自帶的大多是MSWC開(kāi)頭,我也一般戲稱(chēng)為Microsoft WC :)
一、AdRotator組件
該組件通常又稱(chēng)廣告輪顯組件,其功能相當(dāng)于在網(wǎng)站上建立了一個(gè),符合廣告領(lǐng)域標(biāo)準(zhǔn)功能的廣告系統(tǒng)。它具有:每次訪(fǎng)問(wèn)ASP頁(yè)面時(shí),在頁(yè)面上顯示不同的廣告內(nèi)容;跟蹤特定廣告顯示次數(shù)的能力以及跟蹤客戶(hù)端在廣告上單擊次數(shù)的能力。
AD Rotator 組件的工作原理是通過(guò)讀取 AD Rotator 計(jì)劃文件來(lái)完成的,該文件包括與要顯示圖象文件的地點(diǎn)有關(guān)的信息,以及每個(gè)圖象的不同屬性。下面就是一個(gè)標(biāo)準(zhǔn)的 AD Rotator 計(jì)劃文件。
1,類(lèi)型為txt文本 ,命名為myadrot.txt
代碼的前四行包含了廣告的全局設(shè)置:
1,Redirect 指出廣告將成為其熱連接的URL。但其并非直接跳轉(zhuǎn)的URL,它包含了兩個(gè)參數(shù)的查詢(xún)字符串:特定廣告主頁(yè)的URL和圖象文件的URL。這些值從而可在gourl.asp文件中進(jìn)行提取,并且與此同時(shí)gourl.asp還可以進(jìn)行其他的處理工作,比如跟蹤單擊廣告的次數(shù)、跳轉(zhuǎn)到接受的的廣告主頁(yè)等。
2,width、height、border不用說(shuō)一看就知道是連接圖片的寬、高以及邊框線(xiàn)大小。
“*”號(hào)表示了分隔符,以及“*”號(hào)下面的每四行為一個(gè)單位進(jìn)行描述每個(gè)廣告的細(xì)節(jié)。其中分別代表:
1,每個(gè)廣告的描述包含圖象文件的URL
2,廣告對(duì)象的主頁(yè)URL(如果廣告客戶(hù)沒(méi)有主頁(yè),則該行為一個(gè)連字符“-”,指出該廣告沒(méi)有鏈接)
3,圖象的替代文字
4,及指定該頁(yè)與其他頁(yè)交替顯示頻率的數(shù)值。
該文件是用戶(hù)自創(chuàng)建的文件。它通常用來(lái)解析由AdRotator對(duì)象發(fā)送的查詢(xún)字符串的腳本,并將用戶(hù)重定向到與用戶(hù)所點(diǎn)擊的廣告所相關(guān)的URL。那具體怎么應(yīng)用該定向文件呢?
2、adrotator.asp
該文件最主要的是連接myadrot.txt文件,并且執(zhí)行myadrot.txt文件中的信息內(nèi)容。很簡(jiǎn)單,兩行代碼。
“<%set myad=Server.CreateObject("MSWC.adrotator")%>”學(xué)過(guò)Server對(duì)象,相信還記得該對(duì)象強(qiáng)大的一個(gè)方法,那就是CreateObject。他可用于創(chuàng)建已經(jīng)注冊(cè)到服務(wù)器上的ActiveX組件實(shí)例。那這就表示引用組件MSWC.adrotator了。
“<%=myad.getadvertisement("myadrot.txt")%>”Ad Rotator組件支持的唯一方法也就是GetAdvertisement了,它只有一個(gè)參數(shù):AdRotator計(jì)劃文件的名稱(chēng)。注意指向文件的路徑是當(dāng)前虛擬目錄的相對(duì)路徑,物理路徑是不允許的。也就是說(shuō)當(dāng)前的adrotator.asp和myadrot.txt是在同一目錄下了。
然后進(jìn)行執(zhí)行該ASP文件,多次刷新,會(huì)發(fā)現(xiàn)每次的廣告確實(shí)是在輪顯著的。這時(shí)再注意點(diǎn)擊圖片的超級(jí)連接地址。比如:
很明顯我們還需要建立gourl.asp,并且將url參數(shù)的值進(jìn)行提取,再接著跳轉(zhuǎn)到該url地址上。
3、gourl.asp
該頁(yè)主要功能:提取url參數(shù)值,跳轉(zhuǎn)到廣告主頁(yè)。
功能很簡(jiǎn)單就完成。當(dāng)然,剛才也說(shuō)了,這個(gè)頁(yè)還可以做其它一些事件:跟蹤客戶(hù)端在廣告上單擊次數(shù),比如將接受過(guò)來(lái)的相同的url地址進(jìn)行記數(shù)的累加,就能顯示出該網(wǎng)站廣告的點(diǎn)擊次數(shù),然后和相應(yīng)廣告商拿取相應(yīng)的費(fèi)用什么的……呵呵,在早期都要求需要實(shí)際點(diǎn)擊率的,現(xiàn)在好象不管,只要廣告掛那兒就行-_-!
不過(guò),總的說(shuō)來(lái),這個(gè)組件的功能就是這樣。你有多個(gè)廣告商,并且是按比例單獨(dú)顯示,還需要計(jì)算實(shí)際點(diǎn)擊率的時(shí)候,用Ad Rotator組件是最好不過(guò)。那也就是說(shuō)視情況而定了。
最后再說(shuō)下,該組件的實(shí)現(xiàn)需要三個(gè)文件:重定向文件、引用文件、處理轉(zhuǎn)向文件。
二、Content Rotator組件
正如Ad Rotator為一廣告輪顯,Content Rotator組件則為內(nèi)容輪顯。
該組件就像一個(gè)簡(jiǎn)化了的Ad Rotator組件,所以其工作原理亦為:通過(guò)讀取計(jì)劃文件來(lái)完成的網(wǎng)頁(yè)內(nèi)容的顯示。該計(jì)劃文件也就是:內(nèi)容調(diào)度文件(Content Schedule File)。
1,類(lèi)型為txt文本 ,命名為context.txt
該文件的結(jié)構(gòu)比Ad Rotator的調(diào)度文件簡(jiǎn)單,僅需提供要使用的各個(gè)文本字符串的列表,由前面加兩個(gè)百分號(hào)(%%)的語(yǔ)句行說(shuō)明。
為了設(shè)置每個(gè)條目的比率(決定它出現(xiàn)在返回頁(yè)面中的頻率),在雙百分號(hào)的后面添加了一個(gè)數(shù)字。如果其后跟雙斜杠(//)就表示為添加的注釋。
接著就是通過(guò)ASP頁(yè)面將這些信息按規(guī)定完整顯示。
2、showcontext.asp
"Set MyContent = Server.CreateObject("MSWC.ContentRotator")",先建立和Content Rotator組件的聯(lián)系。
"Content = MyContent.ChooseContent("context.txt")",表示采用Content Rotator組件的有個(gè)方法:ChooseContent,并且賦值給變量Content,到最后輸出顯示結(jié)果。
3、showall.asp
以上頁(yè)面內(nèi)容個(gè)顯示是通過(guò)Content Rotator組件的ChooseContent方法實(shí)現(xiàn)的。此外,該組件還有一方法:GetAllContent。示例如下:
運(yùn)行結(jié)果會(huì)發(fā)現(xiàn)context.txt所有內(nèi)容被解釋執(zhí)行,并且分類(lèi)之間會(huì)自動(dòng)添加了<hr>水平線(xiàn)。
當(dāng)然這個(gè)方法可以用在隨機(jī)圖片之類(lèi)的特效頁(yè)面上。
那究竟ActiveX組件為何物?它又是如何運(yùn)作的呢?其實(shí)ActiveX Server Components(ActiveX 服務(wù)器組件)是一個(gè)存在于 WEB 服務(wù)器上的文件,該文件包含執(zhí)行某項(xiàng)或一組任務(wù)的代碼,組件可以執(zhí)行公用任務(wù),這樣就不必自己去創(chuàng)建執(zhí)行這些任務(wù)的代碼。很形象的一句話(huà):運(yùn)用組件直接采用別人經(jīng)典的功能強(qiáng)大的程序。只不過(guò)這程序已被封裝了的。
那具體ActiveX組件是如何產(chǎn)生、如何得來(lái)的呢?一般由下面三個(gè)路徑獲得:
1,安裝完IIS服務(wù)器以后,自帶的一些內(nèi)置組件,如Database Access數(shù)據(jù)庫(kù)連接組件。
2,從第三方開(kāi)發(fā)者處獲得可選的組件,或者免費(fèi)或者收費(fèi)的,如一些上傳組件(當(dāng)然現(xiàn)在有無(wú)組件上傳)。
3,如果你是一位Web程序開(kāi)發(fā)者,可以使用Visual Basic 、Java 、Visual C++ 、COBOL等程序設(shè)計(jì)語(yǔ)言來(lái)編寫(xiě)你所需要的ActiveX Server Component。這也就是所謂的ASP進(jìn)行COM(Component Object Model)、COM+開(kāi)發(fā)了。
當(dāng)然無(wú)論是第三方還是自行開(kāi)發(fā),在使用之前都必須要進(jìn)行系統(tǒng)的注冊(cè)。不過(guò)這些都是后話(huà)。我們現(xiàn)在需要的,是盡快先把ASP自帶的一些組件搞懂吧。
不過(guò)在使用內(nèi)置組件之前,先用一個(gè)程序檢測(cè)一下自己機(jī)器中的組件支持情況。
引用一段網(wǎng)上流行的“阿江ASP探針”,將下列代碼保存為asp文件進(jìn)行調(diào)試查看。
1,objcheck.asp
[Ctrl+A 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]
如果你可以運(yùn)行該ASP文件,也就是說(shuō)你擁有IIS的WEB服務(wù)了。既然有IIS,不出意外,我們今天要學(xué)的組件AdRotator相信應(yīng)該也是支持的。
P.S.一般微軟自帶的大多是MSWC開(kāi)頭,我也一般戲稱(chēng)為Microsoft WC :)
一、AdRotator組件
該組件通常又稱(chēng)廣告輪顯組件,其功能相當(dāng)于在網(wǎng)站上建立了一個(gè),符合廣告領(lǐng)域標(biāo)準(zhǔn)功能的廣告系統(tǒng)。它具有:每次訪(fǎng)問(wèn)ASP頁(yè)面時(shí),在頁(yè)面上顯示不同的廣告內(nèi)容;跟蹤特定廣告顯示次數(shù)的能力以及跟蹤客戶(hù)端在廣告上單擊次數(shù)的能力。
AD Rotator 組件的工作原理是通過(guò)讀取 AD Rotator 計(jì)劃文件來(lái)完成的,該文件包括與要顯示圖象文件的地點(diǎn)有關(guān)的信息,以及每個(gè)圖象的不同屬性。下面就是一個(gè)標(biāo)準(zhǔn)的 AD Rotator 計(jì)劃文件。
1,類(lèi)型為txt文本 ,命名為myadrot.txt
redirect gourl.asp width 88 height 31 border 1 * http://www.cnbruce.com/images/logo.gif http://www.cnbruce.com/ CN-Bruce 10 http://www.it365cn.com/images/logo.gif http://www.it365cn.com It365cn 10 http://www.blueidea.com/images/logo.gif http://www.blueidea.com Blue!dea 10 |
代碼的前四行包含了廣告的全局設(shè)置:
1,Redirect 指出廣告將成為其熱連接的URL。但其并非直接跳轉(zhuǎn)的URL,它包含了兩個(gè)參數(shù)的查詢(xún)字符串:特定廣告主頁(yè)的URL和圖象文件的URL。這些值從而可在gourl.asp文件中進(jìn)行提取,并且與此同時(shí)gourl.asp還可以進(jìn)行其他的處理工作,比如跟蹤單擊廣告的次數(shù)、跳轉(zhuǎn)到接受的的廣告主頁(yè)等。
2,width、height、border不用說(shuō)一看就知道是連接圖片的寬、高以及邊框線(xiàn)大小。
“*”號(hào)表示了分隔符,以及“*”號(hào)下面的每四行為一個(gè)單位進(jìn)行描述每個(gè)廣告的細(xì)節(jié)。其中分別代表:
1,每個(gè)廣告的描述包含圖象文件的URL
2,廣告對(duì)象的主頁(yè)URL(如果廣告客戶(hù)沒(méi)有主頁(yè),則該行為一個(gè)連字符“-”,指出該廣告沒(méi)有鏈接)
3,圖象的替代文字
4,及指定該頁(yè)與其他頁(yè)交替顯示頻率的數(shù)值。
該文件是用戶(hù)自創(chuàng)建的文件。它通常用來(lái)解析由AdRotator對(duì)象發(fā)送的查詢(xún)字符串的腳本,并將用戶(hù)重定向到與用戶(hù)所點(diǎn)擊的廣告所相關(guān)的URL。那具體怎么應(yīng)用該定向文件呢?
2、adrotator.asp
該文件最主要的是連接myadrot.txt文件,并且執(zhí)行myadrot.txt文件中的信息內(nèi)容。很簡(jiǎn)單,兩行代碼。
<%set myad=Server.CreateObject("MSWC.adrotator")%> <%=myad.getadvertisement("myadrot.txt")%> |
“<%set myad=Server.CreateObject("MSWC.adrotator")%>”學(xué)過(guò)Server對(duì)象,相信還記得該對(duì)象強(qiáng)大的一個(gè)方法,那就是CreateObject。他可用于創(chuàng)建已經(jīng)注冊(cè)到服務(wù)器上的ActiveX組件實(shí)例。那這就表示引用組件MSWC.adrotator了。
“<%=myad.getadvertisement("myadrot.txt")%>”Ad Rotator組件支持的唯一方法也就是GetAdvertisement了,它只有一個(gè)參數(shù):AdRotator計(jì)劃文件的名稱(chēng)。注意指向文件的路徑是當(dāng)前虛擬目錄的相對(duì)路徑,物理路徑是不允許的。也就是說(shuō)當(dāng)前的adrotator.asp和myadrot.txt是在同一目錄下了。
然后進(jìn)行執(zhí)行該ASP文件,多次刷新,會(huì)發(fā)現(xiàn)每次的廣告確實(shí)是在輪顯著的。這時(shí)再注意點(diǎn)擊圖片的超級(jí)連接地址。比如:
gourl.asp?url=http://www.cnbruce.com/&image=http://www.cnbruce.com/images/logo.gif |
很明顯我們還需要建立gourl.asp,并且將url參數(shù)的值進(jìn)行提取,再接著跳轉(zhuǎn)到該url地址上。
3、gourl.asp
該頁(yè)主要功能:提取url參數(shù)值,跳轉(zhuǎn)到廣告主頁(yè)。
<%whaturl=request.querystring("url")%> <%response.redirect whaturl%> |
功能很簡(jiǎn)單就完成。當(dāng)然,剛才也說(shuō)了,這個(gè)頁(yè)還可以做其它一些事件:跟蹤客戶(hù)端在廣告上單擊次數(shù),比如將接受過(guò)來(lái)的相同的url地址進(jìn)行記數(shù)的累加,就能顯示出該網(wǎng)站廣告的點(diǎn)擊次數(shù),然后和相應(yīng)廣告商拿取相應(yīng)的費(fèi)用什么的……呵呵,在早期都要求需要實(shí)際點(diǎn)擊率的,現(xiàn)在好象不管,只要廣告掛那兒就行-_-!
不過(guò),總的說(shuō)來(lái),這個(gè)組件的功能就是這樣。你有多個(gè)廣告商,并且是按比例單獨(dú)顯示,還需要計(jì)算實(shí)際點(diǎn)擊率的時(shí)候,用Ad Rotator組件是最好不過(guò)。那也就是說(shuō)視情況而定了。
最后再說(shuō)下,該組件的實(shí)現(xiàn)需要三個(gè)文件:重定向文件、引用文件、處理轉(zhuǎn)向文件。
二、Content Rotator組件
正如Ad Rotator為一廣告輪顯,Content Rotator組件則為內(nèi)容輪顯。
該組件就像一個(gè)簡(jiǎn)化了的Ad Rotator組件,所以其工作原理亦為:通過(guò)讀取計(jì)劃文件來(lái)完成的網(wǎng)頁(yè)內(nèi)容的顯示。該計(jì)劃文件也就是:內(nèi)容調(diào)度文件(Content Schedule File)。
1,類(lèi)型為txt文本 ,命名為context.txt
%% 3 //后面是注釋 <font color=red>ASP編程入門(mén)進(jìn)階</font> %% 4 //下面顯示表格 <table><tr><td>www.cnbruce.com</td></tr></table> %% 5 <A >CN-Bruce</A> |
該文件的結(jié)構(gòu)比Ad Rotator的調(diào)度文件簡(jiǎn)單,僅需提供要使用的各個(gè)文本字符串的列表,由前面加兩個(gè)百分號(hào)(%%)的語(yǔ)句行說(shuō)明。
為了設(shè)置每個(gè)條目的比率(決定它出現(xiàn)在返回頁(yè)面中的頻率),在雙百分號(hào)的后面添加了一個(gè)數(shù)字。如果其后跟雙斜杠(//)就表示為添加的注釋。
接著就是通過(guò)ASP頁(yè)面將這些信息按規(guī)定完整顯示。
2、showcontext.asp
<% Set MyContent = Server.CreateObject("MSWC.ContentRotator") Content = MyContent.ChooseContent("context.txt") Response.Write Content %> |
"Set MyContent = Server.CreateObject("MSWC.ContentRotator")",先建立和Content Rotator組件的聯(lián)系。
"Content = MyContent.ChooseContent("context.txt")",表示采用Content Rotator組件的有個(gè)方法:ChooseContent,并且賦值給變量Content,到最后輸出顯示結(jié)果。
3、showall.asp
以上頁(yè)面內(nèi)容個(gè)顯示是通過(guò)Content Rotator組件的ChooseContent方法實(shí)現(xiàn)的。此外,該組件還有一方法:GetAllContent。示例如下:
<% Set MyContent = Server.CreateObject("MSWC.ContentRotator") Content = MyContent.GetAllContent("context.txt") Response.Write Content %> |
運(yùn)行結(jié)果會(huì)發(fā)現(xiàn)context.txt所有內(nèi)容被解釋執(zhí)行,并且分類(lèi)之間會(huì)自動(dòng)添加了<hr>水平線(xiàn)。
當(dāng)然這個(gè)方法可以用在隨機(jī)圖片之類(lèi)的特效頁(yè)面上。
相關(guān)文章
對(duì)象標(biāo)記具有無(wú)效的 ''MSWC.MyInfo'' ProgID
對(duì)象標(biāo)記具有無(wú)效的 ''MSWC.MyInfo'' ProgID...2007-02-02用ASP開(kāi)發(fā)網(wǎng)頁(yè)需要牢記的注意事項(xiàng)
ASP開(kāi)發(fā)網(wǎng)頁(yè)需要牢記的注意事項(xiàng),使用asp的朋友可以看看2006-06-06ASP編程入門(mén)進(jìn)階(二十):ADO組件之插入數(shù)據(jù)記錄
ASP編程入門(mén)進(jìn)階(二十):ADO組件之插入數(shù)據(jù)記錄...2007-01-01ASP編程入門(mén)進(jìn)階(十四):Browser & Linking
ASP編程入門(mén)進(jìn)階(十四):Browser & Linking...2007-01-01在線(xiàn)統(tǒng)計(jì)代碼 application
在線(xiàn)統(tǒng)計(jì)代碼 application...2006-06-06