人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

ASP圖文詳細教程:Global.asa文件的運用及Chat程序

ASP圖文詳細教程:Global.asa文件的運用及Chat程序

更新時間:2022-07-11 文章作者:未知 信息來源:網絡 閱讀次數:

在上一篇中作者給大家詳細介紹了兩個非常實用的 ASP 內建對象 Application 和 Session 的使用方法。由于這兩者的 OnStart、OnEnd 事件的腳本都必須在 Global.asa 文件中聲明 , 因此,本篇將給大家詳細介紹 Global.asa 文件的使用方法。為使大家熟練掌握至今所學過的知識,本篇還將舉出一個 ASP 的 Chat 程序,供各位參考。

  最近很多朋友來信問我,為什么前兩期的范例程序運行時有這樣那樣的錯。首先,我要向大家聲明,這些程序都是我自己寫的,在出“廠”前都經過合格檢驗,絕無“假冒偽劣產品”。:) 由于程序中使用了 cookie 記錄客戶信息,所以如果你在瀏覽器中沒有設置接受 cookie 則程序將不能正常運行。另外,程序將客戶信息記錄在客戶端的 cookie 所使用的方法是 Response.Cookie,此語句必須寫在 ASP 文件中的第一個 < HTML>標記前,這是因為 Cookie 是作為 HTTP 傳輸的頭信息的一部分發送給客戶的,如果當 HTTP 報頭信息已經傳輸給客戶后再使用 Response.Cookie,將出現以下錯誤 :“HTTP 標題已經寫入到客戶瀏覽器。任何 HTTP 標題的修改必須在寫入頁內容之前。”,可能一些朋友在剪貼程序的時候沒有注意,打亂了程序的前后次序 , 或者是錯誤的將 HTML 代碼添加在 ASP 范例程序之前,因而導致程序運行出錯。因此,我建議大家一方面在首次運行例程的時候不要對程序進行任何改動,盡量在看懂程序的基礎上逐步改進,另一方面在運行 ASP 程序時至少要在瀏覽器中選擇可接受 Cookie,否則一旦 ASP 程序中使用了 Cookie 或 Session,它們都將無法正常運行。

  下面我來向大家介紹 Global.asa 文件的使用方法。

  什么是 Global.asa 文件?它其實是一個可選文件,程序編寫者可以在該文件中指定事件腳本,并聲明具有會話和應用程序作用域的對象。該文件的內容不是用來給用戶顯示的,而是用來存儲事件信息和由應用程序全局使用的對象。該文件的名稱必須是 Global.asa 且必須存放在應用程序的根目錄中。每個應用程序只能有一個 Global.asa 文件。

  在 Global.asa 文件中,如果包含的腳本沒有用 < SCRIPT>標記封裝,或定義的對象沒有會話或應用程序作用域,則服務器將返回錯誤。我們可以用任何支持腳本的語言編寫 Global.asa 文件中包含的腳本。如果多個事件使用同一種腳本語言,就可以將它們組織在一組 < SCRIPT>標記中。

  在 Global.asa 文件中聲明的過程只能從一個或多個與 Application_OnStart、Application_OnEnd、Session_OnStart 和 Session_OnEnd 事件相關的腳本中調用。在基于 ASP 的應用程序的 ASP 頁中,它們是不可用的。如果要在應用程序之間共享過程,可在單獨的文件中聲明這些過程,然后使用服務器端包容 (SSI) 語句將該文件包含在調用該過程的 ASP 程序中。通常,包含文件的擴展名應為 .inc。

  下面是一個很標準的 Global.asa 文件 :

  < SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  \'Session_OnStart 當客戶首次運行 ASP 應用程序中的任何一個頁面時運行
  \'Session_OnEnd 當一個客戶的會話超時或退出應用程序時運行
  \'Application_OnStart 當任何客戶首次訪問該應用程序的首頁時運行
  \'Application_OnEnd 當該站點的 WEB 服務器關閉時運行
  < /SCRIPT>
  < SCRIPT LANGUAGE="VBScript" RUNAT="Server">
  Sub Application_OnStart
  VisitorCountFilename = Server.MapPath ("/ex2") + "\\VisitCount.txt"
  Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
  Set Out= FileObject.OpenTextFile (VisitorCountFilename, 1, FALSE, FALSE)
  Application("visitors") = Out.ReadLine
  Application("VisitorCountFilename") = VisitorCountFilename
  End Sub
  \'=========================================================
  SUB Application_OnEnd
  Set FileOutObject = Server.CreateObject("Scripting.FileSystemObject")
  Set Out= FileOutObject.CreateTextFile (Application("VisitorCountFilename"), TRUE,FALSE)
  Out.WriteLine(application("visitors"))
  End Sub
  \'=========================================================Sub Session_OnStart
  Session.Timeout = 5
  Application("visitors") = Application("visitors") + 1
  Session("ID")=Session.SessionID
  End Sub
  < /SCRIPT>

   在這個 Global.asa 程序中,涉及到了 ASP 的 File Access 組件,它可以提供用于訪問文件系統的方法、屬性和集合。這將在以后 ASP 的組件中進行展開討論。在這里,它起到了在服務器上創建新文件并對文件進行寫操作的作用。這其實是一個 ASP 頁面訪問記數器應用程序的 Global 文件,首先當客戶首次訪問該應用程序的首頁時 , 過程 Application_OnStart 定義了在服務器上指定的虛擬目錄下新建一個 VisitCount.txt 的文本文件,并將文件的路徑和內容保存在應用程序級的變量中。而當任何一個客戶訪問 ASP 應用程序中的任何一個頁面時,過程 Session_OnStart 定義將應用程序級的變量 visitors 的值自動加一。這樣,每當有客戶訪問頁面時,變量 visitors 都將自動加一,以起到統計點擊率的作用。由于變量 visitors 的值是存儲在系統內存之中,所以如果服務器關閉或重新啟動,存儲在變量中的數據將自動丟失,所以通過定義過程 Application_OnEnd,在服務器關閉或重啟之前將數據寫入事先建立的文本文件之中,這樣就能確保當服務器再次啟動時, Application_OnStart 過程可以從 VisitCount.txt 文件中讀取以前的統計數。

  經過這段時間的學習,相信大家已經能夠比較熟練的運用我們所學過的這些 ASP 內建對象來編寫一些較簡單的 ASP 應用程序,可別小看你現在所掌握的這些 ASP 基本知識哦 ! 其實你已經能夠開發一些簡單但實用的 ASP 應用程序了。下面我就舉一個非常簡單的 ASP WEB 聊天室程序,你會發覺寫聊天室原來是一件這么容易、輕松的事。可能朋友們已經在一些雜志上看到過 ASP 聊天程序的編寫方法,但作者在這里自己寫了一個更簡單的程序,僅僅使用了一個 .asp 文件。請將以下代碼剪貼到記事簿并保存為 chat.asp。

  < %@ Language=VBScript %>
  < %
  Response.Buffer=true \' 設置輸出緩存,用于顯示不同頁面。
  On error resume next \' 忽略程序出錯部分
  If Request.ServerVariables("Request_Method")="GET" then
  \' 判斷客戶是以什么方式請求 WEB 頁面
  \'------------------------
  \' 客戶登陸界面
  \'------------------------
  %>
  < form method="POST" action="chat.asp">< p>
  < input type="text" name="nick" size="20" value="nick" style="background-color: rgb(192,192,192)">< br>
  < input type="submit" value=" 進入聊天室 " name="B1" style="color: rgb(255,255,0); font-size: 9pt; background-color: rgb(0,128,128)">
  < p>< input type="hidden" name="log" size="20" value="1">< br>< /p>
  < /form>
  < %
  Response.End \' 結束程序的處理
  Else
  Response.clear \' 清空緩存中的內容
  dim talk
  If Request.Form("nick")<>"" then
  \' 判斷客戶是是否在聊天界面中
  Session("nick")=Request.Form("nick")
  End If
  \'------------------------\'
  客戶聊天界面
  \'------------------------
  %>
  < form method="POST" action="chat.asp" name=form1>< p>< %=Session("nick")%>說話:< input type="text" name="talk" size="50">< br>
  < input type="submit" value=" 提交 " name="B1">
  < input type="reset" value=" 取消 " name="B2">< /p>
  < /form>
  < A HREF="/asptest/shusheng/chat.asp">離開 < /a>< br>< br>
  < %
  If Request.Form("log")<>1 then
  If trim(Request.Form("talk"))="" then
  \' 判斷用戶是否沒有輸入任何內容
  talk=Session("nick")&" 沉默是金。"
  Else
  talk=trim(Request.Form("talk"))
  \' 去掉字符后的空格
  End If
  Application.lock
  Application("show")="< table border=\'0\' cellpadding=\'0\' cellspacing=\'0\' width=\'85%\' >< tr>< td width=\'100%\' bgcolor=\'#C0C0C0\'>< /td>< /tr>< tr>< td width=\'100%\'>< font color=\'#0000FF\'>來自 "&Request.ServerVariables("remote_addr")&" 的 "&Session("nick")&time&" 說:< /font>"&talk&"< /td>< /tr>< tr>< td width=\'100%\' bgcolor=\'#C0C0C0\'>< /td>< /tr>< /table>< br>"&Application("show")
  Application.UnLock
  Response.Write Application("show")
  End If
  End If
  %>

[1] [2]  下一頁

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 若尔盖县| 伊宁县| 贵州省| 遵化市| 舒兰市| 淮安市| 盘锦市| 桐庐县| 外汇| 军事| 巴彦淖尔市| 永清县| 汝南县| 桦川县| 平阳县| 仲巴县| 莆田市| 金乡县| 青岛市| 布拖县| 沿河| 德兴市| 张掖市| 临朐县| 微山县| 古田县| 马边| 渑池县| 来安县| 麻江县| 安岳县| 延庆县| 大洼县| 宣恩县| 体育| 荔波县| 秦皇岛市| 苍南县| 穆棱市| 泗水县| 邳州市|