第6章常用ASP組件_第1頁(yè)
第6章常用ASP組件_第2頁(yè)
第6章常用ASP組件_第3頁(yè)
第6章常用ASP組件_第4頁(yè)
第6章常用ASP組件_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第6章常用ASP組件

本章要點(diǎn)6.1故事接龍

6.2查看瀏覽器性能

6.3導(dǎo)航鏈接6.3導(dǎo)航鏈接6.5收發(fā)電子郵件6.6文件上傳6.7綜合案例習(xí)題6

6.1故事接龍

6.1.1案例效果

圖6-1故事接龍

6.1故事接龍6.1.2案例實(shí)現(xiàn)(見書)6.1.3知識(shí)拓展1.ASP組件概述ASP使用VBScript或者JScript腳本完成編程,而這兩種腳本本身能力非常有限,利用ASP的幾個(gè)內(nèi)置對(duì)象也無(wú)法完成較大規(guī)模的應(yīng)用,但是令人興奮的是ASP支持組件技術(shù),類似文件上傳、繪圖、收發(fā)電子郵件等工作都可以借助組件來(lái)完成,使用合適的組件,將使網(wǎng)站開發(fā)事半功倍,網(wǎng)站的功能也更為強(qiáng)大。ASP的強(qiáng)大不僅僅局限于接受和顯示的交互,更多的是運(yùn)用ActiveX組件進(jìn)行更強(qiáng)大的Web應(yīng)用。其實(shí)ActiveXServerComponents(ActiveX服務(wù)器組件)是一個(gè)存在于Web服務(wù)器上的文件,該文件封裝了執(zhí)行某些特定任務(wù)的代碼。組件可以執(zhí)行一些通用的常見任務(wù)(如數(shù)據(jù)庫(kù)的訪問(wèn),文件的上傳等),這樣就不必自己去創(chuàng)建執(zhí)行這些任務(wù)的代碼。

6.1故事接龍2.文件訪問(wèn)組件簡(jiǎn)介ASP中提供了多種文件訪問(wèn)(FileAccess)組件來(lái)方便對(duì)文件進(jìn)行操作處理。利用ASP腳本,幾乎可以完全控制服務(wù)器的文件系統(tǒng)。FileAccess組件主要由FileSystemObject對(duì)象和TextStream對(duì)象組成,使用FileSystemObject對(duì)象,可以建立、檢索、刪除目錄及文件,而TextStream對(duì)象則提供讀寫文件的功能。注意,本章中的很多內(nèi)容都是對(duì)文件、文件夾進(jìn)行操作,要求設(shè)置所訪問(wèn)的文件夾可以支持“Internet來(lái)賓帳戶”具有所訪問(wèn)的文件夾的讀寫權(quán)限,可以在文件夾上單擊鼠標(biāo)左鍵,在彈出菜單中選擇“屬性”命令,在打開的“屬性”對(duì)話框“安全”選項(xiàng)卡中添加“Internet來(lái)賓帳戶”,并具有文件夾的修改、讀取和寫入權(quán)限。如圖6-2所示。

6.1故事接龍圖6-2設(shè)置文件夾權(quán)限

6.1故事接龍3.FileSystemObject對(duì)象FileSystemObject對(duì)象提供了許多種集合和方法來(lái)處理文件夾和文件,下面是對(duì)FileSystemObject對(duì)象的常用方法進(jìn)行介紹。4.Folder對(duì)象Folder對(duì)象用于對(duì)文件夾的操作,其常用集合、方法和屬性如下。

6.1故事接龍5.TextStream對(duì)象TextStream對(duì)象用于對(duì)文件內(nèi)容進(jìn)行操作,不能通過(guò)CreatObject來(lái)創(chuàng)建一個(gè)TextStream對(duì)象,得到TextStream對(duì)象的唯一方法是用前面的FileSystemObject對(duì)象的CreateTextFile(打開一個(gè)存在的文本文件)或OpenTextFile方法(創(chuàng)建一個(gè)新的文件)。可在打開或創(chuàng)建了文本文件后,就得到一個(gè)TextStream對(duì)象,該對(duì)象有一個(gè)光標(biāo),就好象是在字處理程序中的光標(biāo)一樣,指出接下來(lái)要敲入的字符將出現(xiàn)的位置,它同時(shí)也指出要讀取的字符的位置。表6-1列出了TextStream對(duì)象的常用屬性和方法。(見書)下面是一個(gè)記錄用戶信息的例子。(見書)

