主頁 > 知識庫 > ASP基礎入門第七篇(ASP內(nèi)建對象Response)

ASP基礎入門第七篇(ASP內(nèi)建對象Response)

熱門標簽:重慶外呼電銷系統(tǒng)費用 電銷機器人一個多少錢 鄭州語音電銷機器人官網(wǎng) 北京大興區(qū)地圖標注 地圖標注不完整被罰款 不封卡外呼系統(tǒng)一般多少錢 地圖標注中心多少錢注冊 濰坊呼叫中心外呼系統(tǒng)供應商 微信地圖標注有什么用

下面,我們開始學習 ASP 的另一個內(nèi)建對象 Response。

與 Request 是獲取客戶端 HTTP 信息相反 ,Response 對象是用來控制發(fā)送給用戶的信息,包括直接發(fā)送信息給瀏覽器、重定向瀏覽器到另一個 URL 或設置 cookie 的值。

語法:Response.collection|property|method

一、屬性

1、Buffer

   Buffer 屬性指示是否緩沖頁輸出。當緩沖頁輸出時,只有當前頁的所有服務器腳本處理完畢或者調(diào)用了 Flush 或 End 方法后,服務器才將響應發(fā)送給客戶端瀏覽器,服務器將輸出發(fā)送給客戶端瀏覽器后就不能再設置 Buffer 屬性。因此應該在 .asp 文件的第一行調(diào)用 Response.Buffer。

2、Charset

   Charset 屬性將字符集名稱附加到 Response 對象中 content-type 標題的后面。對于不包含 Response.Charset 屬性的 ASP 頁,content-type 標題將為 :content-type:text/html。

   我們可以在 .asp 文件中指定 content-type 標題,如 :

   % Response.Charset="gb2312") %>

   將產(chǎn)生以下結(jié)果 :

   content-type:text/html; charset=gb2312

   注意,無論字符串表示的字符集是否有效,該功能都會將其插入 content-type 標題中。且如果某個頁包含多個含有 Response.Charset 的標記,則每個 Response.Charset 都將替代前一個 CharsetName。這樣,字符集將被設置為該頁中 Response.Charset 的最后一個實例所指定值。

3、ContentType

   ContentType 屬性指定服務器響應的 HTTP 內(nèi)容類型。如果未指定 ContentType,默認為 text/HTML。

4、Expires

   Expires 屬性指定了在瀏覽器上緩沖存儲的頁距過期還有多少時間。如果用戶在某個頁過期之前又回到此頁,就會顯示緩沖區(qū)中的頁面。如果設置 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 方法清除緩沖區(qū)中的所有 HTML 輸出。但 Clear 方法只清除響應正文而不清除響應標題。可以用該方法處理錯誤情況。但是如果沒有將 Response.Buffer 設置為 TRUE,則該方法將導致運行時錯誤。

2、End

   End 方法使 Web 服務器停止處理腳本并返回當前結(jié)果。文件中剩余的內(nèi)容將不被處理。如果 Response.Buffer 已設置為 TRUE,則調(diào)用 Response.End 將緩沖輸出。

3、Flush

   Flush 方法立即發(fā)送緩沖區(qū)中的輸出。如果沒有將 Response.Buffer 設置為 TRUE,則該方法將導致運行時錯誤。

4、Redirect

   Redirect 方法使瀏覽器立即重定向到程序指定的 URL。這也是一個我們經(jīng)常用到方法,這樣程序員就可以根據(jù)客戶的不同響應,為不同的客戶指定不同的頁面或根據(jù)不同的情況指定不同的頁面。一旦使用了 Redirect 方法任何在頁中顯式設置的響應正文內(nèi)容都將被忽略。然而,此方法不向客戶端發(fā)送該頁設置的其他 HTTP 標題,將產(chǎn)生一個將重定向 URL 作為鏈接包含的自動響應正文。Redirect 方法發(fā)送下列顯式標題,其中 URL 是傳遞給該方法的值。如:

   % Response.redirect("www.jb51.com") %>

5、Write

   Write 方法是我們平時最常用的方法之一,它是將指定的字符串寫到當前的 HTTP 輸出。

三、集合

   Response 對象只有一個集合 --Cookie

   Cookies 集合設置 cookie 的值。若指定的 cookie 不存在,則創(chuàng)建它。若存在,則設置新的值并且將舊值刪去。

   語法

   Response.Cookies(cookie)[(key)|.attribute]=value

   這里的 cookie 是指定 cookie 的名稱。而如果指定了 key,則該 cookie 就是一個字典。attribute 指定 cookie 自身的有關(guān)信息。attribute 參數(shù)可以是下列之一 :

   Domain 若被指定,則 cookie 將被發(fā)送到對該域的請求中去。

   Expires 指定 cookie 的過期日期。為了在會話結(jié)束后將 cookie 存儲在客戶端磁盤上,必須設置該日期。若此項屬性的設置未超過當前日期,則在任務結(jié)束后 cookie 將到期。

   HasKeys 指定 cookie 是否包含關(guān)鍵字。

   Path 若被指定,則 cookie 將只發(fā)送到對該路徑的請求中。如果未設置該屬性,則使用應用程序的路徑。

   至此,我們已經(jīng)學習的 Response 對象的所有屬性、方法和集合的理論知識,下面作者將給大家演示一段簡單的程序,通過實踐讓大家加深理解。先將以下程序剪貼到記事簿中,并保存為 asp7.asp。( 注意將 和 % 之間的空格去掉 !!!)  

 %
  Dim user
