国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP教程 - ASP七大對象說明分析

ASP七大對象說明分析

2019-10-14 11:11asp教程網 ASP教程

ASP七大對象說明分析,復習了ASP,加深了對ASP結構的理解和ASP的體會,可以用來做ASP參考,自己寫的,參考起來更方便

/*-------------------ASP文檔參考集-----------------------*/

*-->作者:草履蟲

*-->時間:2007-4.28---2007-4.30(原來是自己編寫的手冊,現在發在這里)

*-->聯系:caolvchong@gmail.com

*-->文檔功能:

1.復習了ASP,加深了對ASP結構的理解和ASP的體會

2.可以用來做ASP參考,自己寫的,參考起來更方便

這是第二部分:ASP七大對象

/*---------------------------ASP七大對象----------------------------*/

*-->Application對象:

功能:在給定的應用程序的所有用戶之間共享信息,并在服務器運行期間持久的保存數

據.而且,Application對象還有控制訪問應用層數據的方法和可用于在應用程序啟

動和停止時觸發過程的事件(OnStart事件和OnEnd事件)

屬性:沒有內置的屬性

集合:即用戶自定義的屬性

Application對象的集合及說明:

Contents:沒有使用元素定義的存儲于Application對象中的所有變量(及

它們的值)的一個集合.包括Variant數組和Variant類型對象實例的引用

StaticObjects:使用元素定義的存儲于Application對象中的所有變量

(及它們的值)的一個集合

對應的例子:

設置application屬性值:

Application("MyVar")="Hello"

SetApplication("MyObj")=Server.CreateObject("MyComponent")

方法:

Contents.Remove():移去某個application集合

Contents.Removeall():移去所有的Application集合

Lock():阻止其他客戶修改存儲在Application對象中的變量,以確保在同一時刻僅

有一個客戶可修改和存取Application變量.如果用戶沒有明確調用Unlock

方法,則服務器將在.asp文件結束或超時后即解除對Application對象的鎖

Unlock():使其他客戶端可以在使用Lock方法鎖住Application對象后,修改存儲在

該對象中的變量.如果未顯式調用該方法,Web服務器將在.asp文件結束或超時

后解鎖Application對象

一個綜合點的例子:

在1.asp中:

'設置3個application屬性值

application("chong1")="第1個application集合項"

application("chong2")="第2個application集合項"

application("chong3")="第3個application集合項"

'設置的屬性值都保留在application.contents中,基數從0開始,因此可以用

'for循環讀出來

'這里總結下contents集合的屬性:

'count屬性:返回集合中所有的項數,返回值是個整數

'item屬性:用于設置或返回集合中一個特定成員的值,item屬性是

contents

'集合的默認屬性,因此.item(x)相當于.(x)

'key屬性:key(x)返回對應的屬性名,如上面

application.contents.key(1)

'將返回chong1

Fori=1toApplication.Contents.Count

Response.Write(Application.Contents.item(i))

Next

在2.asp中:

'2.asp和1.asp共享了application對象內容,因此可以對該集合元素進行修

改或刪除等

application("chong1")="我被修改了"'修改application屬性值

application.Contents.Remove("chong2")'刪除application屬性值

foreachjinapplication.Contents'foreach形式訪問application

response.Write(Application.Contents.item(j))

next

事件:至于兩個事件onstart()和onend()等總結Global.asa文件時介紹

經驗:通常地,當要修改某個application值時,應當先用Lock()鎖定它,然后再修改,修

改完后再Unlock(),防止多個用戶并發訪問該對象

常用:設置,修改和刪除application集合,結合lock和unlock方法

*-->Session對象:

功能:Session對象存儲特定的用戶會話所需的信息.當用戶在應用程序的頁之間跳轉

時,存儲在Session對象中的變量不會清除,而用戶在應用程序中訪問頁面時,這些

變量始終存在.當用戶請求來自應用程序的Web頁時,如果該用戶還沒有會話,則

Web服務器將自動創建一個Session對象.當會話過期或被放棄后,服務器將終止該

會話(和application差別是session不是共享的,各個用戶有各自的session,由此

可以用來驗證用戶的身份)