6.1故事接龍上面網(wǎng)頁(yè)在瀏覽時(shí)效果如圖6-3左圖所示。當(dāng)提交表單內(nèi)容后,信息被存儲(chǔ)到文件text.txt中??梢酝ㄟ^(guò)下面的程序來(lái)讀取text.txt文件中的信息。讀出的數(shù)據(jù)如圖6-3右圖所示。

圖6-3用戶信息存儲(chǔ)

6.1故事接龍6.File對(duì)象File對(duì)象又稱為文件對(duì)象,一個(gè)文件就是一個(gè)File對(duì)象。File對(duì)象提供了對(duì)文件的屬性的訪問(wèn),通過(guò)它的方法能夠?qū)ξ募M(jìn)行操作。Folder對(duì)象中提供了一個(gè)Files集合,包含文件夾中文件對(duì)應(yīng)的File對(duì)象。還可以直接地從FileSystemObject對(duì)象中通過(guò)使用GetFile方法得到一個(gè)File對(duì)象引用。表6-2給出了File對(duì)象的常用屬性。(見書)類似于Folder對(duì)象,F(xiàn)ile對(duì)象的方法允許復(fù)制、刪除以及移動(dòng)文件。它也有一個(gè)使用文本流打開文件的方法。File對(duì)象的方法及說(shuō)明如下。

6.1故事接龍圖6-4文件信息瀏覽

6.1故事接龍?jiān)谑褂肍olders和File時(shí)需要注意,不能使用數(shù)字索引來(lái)定位Folders或Files集合里的條目,必須使用ForEach…Next語(yǔ)句遍歷集合,然后使用該條目的Name屬性。7.Drive對(duì)象Drive對(duì)象可用來(lái)獲取當(dāng)前系統(tǒng)中各個(gè)驅(qū)動(dòng)器的信息,Drive對(duì)象沒(méi)有方法,其應(yīng)用都是通過(guò)屬性表現(xiàn)出來(lái)的,表6-3給出了Drive對(duì)象的屬性。(見書)可以看到Drive對(duì)象基本上包含了通常操作所需的全部的驅(qū)動(dòng)器信息,因此在使用中是非常方便的。下面示例演示了Drive對(duì)象的使用。(見書)

6.2查看瀏覽器性能

6.2.1案例效果

圖6-5查看瀏覽器性能

6.2查看瀏覽器性能6.2.2案例實(shí)現(xiàn)(見書)6.2.3知識(shí)拓展1.瀏覽器性能組件簡(jiǎn)介瀏覽器性能組件BrowserCapabilities可以創(chuàng)建一個(gè)瀏覽器類型(BrowserType)對(duì)象,以提取識(shí)別客戶端瀏覽器的版本信息,用以描述客戶端瀏覽器性能。當(dāng)客戶端瀏覽器向服務(wù)器發(fā)送頁(yè)面請(qǐng)求時(shí),同時(shí)會(huì)自動(dòng)發(fā)送一個(gè)UserAgentHTTP報(bào)頭,該報(bào)頭是一個(gè)聲明瀏覽器及其版本的ASCII字符串。而瀏覽器性能組件就將UserAgent映射到在文件Browscap.ini中所注明的瀏覽器,并通過(guò)BrowserType對(duì)象的屬性來(lái)識(shí)別客戶瀏覽器。

6.2查看瀏覽器性能若在Browscap.ini文件中找不到與該報(bào)頭匹配的項(xiàng),那么將使用默認(rèn)的瀏覽器屬性。若既未找到匹配項(xiàng)且browscap.ini文件中也未指定默認(rèn)的瀏覽器設(shè)置,則它將每個(gè)屬性都設(shè)為字符串"UNKNOWN"。在默認(rèn)情況下,Browscap.ini文件被存放在Windows\System\Inersrv(Windows95/98+PWS4)或Winnt\System32\Inersrv(Windows2000/XP)目錄中,可以手工編輯這個(gè)文本文件,以添加屬性或者根據(jù)最新發(fā)布的瀏覽器版本的更新文件來(lái)修改該文件。2.瀏覽器性能組件的屬性瀏覽器性能組件是通過(guò)它的各種屬性來(lái)檢查瀏覽器的性能的,常用屬性如表6-4所示。(見書)

