飞行鱼的专栏

诚实守信,刻苦努力,乐于助人,广交朋友

asp中server的使用

  Server对象有那些属性方法以及怎样使用

  Server对象提供对服务器访问的方法和属性。其中大多数方法和属性是作为实用程序的功能提供的。
Server对象有哪些基本属性和方法?

  (1).语法:
   Server.property|method
  (2).属性(property)
   Server对象只有一个属性:ScriptTimeout 程序能够运行的最大时间
  (3).方法(Methods)
   CreateObject 建立一个对象实例.
   Execute 执行一个asp文件
   GetLastError 返回一个错误代码
   HTMLEncode 对指定的HTML代码进行转换.
   MapPath 将一个相对路径转化为一个绝对路径.
   Transfer 将当前的所有状态信息发送给另一个asp文件
            URLEncode 以URL形式转化指定的代码,包括空格

  如何使用Server对象的属性和方法?

  (1).CreateObject

   语法
   Server.CreateObject ( progID )
   参数
    progID
    指定要创建的组件名称,格式如下: [Vendor.]Component[.Version]。
   要点:
    一般来说,用由Server.CreateObject方法创建的对象的生存期在该页面范围内。这就说,当这页的asp程序执行完后,这个对象会自动地消失。

  为了创建一个拥有Session或Application范围的对象,你就要在Global.asa文件中使用CreateObject方法

  (2).Execute

  Execute 方法是呼叫一个ASP文件并且执行它,像被呼叫的ASP文件存在这个ASP文件中一样。这很与许多语言中的类的调用相似。
  语法
    Server.Execute ( Path )
  参数
    Path
  指定将执行的那个asp文件的路径。如果它是一个相对路径,那么它必须是一个和这个ASP应用程序相同的地方(目录)的文件。

  讲解
  Server.Execute 方法提供了一个将复杂ASP应用程序分化为小块单位来执行的方法。通过这种方法,你能够建一个ASP图书馆,你能够随便在你需要时调用你图书馆中的ASP文件。

  当IIS根据指定的ASP文件路径执行完这个ASP文件之后,就会自动返回以前的ASP文件。这个刚刚执行完的ASP文件有可能改变了HTTP head。但是和其它的ASP文件一样,当程序试图改变http head时,就会报错!

  这个path参数可以包括一个询问信息。

  如果在被呼叫和呼叫的ASP文件中都含有相同的子函数,那么这些子函数只在本ASP文件中起作用。举个例子,如果在下面的ASP1和ASP2两个文件中都含有放弃程序的子函数。首先ASP1呼叫ASP2,那么ASP2中的的OnTransactionAbort开始执行,当ASP2执行完毕,ASP1中的OnTransactionAbort才开始执行。

  ASP1:
<%@ Transaction = Required %><%  Server.Execute ("Page22.asp")  Sub OnTransactionAbort Sub OnTransactionCommit%>
  Asp2.asp:
< %@ Transaction = Required Sub OnTransactionAbort Sub OnTransactionCommit%>
 例子:
ASP1
<% Response.Write ( "I am going to execute ASP2 " )Server.Execute ( "/myasps/asp2.asp" )%>
ASP2
<% Response.Write ( "Here I am" ) %>

  (3).GetLastError方法

  GetLastError 方法返回一个ASPError Object 来描述一个错误信息.这个方法只适用于在asp文件发送任何内容给用户机之前.
  语法
   Server.GetLastError ( )
  要点:
  如果一个500;100 用户错误已经被定义在一个asp应用程序中,它是指的一个以.asp为后缀的文件。这种情况下,在这个程序运行时当一个错误发生时,服务器就会自动的以Server.Transfer这种方式传送到这个正在执行的ASP页面。ASP应用程序就会将有效的处理这个错误。另外,这个ASPError Object一定要有效,这样你就能够看到服务器提供给你的错误信息来改这个文件了!

  一般的Web Site 都是根据文件/iishelp/common/500-100.asp来构造的。你能够用它来执行一个asp错误,当然你能够自己定义了!。如果你想改变为另外一个asp文件的来执行这些用户错误。那么你可以用IIS中的snap-in。

  注意:当IIS发现了一个asp文件或者global.asa文件中的一个错误,那么一个500;100用户错误产生。以下的程序将不能执行!

  下面的三个例子证明不同的错误会产生的用户错误。三个错误是:

   编译错误
   运行错误
   逻辑错误

  第一个例子证明了一个编译错误,就是当IIS试图包含一个文件时产生的。这个错误会产生是因为在这个包含文件中没有定义所需的参数。第二个例子显示的是一个运行错误,这个程序中断的原因是程序中没有"next"。第三个例子显示的是一个逻辑错误,因为这个程序试图除以一个0。 

  例子01:

< %  response.write "hello"%>
例子02:
< %  dim I  for I = 1 to 1  nxt%>
例子03:
<%  dim i , j  dim sum  sum = 0  j = 0  for i = 1 to 10   sum = sum+1  next  sum = sum/j%>

  (4).HTMLEncode方法:

  HTMLEncode方法对指定的字符串进行HTML编码。
  语法
   Server.HTMLEncode ( string )
  参数
   string 要进行编码的字符
  例子
   下面的程序:
  <%= Server.HTMLEncode ( "The paragraph tag: " ) %>
  输出为:
  The paragraph tag:
  注意 程序执行后在浏览器中看到的是:
  The paragraph tag:

  但是如果你用"查看源文件"看一下的话,源代码就不是了。

  (5).MapPath

  MapPath 方法将相对路径转化为服务器上的物理路径
  语法
  Server.MapPath ( Path )
  参数
  Path

  这个路径是以"/"或"/"开头的路径,如果这个路径中没有"/",那么MapPath方法就会返回以当前目录为基础的路径。

  讲解
  MapPath 方法不能检查路径在这个服务器下是否存在。因为 MapPath 转化路径时是不管这个路径是否在这个服务器下存在的。

  你能够用它来将一个相对路径转化为一个物理路径,然后再在这个路径下进行各种操作。

  在下面的例子中,data.txt文件存在 C:/Inetpub/Wwwroot/Script 目录中,而一个test.asp 文件包括下面的代码。C:/Inetpub/Wwwroot 是该服务器的主目录 。

  下面的例子中,首先用环境变量"PATH_INFO"获得当前文件的物理路径。

  下面是Script 代码:

  <%= server.mappath ( Request.ServerVariables ( "PATH_INFO" ) ) %>
  显示为:
c:/inetpub/wwwroot/script/test.asp
  因为下面的例子中路径参数没有以"/"开头,所以它是以当前目录转化的,asp文件是放在C:/Inetpub/Wwwroot/Script中的.以下是 scripts的内容: 
 <%= server.mappath ( " data.txt " ) %> <%= server.mappath ( " script/data.txt " ) %>
  显示为:
  c:/inetpub/wwwroot/script/data.txt  c:/inetpub/wwwroot/script/script/data.txt
  以下的两个例子是以"/"开头的.以下是scripts的内容:
  <%= server.mappath ( " /script " ) %>
  显示为:
  c:/inetpub/wwwroot/script/data.txt  c:/inetpub/wwwroot/script
  直接用"/"或"/"就会得到服务器的主目录:
  <%= server.mappath ( " / " ) %>
  显示为:
  c:/inetpub/wwwroot

(6).Transfer方法:

  transfer 方法会把一个正在执行的asp文件的所有信息传给另外一人asp文件。
  语法
   Server.Transfer ( path )
  参数
  Path
  将要接收信息的asp文件的位置。
  要点:
  当你调用Server.Transfer时,所有内建对象的状态信息都会包含在这次传送之中。这就是说,所有在保存在Session或Application中的信息都会被传送,而且所有当前请求的信息都会被接收信息的asp文件所接受。

  下面的例子示范了从一个asp文件传送到另一个asp文件例子!

  ASP1
<% Dim sessvar1 Response.Write Session.SessionID Response.Write ( " " ) Response.Write ( "I am going to ASP2 " ) Server.Transfer ( "/Myasps/ASP2.asp" )%>
  ASP2
<% Response.Write Session.SessionID %>

  (7).URLEncode方法:

  URLEncode 方法可以将指定字符串进行URL编码。
  语法
   Server.URLEncode ( string )
  参数
   string 指定要转化的字符串
  下面是代码:
  <% Respones.Write ( Server.URLEncode ( http://www.microsoft.com ) ) %>
  显示为:
  http%3A%2F%2Fwww%2Emicrosoft%2Ecom

  (8).属性:ScriptTimeout

  ScriptTimeout 属性规定了程序的最大运行时间。
  语法
   Server.ScriptTimeout = NumSeconds
  参数
   NumSeconds
   规定了程序的最大的运行时间(以秒计算)。缺省值是90秒
  Remarks

   Web sertvic 或 Web server上缺省的Scritpt Timeout的值能通过ASPScriptTimeOUT属性来设置。在程序中,ScriptTimeout属性的值不能小于这个缺省值。举个例子吧,如果NumSeconds我们设置为10秒,而缺省值为90秒,那么程序就会中止在90秒以后,而不是10秒以后的。同样,如果我们设置ScriptTimeout的值为100秒,那么,程序就会在100秒之后中止,而不是90秒。

  下面的例了中程序将被设置为100秒后自动中止。

  <% Server.ScriptTimeout = 100 %>
  下面的例子中将重新得到ScriptTimeout的值,然后把它存在Timout变量中
  <% TimeOut = Server.ScriptTimeout %>

阅读更多
个人分类: 其它语言知识
上一篇Struts中的DispatchAction和LookupDispatchAction
下一篇SqlServer中的Join操作
想对作者说点什么? 我来说一句

asp server

2014年02月22日 651KB 下载

ASP的SQL Server连接字符串介绍

2017年06月15日 208KB 下载

ASP Web Server

2010年05月27日 626KB 下载

ASP与SQL SERVER网站架构

2007年11月19日 3.54MB 下载

aspserver对象

2011年04月23日 51KB 下载

Active Server Pages(ASP内置对象)

2009年04月07日 139KB 下载

没有更多推荐了,返回首页

关闭
关闭