集合:和application一樣地,session具有contents和StaticObject兩個集合

屬性:

CodePage:讀/寫.整型.定義用于在瀏覽器中顯示頁內容的代碼頁(CodePage).代碼

頁是字符集的數字值,不同的語言和場所可能使用不同的代碼頁.例如,650001

是UTF-8,936為GB2312

LCID:讀/寫.整型.定義發送給瀏覽器的頁面地區標識(LCID).LCID是唯一地標識地

區的一個國際標準縮寫,例如,2057定義當前地區的貨幣符號是'£'.LCID也可

用于FormatCurrency等語句中,只要其中有一個可選的LCID參數.LCID也可在

ASP處理指令<%...%>中設置,并優先于會話的LCID屬性中的設置.

SessionID:只讀.長整型.返回這個會話的會話標識符.SessionID屬性返回用戶的

會話標識.在創建會話時,服務器會為每一個會話生成一個單獨的標識.會話標

識以長整形數據類型返回.在很多情況下SessionID可以用于WEB頁面注冊

統計

Timeout:讀/寫.整型.為這個會話定義以分鐘為單位的超時周期.如果用戶在超時周

期內沒有進行刷新或請求一個網頁,該會話結束.在各網頁中根據需要可以修

改.缺省值是20min,在使用率高的站點上該時間應更短

方法:

Abandon():Abandon方法刪除所有存儲在Session對象中的對象并釋放這些對象的

源.如果您未明確地調用Abandon方法,一旦會話超時,服務器將刪除這些對象.

當服務器處理完當前頁時,下面示例將釋放會話狀態

另外,session和application一樣,具有contents.remove()和

contents.removeall()方法

事件:至于兩個事件onstart()和onend()等總結Global.asa文件時介紹

常用:設置,修改,刪除session,另外timeout也是常用的,記住一點,session依賴cookies,當瀏覽器關閉或者不

支持cookie時將不能訪問到session

*-->request對象:

功能:Request對象在HTTP請求期間,檢索客戶端瀏覽器傳遞給服務器的值

集合:

ClientCertificate:當客戶端訪問一個頁面或其他資源時,用來向服務器表明身份

的客戶證書的所有字段或條目的數值集合,每個成員均是只

