用ASP技術得到首頁被訪問次數的三種方法

來源:互聯網
上載者:User
訪問

用ASP技術得到首頁被訪問次數的三種方法


            華中理工大學自動控制工程系  周茜 田忠和
   ASP 是Microsoft Active Server Pages 的縮寫,即動態伺服器首頁。
它是伺服器端指令碼編寫環境,在Web伺服器上解釋指令碼,可以組合HTML頁、指令碼命令和ActiveX組件來建立動態、互動式、高效率的 Web 頁和基於 Web 的功能強大的伺服器應用程式。ASP 可以在Microsoft 的任何 Web伺服器上發布各種動態資料,而且ASP應用程式很容易開發和修改。
     ASP技術之所以容易,很重要的原因是 ASP 技術充分利用各種功能強大的內嵌對象和ActiveX組件來執行任務。ActiveX組件是包含在動態連結程式庫(.dll)或可執行檔(.exe)中的可執行某項或一組任務的代碼。因為組件可以執行公用任務,所以不必自己去建立執行這些任務的代碼,可以直接利用組件作為指令碼和基於 Web 應用程式的基本構造塊。只要知道如何訪問和控制組件所提供的對象,即使是編寫指令碼的新手,也可以在不瞭解組件運作方式的情況下編寫指令碼。
要使用組件提供的對象,首先要建立對象的執行個體並將這個新的執行個體分配變數名。使用 ASP 的 Server.CreateObject 方法可以建立對象的執行個體。然後,使用指令碼語言的變數分配指令為對象執行個體命名。建立對象執行個體時,必須提供執行個體的註冊名稱(PROGID)。
對於一個 Web 網站,我們通常需要記錄其被訪問的次數。本文針對這個問題,提出三種方法供參考。
  
<一>利用Page Counter 組件
    Page Counter 組件可以建立 PageCounter 對象,以記錄和顯示 Web 頁被開啟的次數。每隔一定的時間,此對象將訪問次數寫入文字檔以便資料不會在伺服器關機時丟失。Page Counter 組件使用一個內部 Central Management 對象來記錄應用程式中的每一頁被開啟的次數。當使用 Server.CreateObject 方法在一頁上建立 PageCounter 對象的執行個體時,此對象從 Central Management 對象中擷取指定Web頁的當前訪問次數後,就可以使用此對象已有的方法來操作了。
  
文法:<% Set oVar = Server.CreateObject("MSWC.PageCounter") %>
參數:oVar   指定通過調用 Server.CreateObject 建立的 PageCounter 對象      
             的名稱。
方法
Hits    顯示指定的 URL 被開啟的次數。  
PageHit 增加訪問次數。
Reset   將指定的頁的訪問次數設定為 0。
  
注意:PageCounter 對象不是內嵌對象,所以必須進行註冊。當此對象被編譯或註冊時,頁計數器向註冊表添加 MSWC.PageCounter 鍵。該鍵被添加到 HKEY_CLASSES_ROOT 下且包括下列命名值。
2.File_Location  字串,
   指定記錄訪問次數的檔案的路徑名和檔案名稱。預設的檔案名稱為 hitcnt.cnt。此檔案存放在 Windows 目錄下。
2.Save_Count     DWORD 型,
   指明在訪問次數被儲存到 Hit Count Data 檔案前的訪問次數。注意,這是訪問的總數而不是每一頁的訪問次數。預設值為 25。
  
下例使用 PageCounter 對象跟蹤訪問者的個數並發送特定的訊息。
  
<% Set MyPageCounter = Server.CreateObject("MSWC.PageCounter")
   HitMe = MyPageCounter.Hits
%>
   您是第<%= HitMe %>位訪問者。
  
<二>利用 File Access 組件
    因為 Page Counter 組件並沒有和IIS 一起安裝,必須另行安裝方可使用。若沒有安裝 Page Counter 組件,則可以採用File Access 組件。 File Access 組件可用來訪問電腦檔案系統的方法和屬性。使用者可以使用 File Access 組件建立 FileSystemObject 對象,該對象提供用於訪問檔案系統的方法、屬性和集合。
以下的執行個體說明了如何記錄被訪問的次數。
  
  <%                                          ‘(1)
    Do While  Application("bar") = 1
       Application.Lock
       Application("bar") = 0
       Application.Unlock
  %>
  <%                                          ‘(2)
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set fr = fs.OpenTextFile("visitors.txt", ForReading,TristateFalse)
'表示 以唯讀模式、ASCII 格式開啟檔案 visitors.txt ,返回一個
'TextStream 對象 fr,visitors.txt儲存的是被訪問的次數。
     
         visitors = fr.Read(10)   
         fr.Close
         count = CLng(visitors)
         count = count + 1      '將被訪問的次數加 1。
         visitors = CStr(count)  
     Set fw = fs.OpenTextFile("visitors.txt", 2,TristateFalse)
         fw.Write(visitors)     '將新的訪問次數寫人visitors.txt儲存
         fw.Close   
%>
<%   Application.Lock                               &nbs



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.