您的位置:首页精文荟萃软件资讯 → ASP内建对象Server

ASP内建对象Server

时间:2004/10/7 19:01:00来源:本站整理作者:蓝点我要评论(0)


            
             
              
             
            

               
               

            



            通过前九篇的理论和实践,相信大家已经对 ASP
有了系统的了解,虽然至今为止,我们只学了 ASP 的 4
个内建对象,但已经完全能够写出一些实用的小程序了。今天,作者将继续给大家讲解最后一个
ASP 内建对象——Server。


  
在开始本次课程之前,我仍要在这里回答一些朋友们提出的比较普遍的问题。最近仍有不少朋友来信问我,如何构建服务器端的
Active Server Page
环境。我想可能是我在前几篇中没有讲清楚,因此,在本篇的开头有必要把这个问题详细阐述一遍。


   ASP 的应用完全是基于 Microsoft Internet Information Server(简称 IIS)之上的,IIS
有分别用于 Windows NT Server 和 WorkStation 的两个版本中(当然 IIS4.0
也有 Windows98
版,这里暂且不提),其功能几乎完全相同,所不同的只是安装过程。一般来说,我们使用的都是基于
NT 服务器上的 IIS 版本。在 NT Server
的环境中,发布信息、管理站点的工作一般都是通过 IIS
来完成的。通常我们在 NT4.0 版本中运行的是 IIS2.0
版,但它不具有支持 ASP 的功能。ASP 必须在安装完 IIS
后单独安装,安装文件是一个微软发布的 ASP 安装包,大约有 9
兆多,应该可以在微软的网站上下载。当 IIS2.0 中增添了支持 ASP
的功能后,其也就自动升级为 3.0 版本。2.0 和 3.0 对于 WEB
服务器来说,并没有什么大的改动,只是单纯地增加了运行 ASP
的能力。当安装完成后,运行 Internet
服务管理器,你将看到如下画面:





   可以到在 IIS3.0 中提供了三种服务:WWW、Gopher、FTP,WWW
服务为客户浏览器提交 WEB 页,并允许客户访问 .asp
文件。当然,你可以直接安装最新的 IIS4.0
版本,作者也建议各位安装此版本,因为它具有更强更高的 WEB
管理机能和安全性。在 IIS4.0 中 IIS
的管理界面发生了根本性的改变,熟悉的 Internet
服务管理器,被取而代之为 Microsoft 管理控制台,简称 MMC。其界面如下图:






     那么如何安装 I IS4.0 呢 ?在 N T4.0 上 安装 I IS4.0 时
,你的系统中必须已经安装了 N T SP3 , 以及 I nternet Explorer4.01 ,
注意这里的 I nternet Explorer 的 版本必须是 4 .01 , 版本号为 4 .72.3110.8
。 这点很重要,否则你将不能安装 I IS4.0 。
作者为了安装该版本特意花费了一个晚上在微软的站点上升级 I E 版
本。


   IIS
支持虚拟目录,通过在“服务器属性”对话框中的“目录”标签可以管理虚拟目录。建立虚拟目录对于管理
WEB
站点具有非常重要的意义。首先,虚拟目录隐藏了有关站点目录结构的重要信息。因为在浏览器中,客户通过选择“查看源代码”,很容易就能获取页面的文件路径信息,如果在
WEB
页中使用物理路径,将暴露有关站点目录的重要信息,这容易导致系统受到攻击。其次,只要两台机器具有相同的虚拟目录,你就可以在不对页面代码做任何改动的情况下,将
WEB 页面从一台机器上移到另一台机器。还有就是,当你将 WEB
页面放置于虚拟目录下后,你可以对目录设置不同的属性,如:Read、Excute、Script。读访问表示将目录内容从
IIS
传递到浏览器。而执行访问则可以使在该目录内执行可执行的文件。当你需要使用
ASP 时,就必须将你存放 .asp 文件的目录设置为“Excute(执行)”。作者建议大家在设置
WEB 站点时,将 HTML 文件同 ASP 文件分开放置在不同的目录下,然后将
HTML 子目录设置为“读”,将 ASP
子目录设置为“执行”,这不仅方便了对 WEB
的管理,而且最重要的提高了 ASP
程序的安全性,防止了程序内容被客户所访问。因为在今年 7
月底的时候 IIS 被一些网络高手发现了一个可怕的 bug,那就是,当你在一个站点的
.asp 文件后加上 ::$DATA 后,客户将能在浏览器中看到该 .asp
文件的所有源代码,这对于一个站点来说是非常可怕的。当然微软已经针对这个
bug,编写了补丁,但是为了彻底杜绝这种可能性的发生,作者还一建议大家不要将
.asp 所在的目录设置为可读。



   我想,现在各位应该已经完全了解 ASP
