• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    ASP實用大全-實戰ASP(1)

    發布: 2007-7-14 19:37 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 25次 | 進入軟件測試論壇討論

    領測軟件測試網 ASP計數器設計詳解
          Active Server Pager(動態服務器主頁,簡稱ASP),通過讀寫服務器的文件,結合script語言(VBscript或Jscript)和html碼可以方便地實現頁面計數器功能,F流行的ASP教材和網絡上的ASP教程都談到過ASP計數器的設計問題,但是都過于簡單,比如沒有提到怎樣實現計數器腳本和主頁面的分離以及圖象計數器的實現等。下面就作者為單位制作NT web站點的經驗,舉實例循序漸進談談關于ASP計數器的設計,希望能給ASP的初學者和對ASP WEB編程有興趣的網友一些啟發。

                  (一)簡單的計數器
      ASP內含五個內置的"Active Server Components"(ActiveX服務器組件),即Database Access component(數據庫訪問組件)、File Access component(文件訪問組件)、Ad Rotator component(廣告輪播器組件)、Brower Capabilities component(瀏覽器信息組件)、Content Linking component(內容鏈接組件)。我們下面要設計的計數器,就是通過其中的File Access component(文件訪問組件)來讀寫服務器文件來實現。算法思路是:在服務器端用一個文本(ASCII)文件存放計數數值,每當頁面被訪問時就從文件中讀出數值,顯示給用戶,并且使數值加1,把增加后的數值寫回到文件。

      寫入數據到一個服務器計數文件的ASP語句和說明如下:
    CounFile=Server.MapPath("用來存放計數器值的文件名")
      Server服務器訪問方法MapPath(path)是將存放計數器值的文件所在的路徑   轉換成物理路徑
    SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
      使用方法CreateObject定義對象FileSystemObject
    SET OutStream=Server.CreateTextFile(FileObject,True,False)
      使用對象FileSystemObject提供方法CreateTextFile產生文本文件,其中參   數"True"表示覆蓋原來的文件,"False"表示文件為ASCII類型
    OutStream.WriteLine "要寫入的數據"
      OutStream.WriteLine為往文件寫入一行數據
      從一個服務器文件讀取數據的ASP語法如下:
    CounFile=Server.MapPath("用來存放計數器值的文件名")
    SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
    SET InStream=Server.OpenTextFile(FileObject,1,false,false)
      使用對象FileSystemObject提供方法OpenTextFile產生文本文?
    其中參數"True"表示覆蓋原來的文件,"False"表示文件為ASCII類型
    "要讀取的數據"=InStream.ReadLine
    其中InStream.ReadLine為從文件中讀取的一行數據

      下面是一個用ASP實現頁面計數器功能的計數器例子(simplecounter.asp),我在代碼中詳細注釋了語句。你可以把以下代碼粘貼到你需要計數的頁面代碼中。當然,你的服務器必須支持ASP,且你已經在主頁所在的目錄下創建了一個內容為0的文本文件simplecounter.txt。

    簡單的ASP計數器simplecounter.asp代碼及注釋:
    $#@60;%
    CountFile=Server.MapPath("simplecounter.txt")
    文件aspconter.txt是用來儲存數字的文本文件,初始內容一般是0
    Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
    counter=Out.ReadLine
    讀取計數器文件中的值
    Out.Close
    關閉文件
    SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
    Application.lock
    方法Application.lock禁止別的用戶更改計數器的值
    counter= counter + 1
    計數器的值增加1
    Out.WriteLine(counter)
    把新的計數器值寫入文件
    Application.unlock
    使用方法Application.unlock后,允許別的用戶更改計數器的值
    Response.Write("您是第")
    Response.Write("$#@60;font color=red$#@62;")
    Response.Write(counter)
    把計數器的值傳送到瀏覽器,以紅(red)色顯示給用戶
    Response.Write("$#@60;/font$#@62;")
    Response.Write("位訪問者")
    Out.Close
    關閉文件
    %$#@62;
                 (二)與頁面分離的計數器
      實際應用中,主頁面與計數器程序是分離的,既只要在需要計數的頁面中加入一句引用代碼就可以實現頁面計數。我們在網上經常申請使用的免費計數器就是這樣,不過它們一般是CGI做的。這里,我們只要稍微修改一下前面我們用ASP做的簡單計數器,然后在頁面加入一句JavaScript語句引用它,就實現了與頁面分離的計數器功能。這樣,無論是作為主頁面的計數器還是為某個特定頁面的計數,都很方便了。顯然,你需要簡單更改一下存放計數器值的文件名和計數器asp源代碼文件名就可以實現多個計數器。
    與頁面分離的計數器txtcounter.asp代碼:
    $#@60;%
    CountFile=Server.MapPath("txtcounter.txt")
    Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
    counter=Out.ReadLine
    Out.Close
    SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
    Application.lock
    counter= counter + 1
    Out.WriteLine(counter)
    Application.unlock
    Response.Write"document.write("&counter&")"
    為了在頁面正確顯示計數器的值,調用VBScript函數Document.write
    Out.Close
    %$#@62;
    在要計數的頁面加入如下的代碼:
    $#@60;p$#@62;
    您是第
    $#@60;font color=red$#@62;
    $#@60;script language="JavaScript" src="/Files/BeyondPic/2005-12/8/0512808480275208.gif",...(圖象自己可以用Photoshop等工具制作,或者從網絡上下載)。這里我們要用到VBScript函數Len(string | varname)、Mid(string,start[,length])。由Len(counter)可得到計數器值的位數,由Mid(counter,i,1)可以得到計數器值的第i位上的數字,我們可利用這個值來調用相應的數字圖象。用For循環語句,我們不難得出計數器值各個位上的數字并轉化成對應的數字圖象,這樣,我們就能實現文本數值到圖象數字的轉變。下面就是一個用ASP編寫的圖象計數器實例,因為大部分代碼前面都分析過,所以代碼中只注釋了部分語句。

      與頁面分離的圖象計數器imgcounter.asp代碼:
    $#@60;% @language="VBScript"%$#@62;
    $#@60;%
    dim images(20)
    定義一數組,用來存放顯示每一位數字圖象的語句
    CountFile=Server.MapPath("imgcounter.txt")
    Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
    counter=Out.ReadLine
    Out.Close
    SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
    Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
    Application.lock
    counter= counter + 1
    Out.WriteLine(counter)
    Application.unlock
    countlen=len(counter)
    得到計數器值的位數
    for i=1 to countlen
    images(i)="$#@60;img src="&"http://202.101.209.75/asptemp/counter/images/"&"/" & mid(counter,i,1) & ".gif$#@62;$#@60;/img$#@62;"
    由循環語句得到各個位上數值對應圖象的顯示代碼(html),并把它存在數組中
    具體使用時請注意圖象的實際服務器及目錄路徑
    response.write"document.write("&images(i)&");"
    調用函數Document.write輸出顯示數字圖象的html代碼
    next
    Out.Close
    %$#@62;

    在要計數的頁面加入如下的代碼:
    $#@60;p$#@62;
    您是第
    $#@60;script language="JavaScript" src="http://202.101.209.75/asptemp/counter/imgcounter.asp"$#@62;
    //引用時注意ASP計數器所在的服務器及目錄路徑。
    $#@60;/script$#@62;
    位來客
    $#@60;/p$#@62;
    附注:以上asp計數器均在Windows NT Server 4.0(中文) / IIS3.0 下測試通過。以下任何一種環境都可執行ASP:
    一、Windows NT Server 4.0 / IIS3.0以上
    二、Windows NT WorkStation 4.0 / Microsoft Peer Web Service3.0以上
    三、Windows 95/98 / Microsoft Personal Web Server 1.0a以上

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>