全面解析Server對象_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦: 用ASP設(shè)計一個留言薄
      首先,我們在做留言薄之前,先做出一個輸入屏的界面效果,也就是生成留言部輸入屏幕的htmL頁,然后在這些htmL源代碼中加入ASP腳本,我這里得到的htmL代碼如下。 *文件名:book.htm

      Server對象提供對服務(wù)器上訪問的方法和屬性.大多數(shù)方法和屬性是作為實用程序的功能提供的。

        語法:

         Server.property|method

        屬性(property)

         Server對象只有一個屬性:ScriptTimeout 程序能夠運行的最大時間

        方法(Methods)

         CreateObject 建立一個對象實例.

         Execute 執(zhí)行一個asp文件

         GetLastError 返回一個錯誤代碼

         HTMLEncode 對指定的HTML代碼進行轉(zhuǎn)換.

         MapPath 將一個相對路徑轉(zhuǎn)化為一個絕對路徑.

         Transfer 將當前的所有狀態(tài)信息發(fā)送給另一個asp文件

         URLEncode 以URL形式轉(zhuǎn)化指定的代碼,包括空格

        Server對象的方法詳細說明

         CreateObject

         語法

         Server.CreateObject( progID )

         參數(shù)

          progID

          指定要創(chuàng)建的組件名稱,格式如下: [Vendor.]Component[.Version].

         要點:

          一般來說,用由Server.CreateObject方法創(chuàng)建的對象擁有頁面的范圍.這就說,當這頁的asp程序執(zhí)行完后,這種對象會自動地消失.

        為了創(chuàng)建一個擁有Session或Application范圍的對象,你可以在Global.asa文件中使用

        Execute

        Execute 方法呼叫一個ASP文件并且執(zhí)行它就像這個呼叫的ASP文件存在這個ASP文件中一樣。這很像許多語言中的類的調(diào)用。

        語法

        Server.Execute( Path )

        參數(shù)

         Path

        指定執(zhí)行的那個asp文件的路徑。如是它是一個絕對路徑,那么它必須是一個在這個ASP應(yīng)用程序相同的地方(目錄)。

        講解

        Server.Execute 方法提供了一種將一個復(fù)雜ASP應(yīng)用程序分化為小塊單位來執(zhí)行的方法。通過這種方法,你能夠建一個ASP圖書館,你能夠隨便在你需要時調(diào)用你圖書館中的ASP文件。這個就有點像SSI了!嘿嘿!

        當IIS根據(jù)指定的ASP文件路徑執(zhí)行完這個ASP文件之后,就會自動返回以前的ASP文件。這個剛剛執(zhí)行完的ASP文件有可能改變了HTTP head.但是和其它的ASP文件一樣,當程序試圖改變http head時,就會報錯!

        這個path參數(shù)可以包括一個詢問信息。

        如果在被呼叫和呼叫的ASP文件中都含有相同的子函數(shù),那么這些子函數(shù)只在本ASP文件中起作用。舉個例子,如果在下面的ASP1和ASP2兩個文件中都含有放棄程序的子函數(shù)。首先ASP1呼叫ASP2,那么ASP2中的的OnTransactionAbort開始執(zhí)行,當ASP2執(zhí)行完畢,ASP1中的OnTransactionAbort才開始執(zhí)行。

        ASP1:

      < %@ Transaction=Required%>
      < %
       Server.Execute ("Page22.asp")

       Sub OnTransactionAbort

       Sub OnTransactionCommit
      %>


        Asp2.asp:

      < %@
       Transaction=Required

       Sub OnTransactionAbort

       Sub OnTransactionCommit
      %>


        Example

         ASP1

      < % Response.Write("I am going to execute ASP2 ")
      Server.Execute("/myasps/asp2.asp")
      %>


      ASP2

      < % Response.Write("Here I am")%>



        GetLastError

        GetLastError 方法返回一個ASPError Object 來描述一個錯誤信息.這個方法只適用于在asp文件發(fā)送任何內(nèi)容給用戶機之前.

        語法

        Server.GetLastError ()

        要點

        如果一個500;100 用戶錯誤已經(jīng)被定義在一個asp應(yīng)用程序中,它是指的一個以.asp為后綴的文件。這種情況下,在這個程序運行時當一個錯誤發(fā)生時,服務(wù)器就會自動的以Server.Transfer這種方式傳送到這個正在執(zhí)行的ASP頁面。ASP應(yīng)用程序就會將有效的處理這個錯誤。另外,這個ASPError Object一定要有效,這樣你就能夠看到服務(wù)器提供給你的錯誤信息來改這個文件了!

        一般的Web Site 都是根據(jù)文件\iishelp\common\500-100.asp來構(gòu)造的。你能夠用它來執(zhí)行一個asp錯誤,當然你能夠自己定義了!。如果你想改變?yōu)榱硗庖粋asp文件的來執(zhí)行這些用戶錯誤。那么你可以用IIS中的snap-in.

        注意:當IIS發(fā)現(xiàn)了一個asp文件或者global.asa文件中的一個錯誤,那么一個500;100用戶錯誤產(chǎn)生。以下的程序?qū)⒉荒軋?zhí)行!

        Example

        下面的三個例子證明不同的錯誤會產(chǎn)生的用戶錯誤。三個錯誤是:

        編譯錯誤

        運行錯誤

        邏輯錯誤

        第一個例子證明了一個編譯錯誤,就是當IIS試圖包含一個文件時產(chǎn)生的。這個錯誤會產(chǎn)生是因為在這個包含文件中沒有定義所需的參數(shù)。第二個例子顯示的是一個運行錯誤,這個程序中斷的原因是程序中沒有“next".第三個例子顯示的是一個邏輯錯誤,因為這個程序試圖除以一個0. 不行啦! 

        
      Example 1

      < %
        response.write "hello"
      %>

      Example 2

      < %
        dim I
        for i=1 to 1
        nxt
      %>

      Example 3

      < %
        dim i,j
        dim sum
        sum=0
        j=0

        for i=1 to 10
         sum=sum 1
        next

        sum=sum/j
      %>




        HTMLEncode

        HTMLEncode方法對指定的字符串進行HTML編碼.

        語法

         Server.HTMLEncode( string )

      分享:輕輕松松破解開別人ASP木馬密碼的方法
      破解目標:破解一經(jīng)過加密的Asp木馬登陸密碼。由于木馬里沒有版本說明,具體也不知道這木馬叫什么名。 破解思路:兩種,用加密后的密碼替換密文和利用密文及加密算法反解出密碼。 前者根

      來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
      相關(guān)ASP教程