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