编程开发 > ASP > 文章内容

ASP内建对象Server的使用详解

2011-6-7编辑:mal

Server对象提供对服务器上的方法和属性的访问,其中大多数方法和属性是作为实用程序的功能服务的。有了Server对象,你就可以在服务器上启动ActiveX对象例程,并使用Active Server服务提供象HTML和URL编码这样的函数。

  一、语法

Server.property|method

  二、属性

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

<%Server.ScriptTimeout=100%>

  这里需要注意的是,通过使用元数据库中的ASP ScriptTimeout属性可以为Web服务或Web服务器设置缺省的ScriptTimeout值。ScriptTimeout属性不能设置为小于在元数据库中指定的值。例如,如果NumSeconds设置为60,而元数据库设置包含了默认值90秒,则脚本在90秒后超时。

  三、方法

  1、HTMLEncode方法

  HTMLEncode方法允许你对特定的字符串进行HTML编码,虽然HTML可以显示大部分你写入ASP文件中的文本,但是当你需要实际包含HTML标记中所使用的字符,就会遇到问题。这是因为,当浏览器读到这样的字符串时,会试图进行解释。

  为了避免此类问题,我们就需要使用Server对象的HTMLEncode方法,采用对应的不由浏览器解释的HTMLCharacterCode替代HTML标记字符。所以,用下面的代码才能显示正确的HTMLEncode字符串,从而在浏览器中按你的需要输出文本。

<%Response.write Server.HTMLEncode("这是对HTMLEncode方法的测试。这里应该不会另起一行。")%>

  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("ComponentName")

  默认情况下,由Server.CreateObject方法创建的对象具有页作用域。这就是说,再当前ASP页处理完成之后,服务器将自动破坏这些对象。如果要创建有会话或应用程序作用域的对象,可以使用<OBJECT>标记并设置SESSION或APPLICATION的SCOPE属性,也可以在对话及应用程序变量中存储该对象。如下例程:

<%Set Session("ad")=Server.CreateObject("MSWC.AdRotator")%>

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

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

ASP安全设置:禁止从外部提交数据

热点推荐

登录注册
触屏版电脑版网站地图