aspserver对象:ASP内建对象Server



   通过前 9篇理论和实战相信大家已经对 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
兆多应该可以在微软网站WebSite上下载当 IIS2.0 中增添了支持 ASP
功能后其也就自动升级为 3.0 版本2.0 和 3.0 对于 WEB
服务器来说并没有什么大改动只是单纯地增加了运行 ASP
能力当安装完成后运行 Internet
服务管理器你将看到如下画面:


   可以到在 IIS3.0 中提供了 3种服务:WWW、Gopher、FTPWWW
服务为客户浏览器提交 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
   2、属性    ScriptTimeout
超时值在脚本运行超过这时间的后即作超时处理如下代码指定服务器处理脚本在
100 秒后超时
   < % Server.ScriptTimeout=100 %>    
这里需要注意通过使用元数据库

A spScriptTimeout 属
性可以为 W eb 服 务或 W eb 服 务器设置缺省 S criptTimeout 值 S
criptTimeout 属 性不能设置为小于在元数据库中指定例如如果NumSeconds
设 置为 6 0 而元数据库设置包含了默认值 9 0 秒 则脚本在 9 0 秒
后超时
   3、思路方法    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:InetpubWwwrootasp 下C:InetpubWwwroot
目录被设置为服务器宿主目录下列举例使用服务器变量 PATH_INFO
映射当前文件物理路径以下脚本
   < %= server.mappath(Request.ServerVariables(\"PATH_INFO\"))%>
   输出
   c:inetpubwwwrootasptest.asp
  
由于下列举例中路径参数不是以斜杠开始所以它们被相对映射到当前目录此处是目录
C:InetpubWwwrootasp以下脚本

  < %= server.mappath(\"data.txt\")%>

  < %= server.mappath(\"asp/data.txt\")%>

   输出

c:inetpubwwwrootaspdata.txt

c:inetpubwwwrootaspaspdata.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 运 用中非常重要和实用部分敬请关注
Tags:  server对象的属性 server对象 jsp内建对象 aspserver对象

延伸阅读

最新评论

发表评论