6.3導(dǎo)航鏈接

6.3.1案例效果

圖6-6導(dǎo)航鏈接

6.3導(dǎo)航鏈接6.3.2案例實(shí)現(xiàn)(見書)6.3.3知識(shí)拓展1.ContentLinking組件簡(jiǎn)介在維護(hù)和更新網(wǎng)站頁(yè)面時(shí),如果某個(gè)網(wǎng)頁(yè)發(fā)生了改變,其它所有相關(guān)的網(wǎng)頁(yè)都要重新再做一次超級(jí)鏈接。如果網(wǎng)站較大,那么這種維護(hù)工作是相當(dāng)繁瑣的。ContentLinking組件的出現(xiàn)解決了這一問(wèn)題,它可以讓設(shè)計(jì)者在這些頁(yè)面中建立一個(gè)目錄表,然后在它們中間建立動(dòng)態(tài)連接,并自動(dòng)生成和更新目錄表及先前和后續(xù)的Web頁(yè)的導(dǎo)航鏈接。ContentLinking組件對(duì)網(wǎng)站是非常有用的工具,它提供了內(nèi)容頁(yè)面,或者包含對(duì)同一站點(diǎn)上其他頁(yè)面的鏈接列表的頁(yè)面。它自動(dòng)把當(dāng)前顯示頁(yè)面的URL與存儲(chǔ)在服務(wù)器里的內(nèi)容鏈接列表文件中的頁(yè)面列表匹配起來(lái),并且能允許用戶通過(guò)頁(yè)面列表按正反順序進(jìn)行瀏覽。

6.3導(dǎo)航鏈接因?yàn)樗墟溄拥馁Y料均在一個(gè)含有鏈接內(nèi)容的內(nèi)容鏈接列表文件中,該文件是一個(gè)文本文件文本文件中,維護(hù)網(wǎng)站以及頁(yè)面間的鏈接僅僅需要編輯這個(gè)文本文件就可以了。2.ContentLinking組件的成員ContentLinking組件提供了8種方法來(lái)進(jìn)行鏈接條目的檢索操作,如表6-1所示。(見書)如果當(dāng)前頁(yè)面不在內(nèi)容鏈接列表文件中,GetListIndex方法將返回0,GetNextURL和GetNextDescription方法將返回列表文件中最后一個(gè)頁(yè)面的URL和描述,而GetPreviousURL和GetPreviousDescription方法將返回列表文件中第一個(gè)頁(yè)面的URL和描述。這些方法能夠檢索來(lái)自內(nèi)容鏈接列表文件的條目,既能相對(duì)于當(dāng)前頁(yè)面檢索條目,也可以使用索引號(hào)檢索絕對(duì)條目,第一個(gè)條目的索引號(hào)為1。3.內(nèi)容鏈接列表文件

6.3導(dǎo)航鏈接內(nèi)容鏈接列表文件包括一個(gè)簡(jiǎn)單的按顯示順序排列的頁(yè)面URL列表,同時(shí)也提供了相應(yīng)的描述,用于在內(nèi)容頁(yè)面中顯示鏈接文本。如果需要,還可以增加對(duì)每個(gè)頁(yè)面的注釋,注釋可以幫助識(shí)別鏈接,但對(duì)訪問(wèn)者來(lái)說(shuō)注釋是不可見的。對(duì)于網(wǎng)站中需要維護(hù)的每個(gè)頁(yè)面,列表文件中都有一個(gè)對(duì)應(yīng)的文本行,每一行由URL、描述和注釋所組成,各部分由Tab字符(注意,不是空格,否則文件將不能工作)分隔,最后用回車結(jié)束。例如:(見書)需要注意的是,鏈接頁(yè)面的URL必須由一個(gè)相對(duì)的虛擬或物理的路徑來(lái)說(shuō)明,如page1.htm、aspteach\index.aspt等。URL中不能使用“http:”、“//”或者“\\”作為開頭。一旦創(chuàng)建了內(nèi)容鏈接列表文件,就可以把ContentLinking組件添加到頁(yè)面中進(jìn)行導(dǎo)航瀏覽。還有一點(diǎn)需要注意,內(nèi)容列表文件和使用它的ASP頁(yè)面應(yīng)處在同一文件夾中。否則,應(yīng)提供一個(gè)相對(duì)物理路徑或一個(gè)完整的虛擬路徑。