的服务器端设置了,下面我们就进入正题 -- 学习 ASP
的最后一个内建对象 Server。



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



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



   < % Server.ScriptTimeout=100 %>    
这里需要注意的是,通过使用元数据库中的 A spScriptTimeout 属
性可以为 W eb 服 务或 W eb 服 务器设置缺省的 S criptTimeout 值 。 S
criptTimeout 属 性不能设置为小于在元数据库中指定的值。例如,如果NumSeconds
设 置为 6 0 , 而元数据库设置包含了默认值 9 0 秒 ,则脚本在 9 0 秒
后超时。



   三、方法    1、HTMLEncode 方法



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



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



   会被浏览器显示为 :



   这是对 HTMLEncode 方法的测试。

   这里应该不会另起一行。



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

  < %

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

   2、URLEncode 方法    就象 H TMLEncode 方
法使客户可以将字符串翻译成可接受的 H TML 格 式一样, S erver 对
象的 U RLEncode 方 法可以根据 U RL 规
则对字符串进行正确编码,当字符串数据以 U RL 的
形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。为此,如果你希望在发送字符串之前进行
U RL 编 码,可以使用 S erver.URLEncode 方 法。



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



   语法如下 :Server.MapPath(Path)



    P ath 指 定要映射物理目录的相对或虚拟路径。若 P ath 以
一个正斜杠 ( /) 或 反斜杠 ( \) 开 始,则 M apPath 方 法返回路径时将 P
ath 视 为完整的虚拟路径。若 P ath 不 是以斜杠开始,则 M apPath 方
法返回同 . Asp 文 件中已有的路径相对的路径。这里需要注意的是 M
apPath 方 法不检查返回的路径是否正确或在服务器上是否存在。


   对于下列示例,文件 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 方法    S erver.CreateObject 恐 怕是 A SP 中
最为实用,也是最强劲的功能了。它用于创建已经注册到服务器上的
A ctiveX 组 件实例。这是一个非常重要的特性,因为通过使用 A ctiveX
组 件能够使你轻松地扩展 A ctiveX 的 能力,正是使用了 A ctiveX 组
件,你可以实现至关重要的功能,譬如数据库连接、文件访问、广告显示和其他
V Bscript 不 能提供或不能简单地依靠单独使用 A ctiveX 所
能完成的功能。正是因为这些组件才使得 A SP 具
有了强大的生命力。    其语法如下:   
Server.CreateObject("Component Name")     默认情况下,由 S
erver.CreateObject 方 法创建的对象具有页作用域。这就是说,再当前 A
SP 页
处理完成之后,服务器将自动破坏这些对象。如果要创建有会话或应用程序作用域的对象,可以使用
< OBJECT> 标记并设置 SESSION 或 APPLICATION 的 SCOPE
属性,也可以在对话及应用程序变量中存储该对象。如下例程 :   
< % Set Session("ad") = Server.CreateObject("MSWC.AdRotator")%>
  
这里需要注意的是,不能创建与内建对象同名的对象实例,否则,如下列脚本将返回错误。
   < % Set Response = Server.CreateObject("Response") %>    
至今为止,我们已经学习完了 A SP 所
有的内建对象,不知大家是不是很兴奋?其实 A SP 是
很简单的,只要大家不断的实践,相信一段时间后都不难成为 A SP 的
高手。从下一篇起作者将开始介绍 A SP 内 建 A ctiveX 组 件,这也是 A
SP 运 用中非常重要和实用的一部分。敬请关注。

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本