




已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第9章 服務(wù)器對(duì)象,本章主要內(nèi)容如下,在ASP中,服務(wù)器的對(duì)象(Server)是五個(gè)內(nèi)置對(duì)象之一,用它可以創(chuàng)建其它類型的對(duì)象,本章分別討論: 用服務(wù)器對(duì)象創(chuàng)建對(duì)象 對(duì)發(fā)送內(nèi)容進(jìn)行編碼 求文件的物理路徑 腳本運(yùn)行時(shí)間的控制,本章目錄,9.2 編碼發(fā)送內(nèi)容,9.1 用服務(wù)器對(duì)象創(chuàng)建其它對(duì)象,本章小結(jié),習(xí)題,9.3 求文件的物理路徑,9.4 設(shè)置腳本運(yùn)行時(shí)間,9.1 用服務(wù)器對(duì)象創(chuàng)建其它對(duì)象,除了ASP中內(nèi)建的對(duì)象外,其它所有對(duì)象都必須通過服務(wù)器對(duì)象來創(chuàng)建,如后面要討論的文件對(duì)象、數(shù)據(jù)庫對(duì)象,以及其它已注冊(cè)到服務(wù)器上的ActiveX組件對(duì)象。 以下分別討論: 對(duì)象的創(chuàng)建 對(duì)象的釋放,1.對(duì)象的創(chuàng)建,創(chuàng)建對(duì)象一般形式為: set 對(duì)象變量名=Server.CreateObject(“對(duì)象組件名稱”) 例如: set conn=Server.CreatObject(“ADODB.connection”) 創(chuàng)建了一個(gè)用于處理數(shù)據(jù)庫的對(duì)象,其中conn為對(duì)象變量名,ADODB.connection為對(duì)象組件名稱。,2.對(duì)象的釋放,創(chuàng)建的每一個(gè)對(duì)象,都占用一些系統(tǒng)資源,如果對(duì)象不再使用時(shí),應(yīng)該釋放其占用的資源,其語法為: set 對(duì)象變量名=nothing 例如: set conn=nothing,9.2 編碼發(fā)送內(nèi)容,在html中,將某些符號(hào)賦予了新的含義,因此,ASP中將某些內(nèi)容發(fā)送給瀏覽器時(shí),應(yīng)將包含的可能產(chǎn)生對(duì)瀏覽器來說具有特殊含義的符號(hào)進(jìn)行必要的轉(zhuǎn)換。為此,服務(wù)器對(duì)象根據(jù)不同的需要設(shè)計(jì)了幾個(gè)實(shí)現(xiàn)轉(zhuǎn)換的方法。 1html編碼字符串 2URL編碼字符串 3編碼腳本路徑,1html編碼字符串,(1)必要性 當(dāng)你將一段來自于數(shù)據(jù)庫或其它位置的內(nèi)容插入到html文檔中時(shí),瀏覽器會(huì)把其中的一些符號(hào)當(dāng)作html的標(biāo)簽來識(shí)別,從而顯示出不正常的結(jié)果,請(qǐng)看下例。,網(wǎng)頁中包含特殊信息的網(wǎng)頁,網(wǎng)頁內(nèi)容 文字內(nèi)容“ response.write “在C語言中,變量a、b中取較大者的表示形式為:a ,這是html標(biāo)簽,在網(wǎng)頁中小于號(hào)將作為特殊符號(hào)處理,網(wǎng)頁中包含特殊信息的網(wǎng)頁,瀏覽結(jié)果,注意:這顯然是不希望看到的結(jié)果。,這里的原有的小于號(hào)被當(dāng)成是特殊符號(hào)了,點(diǎn)擊驗(yàn)證本例,1html編碼字符串,(2)處理方法 可以使用服務(wù)器對(duì)象來對(duì)輸出內(nèi)容進(jìn)行編碼,以解決上述存在的問題。形式如下: Server.HtmlEncode(“輸出字符串”) 請(qǐng)看修改后的例子,對(duì)輸出字符進(jìn)行編碼,網(wǎng)頁內(nèi)容 文字內(nèi)容“) response.write “ response.write Server.HtmlEncode(“兩變量中取較大者的表示形式為:a ,對(duì)輸出字符進(jìn)行編碼,瀏覽結(jié)果,點(diǎn)擊驗(yàn)證本例,1html編碼字符串,(3)特殊情況的處理 如果被編碼的字符串是來自于數(shù)據(jù)庫的某一字段,這時(shí),很可能是一個(gè)Null值,而直接對(duì)它進(jìn)行編碼將產(chǎn)生運(yùn)行錯(cuò)誤。例: ,單擊這里瀏覽網(wǎng)頁看錯(cuò)誤信息 若無法顯示請(qǐng)單獨(dú)打開瀏覽器,1html編碼字符串,(3)特殊情況的處理 為了避免這一錯(cuò)誤的發(fā)生,在輸出來自于數(shù)據(jù)庫的內(nèi)容時(shí),應(yīng)先使用函數(shù)isNull進(jìn)行判空的操作。形式如下 : If isNull(str) then Response.write “” Else Response.write Server.HtmlEncode(str) End if,2URL編碼字符串,對(duì)于發(fā)送給服務(wù)器的帶有查詢字符串的重定向命令中,有時(shí)也可能包含一些特定的字符。例如,要通過網(wǎng)頁abc.asp查詢一個(gè)包含a+b的表達(dá)式,可能使用如下形式: 而此時(shí),服務(wù)器端接收到的查詢字符串變成了“exp=a b”,即其中的“+”變成了空格。,2URL編碼字符串,為了讓服務(wù)器端能接收到正確的查詢字符串,可以使用服務(wù)器對(duì)象的URLEncode 方法。使用形式如下: Server.URLEncode(“編碼字符串”) 即把上面的一行改寫成如下形式: 注意:不能將整個(gè)查詢字符串作為參數(shù)來進(jìn)行編碼,即不能把上式寫成如下形式: 因?yàn)槭街械摹?”是不應(yīng)該轉(zhuǎn)換的。,2URL編碼字符串,另外對(duì)于多個(gè)查詢變量還需要分別轉(zhuǎn)換,如例所示。 網(wǎng)頁內(nèi)容 % option explicit if len(Request.Servervariables(“QUERY_STRING“)=0 then dim strurl strurl=Request.Servervariables(“SCRIPT_NAME“) strurl=strurl & “?“ strurl=strurl & “exp=“ & Server.urlEncode(“a+b“) strurl=strurl & “&value=“ & Server.urlEncode(“3“),2URL編碼字符串,網(wǎng)頁內(nèi)容(續(xù)) response.redirect strurl end if % 表達(dá)式: 值: ,2URL編碼字符串,瀏覽結(jié)果,點(diǎn)擊驗(yàn)證本例,3編碼腳本路徑,當(dāng)重定向目標(biāo)網(wǎng)頁所在目錄的目錄名中包含特殊字符,例如空格,則還需要對(duì)腳本的路徑進(jìn)行編碼。這時(shí),可使用服務(wù)器對(duì)象的UrlPathEncode方法,使用形式如下: Server.UrlPathEncode(“路徑字符串”),9.3 求文件的物理路徑,許多文件操作都需要使用實(shí)際的目錄路徑作為參數(shù),如文件的打開、復(fù)制或刪除等操作。可以使用服務(wù)器的路徑映射方法來求某一虛擬路徑所對(duì)應(yīng)的物理路徑。使用形式如下: Server.mappath(“虛擬的路徑字符串”) 即求指定虛擬路徑所對(duì)應(yīng)的物理路徑。,求物理路徑例,網(wǎng)頁內(nèi)容 Web站點(diǎn)的根目錄為: 當(dāng)前腳本的虛擬路徑為: 當(dāng)前腳本的物理路徑為: 當(dāng)前目錄中文件名為abc.txt的物理路徑為: ,求物理路徑例,瀏覽結(jié)果,注意:這一方法中并不檢查實(shí)際的文件是否存在。即上例中abc.txt可能實(shí)際上并不存在。,點(diǎn)擊驗(yàn)證本例,9.4 設(shè)置腳本運(yùn)行時(shí)間,一般情況下,服務(wù)器不應(yīng)該讓一個(gè)腳本無限制地執(zhí)行。對(duì)此,在服務(wù)器管理器中可以設(shè)置ASP腳本的超時(shí)時(shí)間,默認(rèn)值為90秒。 這就意味著,如果沒有特別的說明,所有ASP腳本都必須在這一時(shí)間范圍內(nèi)執(zhí)行完成,否則將出現(xiàn)超時(shí)錯(cuò)誤的提示。,(1)Win7中腳本運(yùn)行時(shí)間設(shè)置,右擊后選擇打開功能,(2)其它系統(tǒng)設(shè)置步驟,設(shè)置站點(diǎn)一級(jí)的腳本運(yùn)行超時(shí)時(shí)間的步驟如下:,(1) 打開服務(wù)器管理器(ISM),右擊站點(diǎn)名稱,設(shè)置腳本運(yùn)行時(shí)間步驟,打開Web站點(diǎn)的屬性(Properties)對(duì)話框,如圖所示,設(shè)置腳本運(yùn)行時(shí)間步驟,(2) 切換到主目錄(Home Directory)選項(xiàng)卡,設(shè)置腳本運(yùn)行時(shí)間步驟,(2) 單擊配置(Configuration)按鈕,打開應(yīng)用程序配置 (Application Configuration) 對(duì)話框,如圖所示。,設(shè)置腳本運(yùn)行時(shí)間步驟,(3) 切換到應(yīng)用程序選項(xiàng)(App Options)選項(xiàng)卡,將ASP腳本超時(shí)值(ASP Script Timeout)改變成想要的新值。如圖所示。,設(shè)置腳本運(yùn)行時(shí)間步驟,(4) 單擊確定按鈕,關(guān)閉這兩個(gè)對(duì)話框,保存所做的改變。設(shè)置立即生效。 若要設(shè)置應(yīng)用程序一級(jí)的腳本運(yùn)行時(shí)間,只需在ISM窗口的站點(diǎn)下的應(yīng)用程序名上右擊鼠標(biāo),其后的操作相同。,設(shè)置腳本運(yùn)行時(shí)間步驟,作為ASP腳本的編寫者,如果有個(gè)別腳本需要較長的運(yùn)行時(shí)間,可以通過在網(wǎng)頁中改變Server對(duì)象的scriptTimeout屬性值來延長超時(shí)時(shí)間。形式如下: Server.ScriptTimeout=100 注意:如果在腳本設(shè)置一個(gè)比默認(rèn)值小的值,將不起作用。,腳本超時(shí)時(shí)間測試?yán)?網(wǎng)頁內(nèi)容 ,產(chǎn)生5秒種后的時(shí)間,延時(shí)5秒,腳本超時(shí)時(shí)間測試?yán)?瀏覽結(jié)果,本例在Windows 2000服務(wù)器上的執(zhí)行結(jié)果如圖所示 但在PWS上瀏覽時(shí)有一些誤差,點(diǎn)擊驗(yàn)證本例,本章小結(jié),服務(wù)器對(duì)象提供給我們的主要是創(chuàng)建對(duì)象方法,通過它可以創(chuàng)建所有系統(tǒng)中已經(jīng)注冊(cè)的ActiveX組件對(duì)象。然而,這一方法只能在以后的章節(jié)中使用它, 本章主要討論了服務(wù)器對(duì)象的幾個(gè)實(shí)現(xiàn)字符串轉(zhuǎn)換的方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年四川省德陽市中考?xì)v史真題
- 校園流浪動(dòng)物救助活動(dòng)策劃與志愿者團(tuán)隊(duì)建設(shè)研究論文
- 小學(xué)課間活動(dòng)對(duì)課堂紀(jì)律影響的調(diào)查研究論文
- 英語社日常管理制度
- 萊蕪鋼城區(qū)中考二模語文試題(含答案)
- 設(shè)備維修合同 (一)
- 自動(dòng)控制原理復(fù)習(xí)題
- 表格式課時(shí)教案二年級(jí)數(shù)學(xué)上冊(cè)人教版
- 自動(dòng)控制理論實(shí)驗(yàn)教學(xué)大綱
- 河北省廊坊市永清縣2024-2025學(xué)年八年級(jí)下學(xué)期6月期末英語試題(含答案無聽力原文及音頻)
- 華萊士加盟合同范本
- 內(nèi)蒙古呼和浩特市2024-2025學(xué)年九年級(jí)上學(xué)期期末歷史試題(含答案)
- 《銷售技巧及話術(shù)》課件
- 2025年新高考全國Ⅰ卷英語模擬試卷(含答案)
- 遼寧省沈陽市皇姑區(qū)2023年小升初語文試卷(學(xué)生版+解析)
- 鐵路技術(shù)規(guī)章:018鐵路軍事運(yùn)輸管理辦法
- 廣東開放大學(xué)Java程序設(shè)計(jì)基礎(chǔ)(專)單元測試1-7答案
- 大部分分校:地域文化形考任務(wù)三-國開(CQ)-國開期末復(fù)習(xí)資料
- 2022-2023學(xué)年天津市濱海新區(qū)高二(下)期末地理試卷
- 《中國近現(xiàn)代史綱要》題庫及參考答案
- 五年級(jí)滬教版數(shù)學(xué)下學(xué)期應(yīng)用題專項(xiàng)針對(duì)練習(xí)
評(píng)論
0/150
提交評(píng)論