6.4動(dòng)態(tài)廣告條

6.4.1案例效果

圖6-7動(dòng)態(tài)廣告條

6.4動(dòng)態(tài)廣告條6.4.2案例實(shí)現(xiàn)(見書)6.4.3知識(shí)拓展1.廣告輪顯組件簡(jiǎn)介廣告輪顯組件AdRotator允許瀏覽器在引用ASP頁(yè)面時(shí)每次顯示不同的圖像,這項(xiàng)技術(shù)經(jīng)常用在顯示廣告的頁(yè)面上。每次打開或重新載入頁(yè)面時(shí),AdRotator組件根據(jù)“旋轉(zhuǎn)調(diào)度文件”(rotatorschedulefile)中的信息選擇一副圖片,并插入網(wǎng)頁(yè)中。ADRotator組件功能相當(dāng)于在網(wǎng)站上建立了一個(gè)符合廣告領(lǐng)域標(biāo)準(zhǔn)功能的廣告系統(tǒng)。它具有每次訪問(wèn)ASP頁(yè)面時(shí),在頁(yè)面上顯示不同的廣告內(nèi)容;跟蹤特定廣告顯示次數(shù)的能力以及跟蹤客戶端在廣告上單擊次數(shù)的能力。2.ADRotator組件的應(yīng)用ADRotator組件的應(yīng)用通常包括三個(gè)部分:廣告計(jì)劃文件、廣告引用文件和轉(zhuǎn)向處理文件。

6.4動(dòng)態(tài)廣告條ADRotator組件的工作原理是:廣告計(jì)劃文件包括與要顯示廣告圖片文件的位置有關(guān)的信息,以及每個(gè)圖片的不同屬性;廣告引用文件通過(guò)ADRotator組件讀取計(jì)劃文件中的內(nèi)容,并將其作為廣告顯示到頁(yè)面中,通常這是個(gè)超級(jí)連接廣告,并且對(duì)其點(diǎn)擊會(huì)載入一個(gè)重定向文件;重定向所載入的網(wǎng)頁(yè)是個(gè)常規(guī)的ASP頁(yè)面,能記錄用戶對(duì)文件的操作或點(diǎn)擊計(jì)數(shù),然后重新定向到相應(yīng)的廣告主的網(wǎng)站。

6.5收發(fā)電子郵件

6.5.1案例效果

圖6-8發(fā)送電子郵件

6.5收發(fā)電子郵件6.5.2案例實(shí)現(xiàn)(見書)6.5.3知識(shí)拓展1.JMail組件簡(jiǎn)介JMail組件是一個(gè)第三方組件,它是Dimac公司出品的郵件收發(fā)組件,是一個(gè)非常成熟和強(qiáng)大的郵件組件。它不但可以完成發(fā)郵件的工作,還可以POP收信,并支持收發(fā)郵件時(shí)的PGP加密,內(nèi)置一個(gè)群發(fā)郵件的對(duì)象,可以使群發(fā)編程更簡(jiǎn)單。JMail的功能非常強(qiáng)大,除了常見的抄送暗送等多收件人功能外,它還支持添加嵌入式圖片附件,并且可以從URL讀取文件作為附件。在網(wǎng)上可以下載到JMail組件的免費(fèi)版本,地址如下:/freedownloads/freedownloadsstart.asp

