ASP对象server的实践

来源:互联网 发布:房地产数据统计 编辑:程序博客网 时间:2024/05/22 09:45

  Server 对象提供对服务器上的方法和属性的访问 , 其中大多数方法和属性是作为实用程序的功能服务的。有了 Server 对象,你就可以

在服务器上启动 ActiveX 对象例程,并使用 Active Server 服务提供象 HTML 和 URL 编码这样的函数。

   一、语法

   Server.property|method

   二、属性

   ScriptTimeout 超时值,在脚本运行超过这一时间之后即作超时处理。如下代码指定服务器处理脚本在 100 秒后超时。

   < % Server.ScriptTimeout=100 %>

   这里需要注意的是,通过使用元数据库中的 AspScriptTimeout 属性可以为 Web 服务或 Web 服务器设置缺省的 ScriptTimeout 值。

ScriptTimeout 属性不能设置为小于在元数据库中指定的值。例如,如果 NumSeconds 设置为 60,而元数据库设置包含了默认值 90 秒,则脚

本在 90 秒后超时。
   三、方法

   1、HTMLEncode 方法

   HTMLEncode 方法允许你对特定的字符串进行 HTML 编码,虽然 HTML 可以显示大部分你写入 ASP 文件中的文本,但是当你需要实际包含

HTML 标记中所使用的字符,就会遇到问题。这是因为,当浏览器读到这样的字符串时,会试图进行解释。例如下面的这段文本 :
   这是对 HTMLEncode 方法的测试。< br> 这里应该不会另起一行。

   会被浏览器显示为 :

   这是对 HTMLEncode 方法的测试。
   这里应该不会另起一行。

   为了避免此类问题,我们就需要使用 Server 对象的 HTMLEncode 方法,采用对应的不由浏览器解释的 HTML Character Code 替代 HTML

标记字符。所以,用下面的代码才能显示正确的 HTMLEncode 字符串,从而在浏览器中按你的需要输出文本。
  < %
  Response.write Server.HTMLEncode(" 这是对 HTMLEncode 方法的测试。< br> 这里应该不会另起一行。")%>

   2、URLEncode 方法

   就象 HTMLEncode 方法使客户可以将字符串翻译成可接受的 HTML 格式一样,Server 对象的 URLEncode 方法可以根据 URL 规则对字符

串进行正确编码,当字符串数据以 URL 的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。为此,如果你希望在发

送字符串之前进行 URL 编码,可以使用 Server.URLEncode 方法。
   3、MapPath 方法

   MapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。

   语法如下 :Server.MapPath(Path)

   Path 指定要映射物理目录的相对或虚拟路径。若 Path 以一个正斜杠 (/) 或反斜杠 (/) 开始,则 MapPath 方法返回路径时将 Path 视

为完整的虚拟路径。若 Path 不是以斜杠开始,则 MapPath 方法返回同 .asp 文件中已有的路径相对的路径。这里需要注意的是 MapPath 方

法不检查返回的路径是否正确或在服务器上是否存在。

   对于下列示例,文件 data.txt 和包含下列脚本的 test.asp 文件都位于目录 C:/Inetpub/Wwwroot/asp 下。C:/Inetpub/Wwwroot 目录

被设置为服务器的宿主目录。下列示例使用服务器变量 PATH_INFO 映射当前文件的物理路径。以下脚本
   < %= server.mappath(Request.ServerVariables("PATH_INFO"))%>

   输出

   c:/inetpub/wwwroot/asp/test.asp

   由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是目录 C:/Inetpub/Wwwroot/asp。以下脚本
  < %= server.mappath("data.txt")%>
  < %= server.mappath("asp/data.txt")%>


   输出
c:/inetpub/wwwroot/asp/data.txt
c:/inetpub/wwwroot/asp/asp/data.txt


   4、CreateObject 方法

   Server.CreateObject 恐怕是 ASP 中最为实用,也是最强劲的功能了。它用于创建已经注册到服务器上的 ActiveX 组件实例。这是一个

非常重要的特性,因为通过使用 ActiveX 组件能够使你轻松地扩展 ActiveX 的能力,正是使用了 ActiveX 组件,你可以实现至关重要的功能

,譬如数据库连接、文件访问、广告显示和其他 VBScript 不能提供或不能简单地依靠单独使用 ActiveX 所能完成的功能。正是因为这些组件

才使得 ASP 具有了强大的生命力。
   其语法如下:

   Server.CreateObject("Component Name")

   默认情况下,由 Server.CreateObject 方法创建的对象具有页作用域。这就是说,再当前 ASP 页处理完成之后,服务器将自动破坏这些

对象。如果要创建有会话或应用程序作用域的对象,可以使用 < OBJECT> 标记并设置 SESSION 或 APPLICATION 的 SCOPE 属性,也可以在对

话及应用程序变量中存储该对象。如下例程 :
   < % Set Session("ad") = Server.CreateObject("MSWC.AdRotator")%>

   这里需要注意的是,不能创建与内建对象同名的对象实例,否则,如下列脚本将返回错误。

   < % Set Response = Server.CreateObject("Response") %>