ASP基础入门第十篇(ASP内建对象Server)
2018-09-06 11:55
Server 对象提供对服务器上的方法和属性的访问 , 其中大多数方法和属性是作为实用程序的功能服务的。有了 Server 对象,你就可以在服务器上启动 ActiveX 对象例程,并使用 Active Server 服务提供象 HTML 和 URL 编码这样的函数。
一、语法
Server.propertymethod
二、属性
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\下。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) %>
至今为止,我们已经学习完了 ASP 所有的内建对象,不知大家是不是很兴奋?
其实 ASP 是很简单的,只要大家不断的实践,相信一段时间后都不难成为ASP 的高手。
上一篇:ASP讲座之十:自己动手编写组件