在上一篇中作者給大家詳細介紹了 ASP 內建對象之一 Request 的使用方法,相信各位通過一系列的實踐已經能夠熟練掌握,本篇將繼續給大家介紹 ASP 的另一個內建對象 Response。
最近,有很多朋友來“妹兒”催我加快 ASP 篇一文的寫作速度,并急切地詢問哪里有關于 ASP 的教材。我深深地被大家的學習熱情所打動,因此決定將自己平時所搜集的一些 ASP 信息資料拿出來和大家共享,也希望所有的朋友能慷慨地將自己搜集的有關 ASP 的資料告訴作者,謝謝。由于目前國內有關 ASP 的中文教材鳳毛麟角,而專門針對 ASP 網站開發的中文教材作者更是聞所未聞(可能是作者孤陋寡聞),只是最近聽說出了一本清華大學出版社出版的關于 MS InterDev 的傻瓜書,其中有 ASP 的教學,和一本 Active Server Page 2.0 的中文手冊,因此目前作者還是主要通過國外網站來獲取 ASP 的有關信息和資料,這也是作者寫本文的一個主要原因。下面我就將 bookmark 中的一些較經典的 ASP 站點羅列出來:
1、http://www.activeserverpage.com/
這是作者訪問最頻繁的 ASP 網站,也是世界上最大最全的關于 ASP 的網站之一,它里面不但有最新的 ASP 文獻資料,免費組件,還有一本完整的 ASP 入門教材,它更是 ASP 網站的中樞站點,通過它你可以到達無數的 ASP 相關站點。
2、http://www.asphole.com/
這本是一個針對 ASP 漏洞而建立的站點,但是它卻無疑是一個完備的 ASP 信息站點,它非但提供了 ASP 的文章,及組件還提供詳盡透徹的聯接地址。
3、http://www.15seconds.com/faq 和 http://www.15seconds.com/search
這是一個作者所看到的最大的網上 ASP 交流站點,它擁有 ASP 解疑的答案,ASP 郵件清單信息,ASP 技巧,你可能需要需要幾個月的時間才能讀完這些信息。而在 http://www.15seconds.com/AllComponents.asp 你可以讀到最新的 ActiveX 組件和大量免費組件的詳細介紹,并附有非常實用的文檔與例子。
4、http://www.microsoft.com/workshop/server/asp/aspfeat.asp
大家都知道 Active Server Page 是微軟提出的一套基于 NT IIS 的 WEB 服務器端環境,那么這個由微軟自己建立的 ASP 技術說明站點,大家當然是不可不看的。
5、http://www.serverobjects.com/
在這里你可以獲得無數實用的 ActiveX 組件 , 并下載它們的試用版,只可惜其中的大部分極好的組件都是要 Money 的。
6、http://www.cyscape.com/asp/browscap/
大家還記得作者在 ASP2 一文中介紹的那個用來辨別客戶端瀏覽器版本的 Browser Capabilitie 組件嗎?在這個站點你可以獲得最新的 BROWSCAP.INI 文件,它擁有每一個 ASP 安裝時微軟沒有提供的瀏覽器的信息,這樣你在 ASP 中判斷客戶瀏覽器是就能夠萬無一失了。
7、http://www.microsoft.com/data/ado/
ASP 最強大且便捷的功能莫過于同數據庫的連接,通過 ASP 內建的 ActiveX 組件,我們可以輕而易舉的將 WEB 與所有和 ODBC 兼容的數據庫連接起來,在這個微軟的站點上你可以獲取很多實用的 ADO 資料。
8、http://www.cobb.com/m_sbn4/
一個不錯的 ASP 論壇,你可以在那里貼你的問題,讀取別人的問題和解答。
下面,我們開始學習 ASP 的另一個內建對象 Response。
與 Request 是獲取客戶端 HTTP 信息相反 ,Response 對象是用來控制發送給用戶的信息,包括直接發送信息給瀏覽器、重定向瀏覽器到另一個 URL 或設置 cookie 的值。
語法
Response.collection|property|method
一、屬性
1、Buffer
Buffer 屬性指示是否緩沖頁輸出。當緩沖頁輸出時,只有當前頁的所有服務器腳本處理完畢或者調用了 Flush 或 End 方法后,服務器才將響應發送給客戶端瀏覽器,服務器將輸出發送給客戶端瀏覽器后就不能再設置 Buffer 屬性。因此應該在 .asp 文件的第一行調用 Response.Buffer。
2、Charset
Charset 屬性將字符集名稱附加到 Response 對象中 content-type 標題的后面。對于不包含 Response.Charset 屬性的 ASP 頁,content-type 標題將為 :content-type:text/html。
我們可以在 .asp 文件中指定 content-type 標題,如 :
< % Response.Charset="gb2312") %> 將產生以下結果 :
content-type:text/html; charset=gb2312 注意,無論字符串表示的字符集是否有效,該功能都會將其插入 content-type 標題中。且如果某個頁包含多個含有 Response.Charset 的標記,則每個 Response.Charset 都將替代前一個 CharsetName。這樣,字符集將被設置為該頁中 Response.Charset 的最后一個實例所指定值。
3、ContentType
ContentType 屬性指定服務器響應的 HTTP 內容類型。如果未指定 ContentType,默認為 text/HTML。
4、Expires
Expires 屬性指定了在瀏覽器上緩沖存儲的頁距過期還有多少時間。如果用戶在某個頁過期之前又回到此頁,就會顯示緩沖區中的頁面。如果設置 response.expires=0,則可使緩存的頁面立即過期。這是一個較實用的屬性,當客戶通過 ASP 的登陸頁面進入 WEB 站點后,應該利用該屬性使登陸頁面立即過期,以確保安全。
5、ExpiresAbsolute
與 Expires 屬性不同 ExpiresAbsolute 屬性指定緩存于瀏覽器中的頁面的確切到期日期和時間。在未到期之前,若用戶返回到該頁,該緩存中的頁面就顯示。如果未指定時間,該主頁在當天午夜到期。如果未指定日期,則該主頁在腳本運行當天的指定時間到期。如下示例指定頁面在 1998 年 12 月 10 日上午 9:00 分 30 秒到期。
< % Response.ExpiresAbsolute=#Dec 12,1998 9:00:30# %> 二、方法
1、Clear
可以用 Clear 方法清除緩沖區中的所有 HTML 輸出。但 Clear 方法只清除響應正文而不清除響應標題。可以用該方法處理錯誤情況。但是如果沒有將 Response.Buffer 設置為 TRUE,則該方法將導致運行時錯誤。
2、End
End 方法使 Web 服務器停止處理腳本并返回當前結果。文件中剩余的內容將不被處理。如果 Response.Buffer 已設置為 TRUE,則調用 Response.End 將緩沖輸出。
3、Flush
Flush 方法立即發送緩沖區中的輸出。如果沒有將 Response.Buffer 設置為 TRUE,則該方法將導致運行時錯誤。 [1] [2] 下一頁
|