6.5收發(fā)電子郵件JMail的免費(fèi)版本也擁有全部完成的發(fā)郵件功能,只在收郵件和加密郵件等不常用到的方面進(jìn)行了限制。要使用Dimac的JMail,必須在服務(wù)器上注冊(cè)jamil.dll。這可以通過(guò)以下方法實(shí)現(xiàn):(見書)2.JMail組件的應(yīng)用JMail組件具有強(qiáng)大的功能,其方法和屬性也較多,本書中只介紹一些常用的方法和屬性,其它內(nèi)容可參考JMail的說(shuō)明文檔。JMail組件使用最多的對(duì)象是Message,幾乎大部分的郵件收發(fā)功能都是由它的方法和屬性來(lái)完成。下面給出了Message的常用屬性和方法。(1)AddRecipient(emailAddress,recipientName,PGPKey)為郵件添加一個(gè)收件人。例如:JMail.AddRecipient"info@"

6.5收發(fā)電子郵件(2)AddRecipientBCC(emailAddress,PGPKey)添加一個(gè)密件抄送人(BCC)。要密送多人時(shí),AddRecipientBCC方法可以被使用多次,暗送人姓名是可選項(xiàng)。PGPKey是可選項(xiàng),如果沒(méi)有設(shè)置或者PGPencryption被設(shè)置為true,則使用emailAddress作為默認(rèn)值。例如:Message.AddRecipientBCC"info@"(3)AddRecipientCC(emailAddress,recipientName,PGPKey):添加一個(gè)抄送人(CC)。要抄送多人時(shí),AddRecipientCC方法可以被使用多次,抄送人姓名是可選項(xiàng)。PGPKey是可選項(xiàng),如果沒(méi)有設(shè)置或者PGPencryption被設(shè)置為true,則使用emailAddress作為默認(rèn)值。Message.AddRecipientCC"info@"(4)AppendHTML(Text)追加HTML正文給郵件。例如:Message.AppendHTML("<h4>Hello</h4>")

6.5收發(fā)電子郵件(5)AppendText(Text)追加文本正文給郵件。例如:JMail.AppendText"TextappendedtomessageBody"(6)Close()關(guān)閉JMail。例如:(7)Send(mailServer,enque)發(fā)送郵件。郵件服務(wù)器是一個(gè)描述郵件服務(wù)器名稱或地址的字符串(包括引號(hào)),用戶名和密碼是可選項(xiàng),當(dāng)郵件服務(wù)器需要發(fā)信認(rèn)證時(shí)使用,使用格式為“用戶名:密碼@郵件服務(wù)器”。(8)Attachments()返回郵件的附件的集合。例如:setattachments=Message.Attachments(9)Body()返回郵件的正文。例如:Response.Write(Message.Body) '輸出正文

6.5收發(fā)電子郵件Message.Body="Helloworld." '設(shè)置正文(10)BodyText()返回全部的文本正文。例如:Response.Write(Message.BodyText)(11)Charset()設(shè)置郵件使用的字符集,默認(rèn)為“US-ASCII”,中國(guó)則設(shè)置為“GB2312”。例如:Message.Charset="GB2312"(12)ContentType():String返回正文格式。Response.Write(Message.ContentType)(13)From()返回或設(shè)置發(fā)件人的電子郵件地址。

6.5收發(fā)電子郵件(14)FromName()返回或設(shè)置發(fā)件人的姓名。Message.FromName="JohnDoe" '設(shè)置發(fā)件人的姓名Response.Write(Message.FromName) '輸出發(fā)件人的姓名(15)Size()返回郵件的總的大?。ㄗ止?jié)數(shù))。例如:Response.Write(Message.Size)(16)Subject()郵件的主題(subject)。例如:Response.Write(Message.Subject)Message.subject="w3JMailishere!"

6.5收發(fā)電子郵件(17)MailServerPassWord()如果郵件服務(wù)器啟用了SMTP發(fā)信認(rèn)證,則用此屬性設(shè)置登錄密碼。(18)MailServerUserName()如果郵件服務(wù)器啟用了SMTP發(fā)信認(rèn)證,則用此屬性設(shè)置登錄用戶名。例如:Message.MailServerUserName="wizardxxx"下面的例子將告訴用戶如何創(chuàng)建JMail對(duì)象,并使用它創(chuàng)建一個(gè)新的郵件,設(shè)置它的標(biāo)題、內(nèi)容并發(fā)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論