




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
教材第01章ASP的基礎(chǔ)知識
ASP的全稱是ActiveServerPages(動態(tài)服務(wù)器頁面),它是一種服務(wù)器端腳本執(zhí)行環(huán)境,使用它可以創(chuàng)建和運(yùn)行動態(tài)、交互的Web應(yīng)用程序。ASP可以結(jié)合HTML頁、腳本命令和ActiveX組件,共同創(chuàng)建動態(tài)的Web頁和基于Web服務(wù)器的功能強(qiáng)大的應(yīng)用程序。本章作為全書的開端,將介紹ASP的基礎(chǔ)知識,包括ASP的概念、技術(shù)特點(diǎn)、工作原理、內(nèi)置對象以及架設(shè)ASP網(wǎng)站服務(wù)器并以其為基礎(chǔ)編寫、運(yùn)行ASP程序的方法。1.1靜態(tài)網(wǎng)頁與動態(tài)網(wǎng)頁的區(qū)別1.2ASP概述1.3架設(shè)ASP動態(tài)網(wǎng)站服務(wù)器1.4ASP文件的編寫、保存、調(diào)試與運(yùn)行1.1靜態(tài)網(wǎng)頁與動態(tài)網(wǎng)頁的區(qū)別
主題1.1.1靜態(tài)網(wǎng)頁靜態(tài)網(wǎng)頁是不包含程序代碼的網(wǎng)頁,它不會在服務(wù)器端執(zhí)行。靜態(tài)網(wǎng)頁內(nèi)容經(jīng)常以HTML語言編寫,在服務(wù)器端以.htm或是.html文件格式儲存。對于靜態(tài)網(wǎng)頁,服務(wù)器不執(zhí)行任何程序就把HTML頁面文件傳給客戶端的瀏覽器直接進(jìn)行解讀工作,所以網(wǎng)頁的內(nèi)容不會因?yàn)閳?zhí)行程序而出現(xiàn)不同的內(nèi)容。1.1.2動態(tài)網(wǎng)頁動態(tài)網(wǎng)頁是指網(wǎng)頁內(nèi)含有程序代碼,并會被服務(wù)器執(zhí)行的網(wǎng)頁。用戶瀏覽動態(tài)網(wǎng)頁須由服務(wù)器先執(zhí)行網(wǎng)頁中的程序,再將執(zhí)行完的結(jié)果傳送到用戶瀏覽器中。動態(tài)網(wǎng)頁和靜態(tài)網(wǎng)頁的區(qū)別在于,動態(tài)網(wǎng)頁會在服務(wù)器執(zhí)行一些程序。由于執(zhí)行程序時的條件不同,所以執(zhí)行的結(jié)果也可能會有所不同,最終用戶所看到的網(wǎng)頁內(nèi)容也將不同,所以稱為動態(tài)網(wǎng)頁。1.2ASP概述
1.2.2ASP的技術(shù)特點(diǎn)ASP有以下技術(shù)特點(diǎn):用戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽ASP所設(shè)計(jì)的網(wǎng)頁內(nèi)容,ASP程序的運(yùn)行與瀏覽器無關(guān)。ASP腳本在服務(wù)器端執(zhí)行,傳到用戶瀏覽器的只是ASP的執(zhí)行結(jié)果所生成的常規(guī)HTML代碼,這樣可以保證設(shè)計(jì)者編寫的程序代碼不會被用戶盜取。ASP使用VBScript等簡單的腳本語言,設(shè)計(jì)者可以快速完成網(wǎng)站應(yīng)用程序的編寫。ASP運(yùn)行在服務(wù)器端,使用ASP建立的網(wǎng)站,設(shè)計(jì)者無需擔(dān)心用戶在瀏覽器上通過Internet訪問網(wǎng)站時,會出現(xiàn)瀏覽器不支持ASP所使用的編程語言的情況。無需編譯,便可在服務(wù)器端直接執(zhí)行。使用普通的文本編輯器(例如Windows記事本),即可進(jìn)行ASP程序的設(shè)計(jì)。ASP程序中包含許多幾本組件和常用組件(本書后面的章節(jié)將陸續(xù)介紹),設(shè)計(jì)者只要在服務(wù)器端安裝需要的組件,就可以通過訪問組件快速、簡易地建立自己的ASP動態(tài)網(wǎng)站,并且能夠使用這些組件方便地完成網(wǎng)站上的某些特殊應(yīng)用。1.2.2ASP的工作流程當(dāng)瀏覽器請求打開一個ASP頁面,Web服務(wù)器接收到請求后,將按以下流程展開工作
。1.2.3ASP的工作原理
而ASP的工作原理是:當(dāng)用戶申請一個.asp文件時,Web服務(wù)器響應(yīng)該請求,并調(diào)用服務(wù)器上的ASP解釋器,解釋被申請的文件,生成相對簡單頁面返回給用戶客戶端瀏覽器。此類生成的頁面是純HTML文件,所以一般瀏覽器都能夠?yàn)g覽ASP網(wǎng)頁,而實(shí)際上當(dāng)用戶申請瀏覽.asp文件時,文件并不直接返回給瀏覽器。1.2.4ASP的運(yùn)行環(huán)境ASP是一種服務(wù)器端的腳本語言,它只能在服務(wù)器環(huán)境下才能正常運(yùn)行。而服務(wù)器環(huán)境的配置要求也很簡單,只須在WindowsNT、Windows2000、Windows2003、WindowsXP、Windows7及更高版本的操作系統(tǒng)上添加和安裝IIS組件即可。ASP對客戶端沒有任何特殊的要求,只要有一個普通的瀏覽器即可。1.2.5ASP的內(nèi)建對象ASP主要有6個常用內(nèi)建對象,這些內(nèi)建對象提供多許多方法和屬性,大大方便了設(shè)計(jì)者編寫Web應(yīng)用程序。下面將簡單介紹ASP的內(nèi)建對象。Resquest對象:讀取用戶信息。用于取得任何由HTTP請求傳遞過來的信息,包括使用POST和GET傳遞的參數(shù),以及從服務(wù)器和客戶端認(rèn)證所傳遞的Cookie等。Response對象:傳送信息給用戶??梢允褂盟姆椒ㄝ敵鲂畔⒌綖g覽器,或?qū)⑹褂谜咿D(zhuǎn)移到另一個URL,并可以控制內(nèi)容形態(tài)和設(shè)定Cookie值。Server對象:控制ASP的執(zhí)行環(huán)境。提供存取Web服務(wù)器的方法與屬性。Session對象:存儲用戶對話框的相關(guān)信息。此對象僅適用于一個用戶,可以用它來記錄該用戶的一些信息,并為每一個用戶保留一個SessionID。Application對象:用于為應(yīng)用程序所有用戶設(shè)置屬性,并且傳遞信息給用戶。ObjectContext對象:提供在頁面內(nèi)進(jìn)行事務(wù)處理的功能。1.3架設(shè)ASP動態(tài)網(wǎng)站服務(wù)器1.3.1配置Internet服務(wù)器1.3.2安裝與架設(shè)IIS1.4ASP文件的編寫、保存、調(diào)試與運(yùn)行1.4.1編寫與保存ASP文件在ASP程序中,腳本通過分隔符將文本和HTML標(biāo)記區(qū)分開來。ASP用分隔符<%和%>來包括腳本命令。在一個ASP文件中一般包含HTML標(biāo)記、VBScript或JScript語言的程序代碼,以及ASP語法。1.4.2調(diào)試與運(yùn)行ASP程序在成功利用IIS架設(shè)ASP網(wǎng)站,并在網(wǎng)站中保存了ASP程序文件后,可以使用InternetExplorer查看網(wǎng)站主目錄中的文件,一方面測試網(wǎng)站的架設(shè)是否成功,另一方面調(diào)試與運(yùn)行ASP程序。教材第02章ASP網(wǎng)頁框架語言——HTMLHTML(超文本標(biāo)記語言)是制作ASP網(wǎng)頁的基礎(chǔ)。HTML標(biāo)記是HTML的核心與基礎(chǔ),用于修飾、設(shè)置HTML文件的內(nèi)容及格式。一個HTML文件中包含了所有將顯示在網(wǎng)頁上的文字信息。其中也包括對瀏覽器的一些指示,如文字應(yīng)放置在何處,顯示模式如何等。如果還有一些圖片、動畫、聲音或是任何其他形式的資源,HTML文件也會告訴瀏覽器到哪里去查找它們,以及它們將放置在網(wǎng)頁中的什么位置。2.1網(wǎng)頁的基礎(chǔ)知識2.2HTML文檔的基本結(jié)構(gòu)2.3編輯HTML網(wǎng)頁正文2.4建立超鏈接2.5在HTML網(wǎng)頁中插入圖片2.6在HTML網(wǎng)頁中使用列表2.7在HTML網(wǎng)頁中使用表格
2.8在HTML網(wǎng)頁中使用表單
2.9在HTML網(wǎng)頁中使用框架
2.10動態(tài)HTML(DHTML)簡介
2.1網(wǎng)頁的基礎(chǔ)知識
主題2.1.1萬維網(wǎng)的概念(WWW)簡單的說,WWW是漫游Internet網(wǎng)的工具,它把Internet上不同地點(diǎn)的相關(guān)信息聚集起來,通過WWW瀏覽器(比如IE,InternetExplorer)檢索,無論用戶所需的信息在什么地方,只要瀏覽器為用戶檢索到之后,就可以將這些信息(文字、圖片、動畫、聲音等)“提取”到用戶的計(jì)算機(jī)屏幕上。2.1.2超文本傳輸協(xié)議(HTTP)HTTP(HyperTextTransferProtocol)即超文本傳輸協(xié)議,它是WWW服務(wù)器上使用的最主要協(xié)議。通過這一跨平臺的通信協(xié)議,在WWW任何平臺上的電腦都可以閱讀遠(yuǎn)方服務(wù)器(Server)上的同一文件。2.1.3統(tǒng)一資源定位器(URL)URL(UniformResourceLocator)即統(tǒng)一資源定位器,它使用數(shù)字和字母來代表網(wǎng)頁文件在網(wǎng)上的地址。URL好比Internet的門牌號碼,它可以幫助用戶在Internet的信息海洋中查找到所需要的資料。2.1.4超文本標(biāo)記語言(HTML)HTML標(biāo)記用于修飾、設(shè)置HTML文件的內(nèi)容及格式。用戶只須輸入文件內(nèi)容和必要的標(biāo)記,文件內(nèi)容在瀏覽器窗口內(nèi)就會按照標(biāo)記定義的格式顯示出來。一般情況下,HTML標(biāo)記使用下列格式:<標(biāo)記>文件內(nèi)容</標(biāo)記>
標(biāo)記須要填寫在一對尖括號“<>”內(nèi),它們通常是英文單詞的首字母或縮寫。標(biāo)記一般情況下是成對出現(xiàn)的。結(jié)束標(biāo)記是在標(biāo)記的前面添加斜杠“/”。2.2HTML文檔的基本結(jié)構(gòu)
HTML文件通常由3部分組成:即起始標(biāo)記、網(wǎng)頁標(biāo)題和文件主體。其中,文件主體是HTML文件的主要部分與核心內(nèi)容,它包括文件所有的實(shí)際內(nèi)容與絕大多數(shù)的標(biāo)記符號。在HTML文本中,有一些固定的標(biāo)記要放在每一個HTML文件里。HTML文件的總體結(jié)構(gòu)如下所示:<Html><Head>網(wǎng)頁的標(biāo)題及屬性</Head><Body>文件主體</Body></Html>2.2.1添加起始標(biāo)記
<Html>標(biāo)記用于HTML文檔的最前面,用于標(biāo)識HTML文檔的開始。而</Html>標(biāo)記恰恰相反,它放在HTML文檔的最后面,用來標(biāo)識HTML文檔的結(jié)束,兩個標(biāo)記必須一起使用。通過對這一對特殊標(biāo)記符號的讀取,瀏覽器才可以判斷目前正在打開的是網(wǎng)頁文件,而不是其他類型的文件。2.2.2設(shè)置網(wǎng)頁標(biāo)題<Head></Head>標(biāo)記對構(gòu)成HTML文檔的開頭部分,在此標(biāo)記對之間可以使用<Title></Title>、<Script></Script>等標(biāo)記對。這些標(biāo)記對都是描述HTML文檔相關(guān)信息的標(biāo)記對,<Head></Head>標(biāo)記對之間的內(nèi)容不會在瀏覽器的窗口內(nèi)顯示出來,兩個標(biāo)記必須一起使用。2.2.3輸入文件主體<Body>…</Body>標(biāo)記對之間的內(nèi)容是HTML文檔的主體部分,在此標(biāo)記對之間可包含眾多的標(biāo)記和信息,它們所定義的文本、圖像等將會在瀏覽器的窗口內(nèi)顯示出來,兩個標(biāo)記必須一起使用。2.2.4HTML文檔中的注釋注釋標(biāo)記用來在HTML源文件中插入注釋,注釋會被瀏覽器忽略不顯示。用戶可以使用注釋來解釋代碼,例如<!—這是一條注釋信息-->。這些注釋信息可在以后編輯代碼的時候,給用戶提供必要的幫助和提示。2.3編輯HTML網(wǎng)頁正文2.3.1輸入網(wǎng)頁標(biāo)題一般文章都有標(biāo)題、副標(biāo)題、章和節(jié)等結(jié)構(gòu),HTML中也提供了相應(yīng)的標(biāo)題標(biāo)記<Hn>,其中n為標(biāo)題的等級。HTML提供6個等級的標(biāo)題,n越小,標(biāo)題字號就越大。例如以下代碼:<H1>一級標(biāo)題</H1><H2>二級標(biāo)題</H2><P>這是一行沒有設(shè)置標(biāo)題格式的正文文本</P><H5>五級標(biāo)題</H5><H6>六級標(biāo)題</H6>2.3.2劃分正文段落<P>…</P>標(biāo)記對用來創(chuàng)建一個段落,在此標(biāo)記對之間加入的文本將按照段落的格式顯示在瀏覽器上。HTML將多個空格以及回車等效為一個空格,HTML的分段完全依賴于分段標(biāo)記<P>。2.3.3設(shè)置文本格式在HTML文件里,一般都有大量的文本和信息。如要主次分明、重點(diǎn)突出的顯示這些信息,則需要在格式設(shè)定方面使用更多的標(biāo)記和更詳細(xì)的設(shè)置。1.設(shè)置字體和字號2.黑體、斜體和下劃線3.強(qiáng)調(diào)及加重等效果2.4建立超鏈接2.4.1創(chuàng)建外部鏈接一個超鏈接通常由以下3部分構(gòu)成:首先是超鏈接標(biāo)記<A></A>,表示這是一個鏈接;然后是屬性Href及其值,這就定義了超鏈接所指的目標(biāo);最后是在超鏈接中顯示在網(wǎng)頁上作為鏈接的文字。HTML中超鏈接文本的代碼格式如下:<AHref="URL">2.4.2創(chuàng)建內(nèi)部鏈接謂內(nèi)部鏈接就是網(wǎng)頁中的書簽。在內(nèi)容較多的網(wǎng)頁內(nèi)建立內(nèi)部鏈接時,它的鏈接目標(biāo)不是其他文檔,而是網(wǎng)頁內(nèi)的其他位置。在使用內(nèi)部鏈接之前,須要在網(wǎng)頁內(nèi)確定書簽的位置,并使用<A>標(biāo)記的Name屬性為書簽命名。內(nèi)部鏈接的一般格式為:<AName="書簽名稱">書簽內(nèi)容</A>2.4.3創(chuàng)建郵件鏈接郵件鏈接可使訪問者在瀏覽頁面時,只須單擊電子郵件鏈接就能夠打開默認(rèn)的郵件編輯軟件,向指定的地址發(fā)送郵件。電子郵件鏈接的應(yīng)用格式如下:<AHref="mailto:E-mail地址">郵件鏈接文本</A>以上格式中“E-mail地址”是用戶在Internet上的電子郵件地址,而“郵件鏈接文本”就是訪問者單擊的文本。2.5在HTML網(wǎng)頁中插入圖片2.5.1插入網(wǎng)頁圖片HTML采用的圖像格式有GIF、JPG和PNG3種。在網(wǎng)頁中插入圖像時,須要使用HTML的<Img>標(biāo)記,其使用格式如下:
<ImgSrc="Picname">以上格式中,Src是Source(源)英文的縮寫,Picname是希望在網(wǎng)頁內(nèi)顯示的圖像的URL。
2.5.2設(shè)置圖片格式與布局
在默認(rèn)的情況下,將圖像插入到網(wǎng)頁文件之后,它與網(wǎng)頁中的文本是垂直居下對齊的,并且文本出現(xiàn)在圖像的右側(cè)。
2.5.3在網(wǎng)頁中加入水平線使用<Hr>標(biāo)記可以在網(wǎng)頁中插入一條水平線,它的使用方式如下:<HrAlign=對齊方式Width=x%,Size=n,Noshade>2.6在HTML網(wǎng)頁中使用列表2.6.1使用編號列表當(dāng)網(wǎng)頁中的某些內(nèi)容存在排序關(guān)系時,可以使用編號列表,以表明這些內(nèi)容是有前后順序的。編號列表的應(yīng)用格式如下:<Ol><Li>編號列表……</Ol>2.6.2使用符號列表當(dāng)網(wǎng)頁內(nèi)容出現(xiàn)并列選項(xiàng)時,可采用符號列表。它的標(biāo)記是<Ul>(它是UnorderedList英文的縮寫),在每一列表項(xiàng)的開始處須要使用<Li>標(biāo)記以示區(qū)別。符號列表的使用格式如下:<Ul><Li>符號列表……</Ul>2.6.3自定義列表當(dāng)網(wǎng)頁內(nèi)出現(xiàn)新詞匯、術(shù)語時,為了給訪問者一個明確的提示,須要對它們進(jìn)行定義和說明,此進(jìn)用戶可以使用自定義列表(DefinitionList)。自定義列表標(biāo)記<Dl>是由一系列的詞語標(biāo)記<Dt>和定義標(biāo)記<Dd>組成,通常<Dt>標(biāo)記與<Dd>標(biāo)記成對出現(xiàn)在網(wǎng)頁文件內(nèi),詞語的定義內(nèi)容以首行縮進(jìn)的方式顯示在瀏覽器窗口。2.6.4定義嵌套列表HTML不僅允許用戶使用單獨(dú)的列表,還能夠把不同類型的列表相互嵌套。嵌套的級數(shù)不受限制,這樣就形成復(fù)合列表,它意味著第一個列表的內(nèi)容還未結(jié)束時,另一列表就可以開始。例如,在自定義列表內(nèi),使用編號列表說明具有層次感的列表選項(xiàng),使用符號列表說明具有并列關(guān)系的列表選項(xiàng)。2.7在HTML網(wǎng)頁中使用表格2.7.1認(rèn)識表格標(biāo)記
一個表格由<Table>標(biāo)記開始,</Table>標(biāo)記結(jié)束,表格的內(nèi)容由<Tr>標(biāo)記和<Td>標(biāo)記定義。<Tr>標(biāo)記說明表格的一個行,表格有多少行就有多少個<Tr>標(biāo)記;<Td>標(biāo)記則設(shè)定一個單元格來填充表格。2.7.2設(shè)置表格的整體屬性<Table></Table>標(biāo)記對用來創(chuàng)建一個表格。2.7.3設(shè)置表格的單行屬性<Tr></Tr>標(biāo)記對用來創(chuàng)建表格中的一行,表格有多少行就有多少對<Tr>標(biāo)記。
2.7.4設(shè)置表格單元格屬性1.普通單元格2.標(biāo)題單元格3.表格總標(biāo)題2.8在HTML網(wǎng)頁中使用表單2.8.1認(rèn)識表單的基本結(jié)構(gòu)網(wǎng)頁內(nèi)的表單由表單標(biāo)記<Form>定義,使用<Form>標(biāo)記意味著表單的開始,而</Form>標(biāo)記符號則意味著表單的結(jié)束。由于表單通常用于收集站點(diǎn)訪問者的信息,因此在表單的內(nèi)部必須出現(xiàn)輸入標(biāo)記<Input>,用于收集表單數(shù)據(jù)。另一方面,還可將表單數(shù)據(jù)發(fā)送給站點(diǎn)管理員,或者清除表單的內(nèi)容,重新輸入表單。表單標(biāo)記的基本結(jié)構(gòu)如下所示:<FormAction=URLMethod=get|post>…<InputType=Submit><InputType=reset></Form>2.8.2設(shè)定用戶輸入?yún)^(qū)域表單是一個能夠包含多種不同表單元素的區(qū)域。表單元素能夠讓用戶在表單中輸入信息,有文本框、密碼框、下拉菜單、單選框、復(fù)選框等。2.8.3設(shè)定列表框
列表框是用于確定選項(xiàng)內(nèi)容的另一種方式,它包括下拉列表框和滾動列表框兩種,在下拉列表框內(nèi),只能選擇其中的一個選項(xiàng);在滾動列表框內(nèi),則可以選擇其中的多項(xiàng)內(nèi)容。
2.8.4設(shè)定文本框與文件選項(xiàng)<Textarea></Textarea>標(biāo)記時用來創(chuàng)建一個可以輸入多行文本的文本框,此標(biāo)記對用于<Form></Form>標(biāo)記對之間。<Textarea>標(biāo)記時具有Name、Cols和Rows屬性。Cols和Rows屬性分別用來設(shè)置文本框的列數(shù)和行數(shù),這里列與行是以字符數(shù)為單位的。如果在表單內(nèi)填寫的內(nèi)容太多,例如個人工作經(jīng)歷等,為了方便訪問者填寫,可在表單內(nèi)添加文件選項(xiàng)。在表單內(nèi)添加文件選項(xiàng)時,用戶可使用<Form>標(biāo)記的Enctype屬性,以指定文件的數(shù)據(jù)類型,使用該屬性還需要將<Input>標(biāo)記的Type屬性設(shè)置為File。2.9在HTML網(wǎng)頁中使用框架2.9.1認(rèn)識框架標(biāo)記
設(shè)計(jì)框架網(wǎng)頁時,<Frame>標(biāo)記和<Frameset>標(biāo)記用于定義框架網(wǎng)頁的結(jié)構(gòu)。由于框架網(wǎng)頁的出現(xiàn),從根本上改變了HTML文檔的傳統(tǒng)結(jié)構(gòu),因此在出現(xiàn)<Frameset>標(biāo)記的文檔中,將不再使用<Body>標(biāo)記,包含框架網(wǎng)頁的HTML文檔的基本結(jié)構(gòu)為:
<Html><Head>…</Head><Frameset>…</Frameset><FrameSrc="URL"></Html>2.9.2確定框架目標(biāo)在框架網(wǎng)頁內(nèi)的單擊超鏈接之后,鏈接目標(biāo)就會出現(xiàn)在目標(biāo)框架內(nèi)。在確定目標(biāo)框架之前,應(yīng)該為它命名,通過框架網(wǎng)頁的名稱來確定目標(biāo)框架的位置,框架網(wǎng)頁的名稱應(yīng)該注意區(qū)分大小寫。內(nèi)容相同、大小寫不同的框架網(wǎng)頁名稱將被認(rèn)為是不同的框架網(wǎng)頁。確定目標(biāo)框架網(wǎng)頁的通用格式如下:<FrameName="框架網(wǎng)頁名稱"><AHref=URL,Target="框架網(wǎng)頁名稱">2.9.3設(shè)置框架網(wǎng)頁的外觀框架網(wǎng)頁外觀是由框架網(wǎng)頁的邊框、間距、顏色、頁邊距、滾動條等組成的。默認(rèn)情況下,HTML提供了一系列的默認(rèn)值,分別對上述選項(xiàng)進(jìn)行設(shè)置。根據(jù)應(yīng)用框架網(wǎng)頁的背景、場合的不同,用戶可以自定義框架網(wǎng)頁的外觀。2.10動態(tài)HTML(DHTML)簡介使用DHTML技術(shù),可通過瀏覽器技術(shù)、客戶端腳本技術(shù)和CSS樣式表,生成變化繽紛的動態(tài)頁面。DHTML是DynamicHTML(動態(tài)HTML)的簡稱,它是一種即使在脫離網(wǎng)絡(luò)環(huán)境的情況下,網(wǎng)頁裝載入瀏覽器以后仍然能夠隨時變換內(nèi)容的技術(shù)。比如:當(dāng)鼠標(biāo)指針移至文章段落中,段落能變成醒目的紅色或藍(lán)色;在網(wǎng)頁的頁面上,隨機(jī)性地漂浮著一些漂亮的小標(biāo)志;網(wǎng)頁橫幅不斷地滑動或具有滾動閃亮的效果等。DHTML之所以能夠制作出“動感”的效果,首先是因?yàn)镈HTML將網(wǎng)頁中的每個元素劃分成了許多獨(dú)立的對象,通過CSS來指定這些對象的屬性。CSS是DHTML網(wǎng)頁進(jìn)行改變的對象,網(wǎng)頁中的各種變化都是通過腳本語言設(shè)置CSS的屬性來實(shí)現(xiàn)的。因此可以說CSS是編寫DHTML網(wǎng)頁的基礎(chǔ)。CSS本身是HTML的擴(kuò)展,因此語法規(guī)則并不復(fù)雜,掌握HTML語言使用方法后就不難看懂CSS代碼。CSS的功能十分強(qiáng)大,它能夠?qū)ξ淖珠g距、字體、列表、顏色、背景、位置等多種屬性進(jìn)行精確控制。教材第03章VBScript編程基礎(chǔ)本章將介紹ASP的腳本編程語言中的一種-——VBScript。VBScript是專業(yè)編程語言VisualBasic的子集。使用VBScript可以實(shí)現(xiàn)很多動態(tài)交互功能,諸如在將數(shù)據(jù)發(fā)送到服務(wù)器之前先進(jìn)行處理和校驗(yàn),創(chuàng)建新的Web內(nèi)容,甚至編寫完全在客戶端運(yùn)行的應(yīng)用程序,如計(jì)算器和游戲使用程序,擴(kuò)展客戶端的功能等方法。3.1VBScript語言概述3.2VBScript中的變量3.3VBScript中的運(yùn)算符3.4VBScript中的數(shù)據(jù)類型3.5VBScript中常量的定義3.6賦值語句3.7條件語句3.8循環(huán)語句3.9VBScript中的過程3.10VBScript函數(shù)3.1VBScript語言概述
主題3.1.1VBScript語言的特點(diǎn)
VBScript可以被用來自動地完成重復(fù)性的Windows操作系統(tǒng)任務(wù)。在Windows操作系統(tǒng)中,VBScript可以在WindowsScriptHost的范圍內(nèi)運(yùn)行。Windows操作系統(tǒng)可以自動辨認(rèn)和執(zhí)行*.VBS和*.WSF兩種文件格式,此外InternetExplorer可以執(zhí)行HTA和CHM文件格式。3.1.2在HTML中使用VBScript
在HTML網(wǎng)頁設(shè)計(jì)過程中,使用VBScript語言一般是在HTML文件中嵌入VBScript腳本,從而擴(kuò)展HTML的功能,獲得單憑HTML語言無法實(shí)現(xiàn)的網(wǎng)頁效果。3.1.3在ASP中使用VBScript
ASP是一套服務(wù)器端的對象模型,其本身并不是一種腳本語言,但它卻為嵌入HTML頁面中的腳本語言提供了運(yùn)行環(huán)境。在ASP程序中常用的腳本語言有VBScript和JScript等語言,系統(tǒng)默認(rèn)的語言為VBScript語言。3.2VBScript中的變量3.2.1簡單變量的聲明聲明變量有顯式聲明和隱式聲明兩種方式。顯式聲明要用到Dim語句、Public語句和Private語句。例如:<%DimstrUserName%>聲明多個變量時,可使用逗號來分隔變量。例如:<%DimstrUserName,strPassword,b%>3.2.2數(shù)組變量的聲明數(shù)組變量是一類具有相同名字,但有不同的下標(biāo)值的變量,簡稱數(shù)組。數(shù)組中的每個元素都用惟一的下標(biāo)來識別。例如intAge(9)中,intAge是數(shù)組名,9是下標(biāo)。數(shù)組變量的聲明同簡單變量相同,唯一的區(qū)別是聲明數(shù)組變量時變量名后面帶有括號,下例聲明了一個包含20個元素的一維數(shù)組:DimlngSum(19)3.2.3變量的賦值變量的賦值比較簡單。一般情況下,編制表達(dá)式的左邊,要賦的值在表達(dá)式的右邊。變量的賦值方式可以采用以下方式:“=”號賦值。例如給變量count賦值100,如下:count=100直接使用函數(shù)返回值。例如:A=GetValue(b,c)復(fù)制對象的賦值。該賦值方式需要使用Set,例如:Setre=Server.CreateQbject(“ADODB.RecordSet”)3.2.4變量的命名約定給變量起名稱時,一定要遵循VBScript的標(biāo)準(zhǔn)命名規(guī)則,變量命名必須遵循以下幾個方面:第一個字符必須是字母。不能包含句點(diǎn)。長度不能超過255個字符。在聲明的作用域內(nèi)必須惟一。名字不能和關(guān)鍵字同名。3.2.5變量的作用域與存活期變量的作用域由聲明它的位置決定。如果在過程中聲明變量,則只有該過程中的代碼可訪問或更改變量值,此時變量具有局部作用域并被稱為過程級變量。如果在過程之外聲明變量,則該變量可以被腳本中所有過程所識別,稱為腳本級變量,具有腳本級作用域。用戶在開發(fā)大型ASP網(wǎng)站時,程序代碼量非常龐大,網(wǎng)站開發(fā)過程中不可避免會出現(xiàn)相同名字的變量。此時,應(yīng)使用變量的作用域,避免發(fā)生變量重名的問題。3.3VBScript中的運(yùn)算符3.3.1算術(shù)運(yùn)算符算符運(yùn)算符用于執(zhí)行簡單的算術(shù)運(yùn)算,其語法如下:NumExp=NumExp1OperatorNumExp2其中,NumExp、NumExp1和NumExp2均為數(shù)值表達(dá)式,Operator為算術(shù)運(yùn)算符。
3.3.2關(guān)系運(yùn)算符
關(guān)系運(yùn)算符用來比較兩個表達(dá)式的值的大小,如大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、不等于(<>)和等于(=)。關(guān)系運(yùn)算的結(jié)果是邏輯值True或False。關(guān)系運(yùn)算可用于數(shù)值間的比較,也可用于字符串間的比較。當(dāng)用于字符串間的比較時,將按ASCII碼值的大小由左向右依次逐個字符進(jìn)行比較,直到比較出結(jié)果為止。3.3.3邏輯運(yùn)算符邏輯運(yùn)算通常也稱為布爾運(yùn)算,專門用于邏輯值之間的運(yùn)算。3.3.4連接運(yùn)算符
連接運(yùn)算是將兩個字符表達(dá)式連接起來,生成一個新的字符串。連接運(yùn)算符有+和&兩個。3.3.4運(yùn)算符的優(yōu)先級當(dāng)一個表達(dá)式包含有多個運(yùn)算符時,執(zhí)行運(yùn)算的符號有一個固定的優(yōu)先計(jì)算順序,如下所示:算術(shù)運(yùn)算符>連接運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符3.4VBScript中的數(shù)據(jù)類型VBScript只有一種數(shù)據(jù)類型,即Variant類型,也叫做變體類型。Variant類型可以在不同的場合代表不同類型的數(shù)據(jù)。例如,Variant類型用于數(shù)字時,將作為數(shù)值處理;用于字符串時,將作為字符串處理。大多數(shù)情況下,Variant類型會按照最適用于其包含的數(shù)據(jù)的方式進(jìn)行操作。例如:Variable=2004'VBScript會把Variable當(dāng)成整數(shù)對待Variable="2004"'VBScript會把Variable當(dāng)成字符串對待Variable=#2004-07-13#'VBScript會把Variable當(dāng)成日期對待3.5VBScript中常量的定義常量就是擁有固定數(shù)值的名稱,常量可以代表字符串、數(shù)字等常數(shù)。常量一經(jīng)聲明,在程序執(zhí)行期間,其值不會發(fā)生改變。聲明常量后可以在程序的任何部分使用該常量來代表特定的數(shù)值,從而方便程序的編寫。例如,在計(jì)算程序中常用PI來表示π的近似值3.1415926,這樣即不容易出錯,程序也更加簡潔明了。這樣,在程序的其他地方就可以使用PI來表示π的近似值了。例如:<%ConstPI=3.1415926'指定PI為常量,其值為3.1415926S=PI*R^2'求半徑為R的圓的面積,并將值賦給S%>3.6賦值語句
與其他編程語言一樣,VBScript中也包含一些基本的語句。這些語句主要可分為賦值語句、條件語句與循環(huán)語句3類。其中條件語句與循環(huán)語句能夠在程序中控制程序的流程,而賦值語句的作用是將一個數(shù)據(jù)賦給一個變量。在VBScript中,賦值語句就是一條賦值表達(dá)式,其一般形式為:變量=表達(dá)式
其中,變量可用是數(shù)值變量,也可以是字符串變量。同樣,表達(dá)式可以是數(shù)值型表達(dá)式或字符串表達(dá)式。變量的類型應(yīng)與表達(dá)式的類型一致。例如以下代碼聲明一個變量,并給變量count賦值10。3.7條件語句3.7.1If…Then語句If…Then語句是控制結(jié)構(gòu)中最常用的一種。利用該語句可以檢查條件,并基于檢查的結(jié)果來執(zhí)行一段程序語句,其語法格式如下:IfconditionThenStatement(語句塊)EndIf3.7.2If…Then…Else語句If…Then…Else語句是If…Then語句的擴(kuò)展。該語句定義了兩個可執(zhí)行語句塊:當(dāng)條件為True時運(yùn)行一個語句塊,條件為False時運(yùn)行另一語句塊,其語法格式如下:IfcuonditionThenStatement1(語句塊1)ElseStatement2(語句塊2)EndIf3.7.3SelectCase語句SelectCase語句是If語句多條件時的另外一種表式,可在多個執(zhí)行語句中有選擇地執(zhí)行其中的一個。它的優(yōu)點(diǎn)是可使程序更簡潔易讀,其語法結(jié)構(gòu)如下:SelectCase表達(dá)式Case結(jié)果1 Statement1(語句塊1)Case結(jié)果2 Statement2(語句塊2)…Case結(jié)果n StatementN(語句塊N)CaseElse StatementN+1(語句塊N+1)EndSelect3.8循環(huán)語句3.8.1Do…loop語句Do…Loop循環(huán)是一種條件型的循環(huán),當(dāng)條件為True時或條件變?yōu)門rue之前,重復(fù)執(zhí)行語句塊,該循環(huán)共有3種形式。3.8.2ForEach…Next語句ForEach…In循環(huán)只針對數(shù)組或?qū)ο蠹现忻恳粋€元素的遍歷循環(huán)。3.8.3For…Next語句For…Next循環(huán)語句是一種強(qiáng)制性的循環(huán),用于將循環(huán)體運(yùn)行指定的次數(shù)。
3.8.4While…Wend語句While…Wend語句在條件為True時重復(fù)操作,其語法格式如下:WhileconditionStatementWend3.8.5Exit語句Exit語句可以強(qiáng)迫程序離開Do循環(huán)、For循環(huán)、Function過程與Sub過程等代碼段,其語法格式如下:ExitDo‘強(qiáng)制離開Do循環(huán)ExitFor‘強(qiáng)制離開Do循環(huán)ExitFunction‘強(qiáng)制離開Do循環(huán)ExitSub‘強(qiáng)制離開Do循環(huán)3.9VBScript中的過程3.9.1Sub過程Sub過程是一種可以獲取參數(shù),執(zhí)行一系列語句以及可改變其參數(shù)的值的獨(dú)立過程。Sub過程可以使用參數(shù)(由調(diào)用過程傳遞的常數(shù)、變量或表達(dá)式),參數(shù)用于在調(diào)用過程和被調(diào)用過程之間傳遞信息。如果Sub過程無任何參數(shù),則Sub語句必須包含空括號()。其語法結(jié)構(gòu)如下:Sub子程序名(參數(shù)1,參數(shù)2,…)…EndSub3.9.2Function過程
函數(shù)和子過程一樣,也是用來完成特定功能的獨(dú)立的程序代碼,可以讀取參數(shù)、執(zhí)行一系列語句并改變參數(shù)的值。但函數(shù)有一個最重要的特點(diǎn),就是調(diào)用時將返回一個值。
3.9.3按地址傳遞與按值傳遞
默認(rèn)情況下,參數(shù)按地址傳遞,即過程按變量的內(nèi)存地址去訪問實(shí)際變量的內(nèi)容。這樣將變量傳給過程時,通過過程就可以改變變量的值。地址傳遞的關(guān)鍵字為ByRef。另外,傳遞參數(shù)還可以按數(shù)值來傳送。按值傳遞參數(shù)時,傳遞的只是變量的副本。如果過程中改變了這個值,則所作的變動只影響副本而不會影響到變量本身。按值傳送的關(guān)鍵字是ByVal。3.9.4數(shù)組參數(shù)數(shù)組作為參數(shù)傳遞時,與普通參數(shù)有些不同。在過程中聲明數(shù)組參數(shù)時,必須略去數(shù)組的長度,即設(shè)置一個動態(tài)數(shù)組。在調(diào)用語句中,只須給出要傳遞的數(shù)組名即可,不必包括數(shù)組的下標(biāo)及圓括號。3.10VBScript函數(shù)VBScript把一些最常使用的功能整理起來,編制好了相應(yīng)的處理程序,將它們以函數(shù)的形式提供使用。教材第04章Request對象與Response對象在ASP中,與客戶端的動態(tài)交互是通過Response和Requset對象實(shí)現(xiàn)的,這兩個對象起到了服務(wù)器與客戶機(jī)之間的信息傳播作用,其中Response對象用于接受客戶端瀏覽器提交的數(shù)據(jù),而Requset對象的功能則是將服務(wù)端的數(shù)據(jù)發(fā)送到客戶端瀏覽器。4.1Request對象與Response對象的關(guān)系4.2Request對象4.3Response對象4.4在網(wǎng)頁中使用Cookie4.1Request對象與Response對象的關(guān)系
主題ASP提供了6個內(nèi)建對象。這些對象使用戶更容易收集通過瀏覽器請求發(fā)送的信息、響應(yīng)瀏覽器以及存儲用戶信息。其中,Request和Response對象最為重要,它們連接了服務(wù)器與客戶機(jī),起到信息傳遞作用。使用Request對象可以訪問任何用HTTP請求傳遞的信息,包括從HTML表格用POST方法或是GET方法傳遞的參數(shù)、Cookie和用戶認(rèn)證。而Response對象可控制發(fā)送給用戶的信息,包括直接發(fā)送信息給瀏覽器、重定向?yàn)g覽器到另一個URL或設(shè)置Cookie的值。Request和Response對象的功能是相對的,它們結(jié)合在一起,便可實(shí)現(xiàn)客戶端Web頁面與服務(wù)器端ASP文件之間的數(shù)據(jù)交換,其工作原理如下圖所示。4.2Request對象4.2.1Recordset對象概述客戶程序可以用多種方法將信息發(fā)送到ASP文件,HTML文件、另一個ASP文件或ASP文件本身,無論用何種方法來提交信息,都必須在ASP代碼中使用Request對象及其集合。Request對象的屬性Request對象的方法Request對象的集合4.2.2Recordset對象在網(wǎng)頁設(shè)計(jì)中的應(yīng)用利用Request對象可以收集并處理用戶通過HTTP請求傳遞的所有信息,包括HTML表格用POST方法或GET方法傳遞的參數(shù)、Cookie數(shù)據(jù)和用戶認(rèn)證等。Request的語法結(jié)構(gòu)如下:Request[.集合|屬性|方法](變量)
4.3Response對象4.3.1Response對象概述Response對象可以被用于控制發(fā)送給用戶的信息,包括直接發(fā)送信息給客戶端瀏覽器、重定向?yàn)g覽器到另外一個URL以及設(shè)置Cookie的值。1.Response對象的屬性2.Response對象的方法3.Response對象的集合4.3.2Response對象在網(wǎng)頁設(shè)計(jì)中的應(yīng)用1.向?yàn)g覽器發(fā)送數(shù)據(jù)2.利用緩沖區(qū)輸出數(shù)據(jù)3.實(shí)現(xiàn)網(wǎng)頁的重定位4.4在網(wǎng)頁中使用Cookie4.4.1Cookie的設(shè)置當(dāng)訪問者在某個網(wǎng)站登錄后,該網(wǎng)站將會提示是否保留Cookies以及保留多長時間。而Cookie是存儲在計(jì)算機(jī)中的一個臨時文件,它包括了用戶在登錄時的用戶名及密碼等相關(guān)信息。該文件有一個生命期限,其存在的期限由程序設(shè)計(jì)者在編寫程序時設(shè)定。在cookie文件生命期限到期的時候,就會從計(jì)算機(jī)中自動消失。1.定義Cookie2.定義Cookie變量的生命期限3.定義Cookie變量的作用域4.4.2Cookie的使用1.使用Cookie字典2.讀取Cookie值教材第05章Server對象
Server對象提供了訪問服務(wù)器對象的方法和屬性。一般的服務(wù)器系統(tǒng)其工具是以對象模型的方式被保存的,通過Server對象的使用,可以訪問服務(wù)器的信息。服務(wù)器系統(tǒng)一系列的對象模型,如數(shù)據(jù)庫連接組件Adodb,其訪問模型有連接數(shù)據(jù)庫Connection,記錄集Recordset等。一般需要通過Server對象創(chuàng)建一個這樣的對象模型的實(shí)例,而后才能正確的使用。5.1Server對象概述5.2Server對象的屬性5.3Server對象的方法9.1Access數(shù)據(jù)庫簡介
主題
Server對象提供對服務(wù)器上的方法和屬性的訪問,其中大多數(shù)方法和屬性是作為實(shí)用程序的功能服務(wù)的,如本章表5-1所示。表5-1所示成員中,使用最為頻繁的方法是CreateObject,它使網(wǎng)頁可以創(chuàng)建一個指定的對象,同時利用這個對象進(jìn)行所需的相關(guān)操作。例如,制作數(shù)據(jù)庫的功能首先要使用CreateObject方法創(chuàng)建所需的ADO對象,其他的方法包含改變網(wǎng)頁的文字輸出格式,獲取網(wǎng)頁路徑等。5.2Server對象的屬性用戶在上網(wǎng)時經(jīng)常會發(fā)現(xiàn),當(dāng)打開一個頁面后有時會出現(xiàn)很長時間的延時現(xiàn)象。這是因?yàn)槌绦虻哪_本過大,執(zhí)行腳本需要用戶等待很長一段時間,要解決這樣的問題,在ASP處理運(yùn)行時間過長的腳本可以采用Server對象的ScriptTimeout屬性來實(shí)現(xiàn)。ScriptTimeout屬性是指定一個腳本延時時間期限,其引用的一般格式如下:Server.ScriptTimeout=NumSeconds其中,NumSeconds參數(shù)指定腳本在被服務(wù)器結(jié)束前最大可運(yùn)行的秒數(shù)。若腳本超過該時間限度仍沒有執(zhí)行完畢,將被終止,并顯示超時錯誤提示(該屬性的單位為秒,默認(rèn)值為90秒)。5.3Server對象的方法5.3.1HTMLEncode方法HTMLEncode方法對指定的字符串應(yīng)用HTML編碼。HTMLEncode方法引用的一般格式如下所示:Server.HTMLEncode(string)5.3.2URLEncode方法URLEncode方法是將URL編碼規(guī)則(包括轉(zhuǎn)義字符),應(yīng)用到指定的字符串。URLEncode方法引用的一般格式如下:Server.URLEncode(string)5.3.3MapPath方法MapPath方法將指定的相對或虛擬路徑映射到服務(wù)器上相應(yīng)的物理目錄上。MapPath方法引用的一般格式如下:Server.MapPath(Path)5.3.4CreateObject方法CreateObject方法是Server對象的最重要方法,用于創(chuàng)建已注冊到服務(wù)器上的組件的實(shí)例。CreateObject方法引用的一般格式如下:Server.CreateObject(progID)5.3.6Execute方法Execute方法用來在當(dāng)前的ASP頁面執(zhí)行同一Web服務(wù)器上指定的另一個ASP頁面。當(dāng)指定的ASP頁面執(zhí)行完畢,控制流程重新返回原頁面發(fā)出Execute調(diào)用的位置。Execute方法類似于許多編程語言的過程調(diào)用,只不過過程調(diào)用是執(zhí)行一個過程,而Execute方法是執(zhí)行一個完整的ASP文件。其語法結(jié)構(gòu)如下:Server.Execute(URL地址名稱)5.3.7GetLastError方法GetLastError方法返回一個ScriptError對象,用于捕捉當(dāng)前ASP程序的運(yùn)行錯誤并向用戶返回有用的信息,如錯誤描述和發(fā)生錯誤的行號等。其語法結(jié)構(gòu)如下:Server.GetLastError()教材第06章Application對象與Session對象本章將介紹兩個重要的ASP內(nèi)建對象——Application對象與Session對象。其中,Application對象可以在所有用戶之間共享信息,并在服務(wù)器運(yùn)行期間持久地保存數(shù)據(jù)。而且Application對象對象還有控制訪問應(yīng)用層數(shù)據(jù)的方法和可用于在應(yīng)用程序啟動和停止時觸發(fā)過程的事件。Session對象對象更接近于普通應(yīng)用程序中的全局變量,全局變量在程序執(zhí)行的過程中始終有效,其他用戶同時啟動該程序的另一個副本,該程序的兩個實(shí)例使用各自的全局變量,在兩個進(jìn)程之間不能互相訪問信息。6.1Application對象6.2Session對象6.3Global.asa文件6.1Application對象
主題6.1.1Application對象概述
Application對象是個應(yīng)用程序級的對象,它可以產(chǎn)生一個全部的Web應(yīng)用程序都可以存取的變量,所有的客戶都可以訪問這個變量。應(yīng)用程序是駐留在Web站點(diǎn)的特定目錄中的一組文件。每個Web站點(diǎn)上可以有多個應(yīng)用程序,還可以根據(jù)某個任務(wù)為一些ASP文件創(chuàng)建一個應(yīng)用程序。例如,創(chuàng)建一個應(yīng)用程序?yàn)槿靠蛻舴?wù)后,再創(chuàng)建一個新的應(yīng)用程序來為網(wǎng)絡(luò)管理員服務(wù)。應(yīng)用程序的運(yùn)行實(shí)例用Application對象表示,其生存期從請求該應(yīng)用程序的第一個頁面開始(不是從服務(wù)器啟動開始),直到Web站點(diǎn)關(guān)閉時結(jié)束。由于存儲在Application對象中的數(shù)據(jù)可以被應(yīng)用程序的所有用戶共享,因而Application對象特別適合在應(yīng)用程序的不同用戶之間傳遞信息。6.1.2Application對象的屬性Application對象沒有內(nèi)置屬性,用戶可根據(jù)需要自行創(chuàng)建。創(chuàng)建一個屬性后,在整個應(yīng)用程序運(yùn)行期間,此屬性的值都可以被所有的用戶訪問。如下面的代碼定義了一個Application對象的屬性Welcome:<%Application("Welcome")="本網(wǎng)站屬于非贏利性商業(yè)網(wǎng)站"%>6.1.3Application對象的方法Application對象對于網(wǎng)站所有的網(wǎng)頁和在線用戶來說,是一個公開的對象,因此,任何人在任何時間都有可能對其進(jìn)行存取。當(dāng)一個Application對象在同一個時間被存取,此時沖突就會發(fā)生,因此,對于Application對象,適當(dāng)?shù)叵拗朴脩舸嫒》浅V匾?/p>
Application對象包含Lock和UnLock兩種方法。Lock方法用于鎖定Application對象,保證同一時刻只有一個用戶可以操作其中的數(shù)據(jù),避免多個用戶同時修改同一數(shù)據(jù)而產(chǎn)生的沖突。UnLock方法用于解除Lock方法對數(shù)據(jù)的鎖定,以便其他用戶能訪問和修改Application對象的屬性。Lock和UnLock這兩種方法總是成對出現(xiàn)的,這樣可以確保Application對象中數(shù)據(jù)對所有用戶的完整性和一致性。6.1.4Application對象的事件Application對象包含Application_OnStart和Application_OnEnd兩個事件。當(dāng)網(wǎng)站的第一個用戶通過瀏覽器打開一份網(wǎng)頁的時候,Application對象就會被自動創(chuàng)建,與此同時,Application對象所定義的OnStart事件便會被觸發(fā),對于ASP網(wǎng)頁的程序設(shè)計(jì)師而言,會將焦點(diǎn)放在所觸發(fā)的OnStart事件,整個網(wǎng)站一開始所要執(zhí)行的工作、初始化操作的相關(guān)程序代碼,都可以在這個事件里面作處理。6.1.5使用Application對象保存數(shù)據(jù)在Application對象中,它保存的內(nèi)容除了可以是簡單數(shù)據(jù)類型的變量和普通對象外,還可以是一個保存有多個值的數(shù)組。創(chuàng)建的過程中要求定義一個普通的數(shù)組并將值賦給它,然后將數(shù)組整體定義為一個Application對象,如下例所示:<%dimArray()Array=Application("array")fori=0toubound(array)Response.writeArray(i)nexti%>6.2Session對象6.2.1Session對象概述Web上用在瀏覽器和服務(wù)器之間傳送請求和響應(yīng)的HTTP協(xié)議是無狀態(tài)協(xié)議,Web服務(wù)器將每個頁面請求都當(dāng)作獨(dú)立的請求,服務(wù)器不保留以前請求的任何信息。
ASP的Session對象彌補(bǔ)了HTTP無法記憶先前請求的缺陷。Session對象可用來標(biāo)識每次訪問的用戶并收集信息,用戶在應(yīng)用程序的頁面之間跳轉(zhuǎn)時,該Session信息仍然存在并保持不變。在用戶與網(wǎng)站服務(wù)器保持聯(lián)系期間,應(yīng)用程序可調(diào)用這些存儲的信息來跟蹤用戶的喜好或選擇。6.2.2Session對象的屬性1.SessionID屬性2.TimeOut屬性6.2.3Session對象的方法Abandon方法是Session對象的唯一方法,Abandon方法可以用來刪除用戶的Session對象并釋放其所占用的資源。下面的語句將用于消除Session對象:<%Session.Abandon%>6.2.4Session對象的事件Session對象包含Session_OnStart和Session_OnEnd兩個事件。當(dāng)網(wǎng)站一個新的用戶上線通過瀏覽器請求一份網(wǎng)頁的時候,這個用戶的專屬Session對象就會被創(chuàng)建。Session對象所定義的OnStart事件同時被觸發(fā)。當(dāng)一個用戶離線或是停止任何瀏覽網(wǎng)頁操作時,一旦過了Session對象的存活期限,代表此用戶的Session對象就會被結(jié)束。此時OnEnd事件即會被觸發(fā),處理用戶離線時所需的程序代碼可以放在這個事件里面作處理。6.2.5使用Session記錄用戶登錄信息本節(jié)以一個簡單的實(shí)例,介紹利用Session對象來記錄變量內(nèi)容的方法。6.3Global.asa文件Global.asa文件是一個文本文件,可使用任何文本編輯器進(jìn)行編輯。下面就是一個標(biāo)準(zhǔn)的空白Global.asa文件結(jié)構(gòu):<SCRIPTLANGUAGE=VBScriptRUNAT=Server>SubApplication_OnStart'當(dāng)?shù)谝粋€用戶運(yùn)行ASP應(yīng)用程序中的任何一個頁面時執(zhí)行EndSubSubApplication_OnEnd'當(dāng)Web服務(wù)器關(guān)閉時執(zhí)行EndSubSubSession_OnStart'用戶第一次運(yùn)行ASP應(yīng)用程序中的任何一個頁面時執(zhí)行EndSubSubSession_OnEnd'當(dāng)一個用戶的會話超時或退出應(yīng)用程序時執(zhí)行EndSub</SCRIPT>教材第07章ASP的內(nèi)置組件本章將介紹ASP的常用服務(wù)器組件,包括AdRotator組件、Browser組件、FileSystem組件、ContentLinking組件、Dictionary組件、Connection組件、RecordSet組件和Command組件等。組件實(shí)際上就是已經(jīng)在服務(wù)器上注冊的ActiveX控件,用戶也可以利用如VisualBasic、C++、VisualC++、Java等開發(fā)工具創(chuàng)建自己的組件。7.1使用AdRotator組件制作廣告輪顯效果7.2使用BrowserCapabilities組件檢測瀏覽器7.3使用ContentRotator組件制作內(nèi)容輪轉(zhuǎn)效果7.4使用ContentLinker組件制作頁面索引7.5使用PageCounter組件設(shè)計(jì)網(wǎng)站計(jì)數(shù)器7.6使用Counters組件創(chuàng)建投票計(jì)數(shù)器7.7使用PermissionChecker組件檢查用戶權(quán)限7.8使用MyInfo組件存儲網(wǎng)站所有者信息7.9使用Tools組件創(chuàng)建Tools對象7.10使用IISLog組件抽取IIS日志信息7.11利用Dictionary對象保存字典對象7.12開發(fā)ASP自定義組件7.1使用AdRotator組件制作廣告輪顯效果
主題7.1.1創(chuàng)建AdRotator計(jì)劃文件AdRotator組件是通過讀取AdRotator計(jì)劃文件來完成工作的。AdRotatar計(jì)劃文件包括與要顯示的圖像文件的地點(diǎn)有關(guān)的信息以及每個圖像的不同屬性。7.1.2設(shè)置廣告圖像重定向文件廣告條放置到網(wǎng)站后,用戶對廣告條進(jìn)行單擊操作后,ASP就會打開重定向文件。重定向文件通常是用戶創(chuàng)建的文件,它包含用來解析由AdRotator對象發(fā)送的查詢字符串的腳本,并將用戶重定向到與用戶所單擊的廣告所相關(guān)的URL。用戶也可以將腳本包含進(jìn)重定向文件中,以便統(tǒng)計(jì)單擊某一特定廣告的用戶數(shù)目并將這一信息保存到服務(wù)器上的某一文件中,如下例所示:<%'將本將單擊情況記錄到Web服務(wù)器日志文件中Response.AppendToLogRequest.QueryString("url")'重定向到廣告指定的站點(diǎn)Response.Redirect(Request.Querystring("url"))%>7.1.3創(chuàng)建網(wǎng)站廣告顯示頁面ASP如欲在頁面中調(diào)用AdRotator組件,首先必須使用Server.CreateObject方法實(shí)例化AdRotator對象。AdRotator組件的PROGID屬性是MSWC.AdRotator,完整的代碼如下:<%Setad=Server.CreateObject("MSWC.AdRotator")%><%=ad.GetAdvertisement("/ads/adrot.txt")%>7.2使用BrowserCapabilities組件檢測瀏覽器BrowserCapabilities組件用于檢測客戶端瀏覽器的能力。通過該組件,可以知道瀏覽器的名稱、版本,以及是否支持框架、ActiveX控件、Cookie和腳本程序等。BrowserCapabilities組件的工作原理如下:當(dāng)客戶端瀏覽器向服務(wù)器發(fā)送頁面請求時會自動發(fā)送一個UserAgentHTTP標(biāo)題,而該標(biāo)題是一個聲明瀏覽器及其版本的ASCII字符串。而
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東梅州職業(yè)技術(shù)學(xué)院《交通規(guī)劃課程設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱商業(yè)大學(xué)《物理化學(xué)實(shí)驗(yàn)(上)》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江藝術(shù)職業(yè)學(xué)院《地理專業(yè)》2023-2024學(xué)年第二學(xué)期期末試卷
- 14保護(hù)呼吸器官(教學(xué)設(shè)計(jì))-2024-2025學(xué)年科學(xué)三年級上冊人教鄂教版
- 河南輕工職業(yè)學(xué)院《嵌入式綜合實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 中南林業(yè)科技大學(xué)《生命科學(xué)進(jìn)展》2023-2024學(xué)年第二學(xué)期期末試卷
- 宜賓學(xué)院《天然產(chǎn)物》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱商業(yè)大學(xué)《流體力學(xué)B》2023-2024學(xué)年第二學(xué)期期末試卷
- 瀘州四川瀘州瀘縣氣象局見習(xí)基地招收見習(xí)人員2人筆試歷年參考題庫附帶答案詳解
- 大連軟件職業(yè)學(xué)院《數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 異位妊娠護(hù)理查房版本
- 人教版 八年級數(shù)學(xué)下冊 第19章 單元綜合測試卷(2025年春)
- 2024年美發(fā)師(高級技師)職業(yè)鑒定考試題庫(含答案)
- 2025年山東藥品食品職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2024年05月湖南招商銀行長沙分行長期社會招考筆試歷年參考題庫附帶答案詳解
- 滬科版(2024新版)數(shù)學(xué)七年級下冊第6章 實(shí)數(shù) 單元測試卷(含答案)
- 2025新人教版英語七年級下單詞英譯漢默寫表(小學(xué)部分)
- 電子物料基礎(chǔ)知識
- 外科疝氣的個案護(hù)理
- 2025屆江蘇省南京市鹽城市高三一??荚囌Z文試題 課件
- 幼兒園保育教育質(zhì)量自評指導(dǎo)手冊(試行)
評論
0/150
提交評論