讀.ClientCertificate集合從Web瀏覽器發布請求中獲取驗證字段(由X.509

標準指定).如果Web瀏覽器使用SSL3.0/PCT1協議(也就是說,它使用以

https://開頭的URL,而不是http://)連接服務器及服務器請求驗證,則瀏覽器

將發送驗證字段.如果沒有發送驗證,ClientCertificate集合將返回EMPTY.必

須先將Web服務器配置為要求客戶端驗證,然后才能使用ClientCertificate

集合.

Cookies:根據用戶的請求,用戶系統發出的所有cookie的值的集合,這些Cookie僅

對相應的域有效,每個成員均為只讀,cookies也具有count,item,key三個屬

性,用法可以類比上面提到的application中提到的.另外,cookies還有個屬性

haskeys,指明cookie是多值還是單值的,多值返回true,單值返回false

Form:的屬性值為POST時,所有作為請求提交的

段中的HTML控件單元的值的

 

集合,每個成員均為只讀,form也具有count,item,key三個屬性

QueryString:依附于用戶請求的URL后面的名稱/數值對或者作為請求提交的且

METHOD屬性值為GET(或者省略其屬性)的,字符串由問號(?)后的值指定,或

中所有HTML控件單元的值,每個成員均為只讀,Querystring也具有

count,item,key三個屬性

ServerVariables:隨同客戶端請求發出的HTTP報頭值,以及Web服務器的幾種

環境變量的值的集合,每個成員均為只讀,ServerVariables也具有

count,item,key三個屬性servervariables參數我打印在了"servervariables

參數集"文檔里了

屬性:

TotalBytes:指定客戶端在請求正文中發送的總字節數.該屬性只允許讀

方法:

BinaryRead():獲取作為POST請求的一部分而從客戶端傳送到服務器的數據.此方

法獲取來自客戶端的數據并將其儲存在SafeArray中.SafeArray是一個數組,其中

包含維數和邊界信息,通俗地說,安全數組就時維數以及維數的上下限都確定的數組

BinaryRead方法用于讀取作為POST請求的一部分從客戶端發出的未加工數據.此方

法用于在底層訪問數據,與此相反,Request.Form集合用于查看在公告請求中發送

的表格數據.一旦調用了BinaryRead,則引用Request.Form集合中的任何變量都將

導致錯誤發生.反之,一旦引用了Request.Form集合中的一個變量,則調用

BinaryWrite也將導致錯誤發生.請記住,如果在訪問Request集合中的變量時未指

定該變量屬于哪一個子集,將搜索Request.Form集合并強制使用上述規則.

常用:對于表單的提交或者是頁面之間的參數傳遞,request起著重要的作用,區分好

Form和QueryString兩個區別,

當而只用request,省略這兩個集合時,asp會自動調整,但這樣做是不好的.對于表

單,通常request是通過

表單元素的name來獲得表單元素的值(value)

另外,在無組件上傳文件時,TotalBytes用來獲取上傳文件的大小,BinaryRead()

用來獲取上傳表單的所有內容.

當然,如果想獲得文件內容,需要進行對BinaryRead()獲得的內容進行分析截取

*-->response對象:

功能:將輸出發送到客戶端,剛好和request相對

集合:

cookies:在當前響應中,發回客戶端的所有cookie的值,這個集合為只寫

例子:

'Expires設置過期事件,時間格式#英文月單詞數字日期,4位年份#

response.cookies("name")="草履蟲"

response.cookies("name").Expires=#May11,2007#

'至于讀就要用request.cookies了

name=request.cookies("name")'這樣name就獲得了"草履蟲"

'利用cookies可以做免密碼登錄,判斷用戶是否登錄過以及由這些觸發的事件等

'cookie也有count,item和key屬性

'單個cookie屬性還有dimain,haskeys,path,secure屬性,具體的等用到時候再查

屬性:

Buffer=True|False:讀/寫,布爾型,表明由一個ASP頁所創建的輸出是否一直存放

在IIS緩沖區,直到當前頁面的所有服務器腳本處理完畢或Flush、End方法被

調用.在任何輸出(包括HTTP報頭信息)送往IIS之前這個屬性必須設置.因此

在.asp文件中,這個設置應該在<%@LANGUAGE=...%>語句后面的第一行.ASP3.0

缺省設置緩沖為開(True),而在早期版本中缺省為關(False)

CacheControl:讀/寫,字符型,設置這個屬性為"Public"允許代理服務器緩存頁面,

如為"Private"則禁止代理服務器緩存的發生.

Charset:讀/寫,字符型,在由服務器為每個響應創建的HTTPContent-Type報頭中附

上所用的字符集名稱(例如:ISO-LATIN-7)

ContentType="MIME-type":讀/寫,字符型,指明響應的HTTP內容類型,標準的MIME

類型(例如"text/xml"或者"Image/gif").假如省略,表示使用MIME類型

"text/html",內容類型告訴瀏覽器所期望內容的類型,關于MIME列表,打印在

MIME參考文檔里,需要時可以去參考

Expires:讀/寫,數值型,指明頁面有效的以分鐘計算的時間長度,假如用戶請求其有

效期滿之前的相同頁面,將直接讀取顯示緩沖中的內容,這個有效期間過后,頁

面將不再保留在私有(用戶)或公用(代理服務器)緩沖中.如果希望一個文件立

即終止,可以將該屬性值設置為一個非常大的負數.一個文件內多次設置了

expires屬性將使用最早的時間/日期為該文件的終止時間(是一個相對時間)

ExpiresAbsolute:讀/寫,日期/時間型,指明當一個頁面過期和不再有效時的絕對日

期和時間.在未到期之前,若用戶返回到該頁,該緩存的頁就顯示.如果未指定時

間,該主頁在當天午夜到期.如果未指定日期,則該主頁在腳本運行當天的指定

時間到期

IsClientConnected:只讀,布爾型,返回客戶是否仍然連接和下載頁面的狀態標志.

在當前的頁面已執行完畢之前,假如一個客戶轉移到另一個頁面,這個標志可用

來中止處理(使用Response.End方法)

PICS:只寫,字符型,創建一個PICS報頭并將之加到響應中的HTTP報頭中,PICS報頭

定義頁面內容中的詞匯等級,如暴力、性、不良語言等

Status:讀/寫,字符型,指明發回客戶的響應的HTTP報頭中表明錯誤或頁面處理是

否成功的狀態值和信息.例如"200OK"和"404NotFound"

方法:

AddHeader"name","content":通過使用name和Content值,創建一個定制的HTTP

報頭,并增加到響應之中.不能替換現有的相同名稱的報頭.一旦已經增加了一

個報頭就不能被刪除.這個方法必須在任何頁面內容(即text和HTML)被發往客

戶端前使用

AppendToLog("string"):當使用"W3CExtendedLogFileFormat"文件格式時,對于

用戶請求的Web服務器的日志文件增加一個條目.至少要求在包含頁面的站點

的"ExtendedProperties"頁中選擇"URIStem".string為要添加到日志文件中

的文本.由于IIS日志中的字段由逗號分隔,所以該字符串中不能包含逗號

(,).字符串最大長度為80個字符

BinaryWrite():在當前的HTTP輸出流中寫入Variant類型的SafeArray,而不經過

任何字符轉換.對于寫入非字符串的信息,例如定制的應用程序請求的二進制數

據或組成圖像文件的二進制字節,是非常有用的

Clear():當Response.Buffer為True時,從IIS響應緩沖中刪除現存的緩沖頁面內

容.但不刪除HTTP響應的報頭,可用來放棄部分完成的頁面

End():讓ASP結束處理頁面的腳本,并返回當前已創建的內容,然后放棄頁面的任何

進一步處理

Flush():發送IIS緩沖中所有當前緩沖頁給客戶端(立即發送緩沖區中的輸出).當

Response.buffer為True時,可以用來發送較大頁面的部分內容給個別的用戶.

如果未將Response.Buffer設置為TRUE,則該方法將導致運行時錯誤

Redirect("url")通過在響應中發送一個"302ObjectMoved"HTTP報頭,指示

瀏覽器根據字符串url下載相應地址的頁面,瀏覽器重定向到URL.

Write("string"):在當前的HTTP響應信息流和IIS緩沖區寫入指定的字符,使之成

為返回頁面的一部分.該值不能包括字符組合%>,如果需要,可用轉義序列%\>代

替.Web服務器在處理腳本時,將轉換這一轉義序列還有一種格式輸

出:<%=...%>,但這要在asp和html之間轉換,速度減慢,最好的辦法是一行

response.write(),字符串用&連接常用:cookies,buffer,contenttype,

expires,status,binarywrite,clear,end,flush,redirect,write這些都是很

常用的和瀏覽器交互的重要成分,cookies用于客戶身份方面,和它相關的有

expires;buffer以及和buffer相關的clear,flush,end這些用于緩存

的控制;contenttype最常用于xml和圖像內容的輸出;stutas用于判斷狀態,

特別在xmlhttp中;write用于輸出;redirect用于轉接內容;binarywrite一般

用于接收上傳的文件內容

*-->server對象:

功能:提供對服務器上的方法和屬性的訪問.其中大多數方法和屬性是作為實用程序的功

能服務的

屬性:

ScriptTimeout:整型,缺省值為90秒,設置或返回頁面的腳本在服務器退出執行和

報告一個錯誤之前可以執行的時間(秒數).達到該值后將自動停止頁面的執行,

并從內存中刪除包含可能進入死循環的錯誤的頁面或者是那些長時間等待其他

資源的網頁.這會防止服務器因存在錯誤的頁面而過載.對于運行時間較長的頁

面需要增大這個值

方法:

CreateObject("identifier"):創建由identifier標識的對象(一個組件、應用程序

或腳本對象)的一個實例,返回可以在代碼中使用的一個引用.可以用于一個虛

擬應用程序(global.asa頁)創建會話層或應用程序層范圍內的對象.該對象可

以用其ClassID來標識,如"{clsid:BD96C556-65A3...37A9}"或一個ProgID串

來標識,如"ADODB.Connection",通常我們使用ProgID

注意下面幾點:

1.默認情況下,由Server.CreateObject方法創建的對象具有頁作用域.這就是

說,在當前ASP頁處理完成之后,服務器將自動破壞這些對象

2.可以通過將變量設置為Nothing或新的值來破壞對象

3.不能創建與內建對象同名的對象實例

Execute("url"):停止當前頁面的執行,把控制轉到在url中指定的網頁.用戶的當

前環境(即會話狀態和當前事務狀態)也傳遞到新的網頁.在該頁面執行完成后,

控制傳遞回原先的頁面,并繼續執行Execute方法后面的語句

GetLastError():返回ASPASPError對象的一個引用,這個對象包含該頁面在ASP

處理過程中發生的最近一次錯誤的詳細數據.這些由ASPError對象給出的信息

包含文件名、行號、錯誤代碼等等HTMLEncode("string"):返回一個字符串,該

串是輸入值string的拷貝,但去掉了所有非法的HTML字符,

常見不合法HTML字符及其轉換字符有:

<對應<

>對應>

&對應&

"對應"

對應(空格)

?對應©(版權)

?對應®(注冊商標)

×對應×(乘號)

÷對應÷(除號)

MapPath("url"):返回在url中指定的文件或資源的完整物理路徑和文件名

Transfer("url"):停止當前頁面的執行,把控制轉到url中指定的頁面.用戶的當前環境(即會話狀態和當前事務狀態)也傳遞到新的頁面.與Execute方法不同,當

新頁面執行完成時,不回到原來的頁面,而是結束執行過程

URLEncode("string"):返回一個字符串,該串是輸入值string的拷貝,但是在URL

中無效的所有字符,

常見不合法的URL字符及其轉換字符有:

#用來標志特定的文檔位置%23

%對特殊字符進行編碼%25

&分隔不同的變量值對%26

+在變量值中表示空格%2B

/表示目錄路徑%2F

\表示目錄路徑%5C

=用來連接鍵和值%3D

?表示查詢字符串的開始%3F

空格%20

.句號%2E

:冒號%3A

*-->ASPError對象:

由于錯誤機制IIS已經能識別定位,暫時略過不深入了

*-->ObjectContext對象:

功能:控制ASP的事務處理.事務處理由MicrosoftTransactionServer(MTS)管理

事件:

OnTransactionAbort:由放棄的事務處理事件激發,在腳本完成處理后發生

OnTransactionCommit:由成功的事務處理事件激發,在腳本完成處理后發生

方法:

SetAbort:顯式的放棄一次事務處理

SetComplete:覆蓋前面任何調用ObjectContext.SetAbort方法的調用

由于沒有涉及,等涉及時深入,暫時了解即可

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黄色电影免费在线观看 | 久久久亚洲综合 | 天天天操| 国产又色又爽又黄又免费 | 免费a视频| 伊人网视频在线 | 亚洲综合二区 | 在线成人av | 免费观看电视在线高清视频 | 欧美一区二区三区在线播放 | 欧美国产日韩在线观看 | 精品日韩 | 久久久精品 | 国产成人免费视频网站视频社区 | 中文字幕一区二区三区精彩视频 | 久久久久久久久久久动漫 | 色com| 精品国产仑片一区二区三区 | 久久久久久国产精品免费免费狐狸 | 成人a在线视频免费观看 | 国产日韩成人 | 欧美国产日韩在线观看 | 亚洲精品毛片一区二区 | 久草在线资源福利站 | 精品久久久久久久久久久 | 欧美日韩精品一区二区在线播放 | 精品国产91乱码一区二区三区 | 在线看一区 | 色婷婷精品国产一区二区三区 | 伊人久久综合影院 | 日韩欧美视频免费在线观看 | 成人精品在线观看 | 日韩综合一区 | av午夜电影 | 日本不卡免费新一二三区 | 日本一本视频 | 97久久精品人人做人人爽50路 | av网站免费看| 久久a视频 | 在线免费视频一区二区 | 日韩欧美一区二区三区免费观看 |