Dim flag
Dim pwd
  Dim say
Response.buffer=true ' 開啟緩沖頁面功能
Response.ContentType="text/HTML"
  Response.Charset="gb2312"
  user=Request.Form("username")
pwd=Request.Form("password")
say=Request.QueryString("say")
%>
   form method="POST" action="asp7.asp">
   p> 用戶名 : input type="text" name="username" size="12"> br>
  口 令 : input type="password" name="password" size="12"> br>
   input type="submit" value=" 提交 " name="B1"> input type="reset" value=" 取消 " name="B2"> /p> /form>
   %
  If say=1 then
  Response.Write " 歡迎書生大駕光臨 !"
End If
  If say > 1 then
  Response.Write " 歡迎再次光臨書生的 ASP 網(wǎng)站 !"
End If
  If user="Adm" and pwd="shusheng" Then
  Response.Expires=1 ' 設置該頁面在瀏覽器的緩沖中存儲 1 分鐘后過期。
  flag=1
  ElseIf user="guest" and pwd="guest" Then
  Response.Expires=0 ' 使緩存的頁面立即過期。
  Response.Clear ' 清空存儲在緩存中的頁面 
  flag=2
  ElseIf user="vip" and pwd="vip" Then
  Response.Write " 歡迎 VIP 光臨書生的 ASP 網(wǎng)站 "
  flag=3
  Else
  flag=0
  Response.End ' 立即停止腳本處理,并將緩存中的頁面輸出
End If
  Response.write " p> a href='asp7b.asp?flag="flag"'> 動態(tài)網(wǎng)站設計十八般武藝 --ASP 篇 (7) 實踐練習  /a>l; /p>" 
' 將變量 flag 的值傳送給 asp7b.asp
  %>
   p> 動態(tài)網(wǎng)站設計十八般武藝 --ASP 篇 (7) 實踐練習  /p>
   再將以下程序保存為 asp7b.asp。 
   %
  Dim saysay=Request.QueryString("flag")
Select case say
  case "1"
  Response.Redirect "asp7.asp?say=1"
case "2"
  Response.Redirect "asp7.asp?say=2"
case "3"
  Response.Redirect "asp7.asp?say=3"
case "0"
  Response.Redirect "asp7.asp?say=0"
End Select
  %>

   將這兩個程序放在有執(zhí)行權(quán)限的 WEB 虛擬目錄下,并以 http 方式訪問 asp7.asp。在這兩個程序中我們充分運用了至今為止所學過的兩個 ASP 內(nèi)建對象 :Request 和 Response。當你第一次訪問 asp7.asp 文件時,頁面上出現(xiàn)一個 Form 并提示輸入用戶名和口令,如果你輸入用戶名 :Adm、口令 :shusheng, 則會出現(xiàn)如下頁面 :
img src='http://arch.pconline.com.cn/pcedu/empolder/wz/asp/10111/pic/2001124_asp_13.gif'>
這是為什么呢?因為我們設置了頁面緩存,當使用 guest 登陸時,判斷程序自動清空其之前所有存儲在緩存中的頁面,而僅將其后腳本程序執(zhí)行的結(jié)果顯示出來。

   那為什么第一次登陸asp7.asp 頁面時僅僅只顯示一個 Form 對話框呢?因為此時程序判斷到用戶既非 Adm, 也不是 guest 和 vip,所以執(zhí)行 Response.End, 立即將存儲在緩存中的 Form 顯示出來,并停止其后的一切腳本處理,包括純 HTML 代碼的顯示。

   無論你是用 Adm 還是 guest 或 vip 登陸該頁面你都可以看到一個超鏈,該超鏈指向文件 asp7b.asp,當我們點擊該超鏈時,asp7.asp 將變量 flag 的值作為參數(shù)發(fā)送給 asp7b.asp, 而后者則根據(jù)該參數(shù)的值來做出判斷,并依據(jù)不同情況使用 Response.Redirect 再強行返回 asp7.asp, 并也將一個變量 say 的值作為參數(shù)發(fā)送給 asp7.asp。如此一來,asp7.asp 又會根據(jù)此參數(shù)來做出不同的反應。

   大家現(xiàn)在都看到了我們僅僅用了兩個很簡單的程序,就可以做到對同一個頁面的多種不同顯示結(jié)果,這正是 ASP 的魅力所在,各位可以以此示范程序為基礎,來進行一些改動,以熟練掌握我們所學的這兩個內(nèi)建對象。

您可能感興趣的文章:
  • asp下Response.Buffer提速
  • ASP.NET筆記之 Request 、Response 與Server的使用
  • ASP.NET之Response.Cookies.Remove 無法刪除COOKIE的原因
  • asp.net直接Response輸出WML頁面示例代碼
  • asp.net中WebResponse 跨域訪問實例代碼
  • Asp.net response對象與request對象使用介紹
  • Asp.net中Response.Charset與Response.ContentEncoding區(qū)別示例分析
  • asp中Response.End()用法
  • 小論asp中request與response的用法
  • PHP模擬asp中response類實現(xiàn)方法

標簽:唐山 鶴崗 揭陽 海南 汕頭 佛山 攀枝花 撫州

巨人網(wǎng)絡通訊聲明:本文標題《ASP基礎入門第七篇(ASP內(nèi)建對象Response)》,本文關(guān)鍵詞  ASP,基礎,入門,第七,篇,內(nèi)建,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP基礎入門第七篇(ASP內(nèi)建對象Response)》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP基礎入門第七篇(ASP內(nèi)建對象Response)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章