ASP内建对象Server
通过前九篇的理论和实践,相信大家已经对 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\aspest.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 运 用中非常重要和实用的一部分。敬请关注。
java实体类为什么要实现serlializable接口
因为对象要序列化 对象的序列化其实是持久化的一种技术.那么什么叫序列化呢?就是在文件系统(FileSystem)上存储对象的一种方法.序列化后的对象就想C盘里面的一个文件,打开以后是一堆16进制的数字..它可以被java虚拟机识别并在内存中构建一个对象.同时,序列化后的对象可以通过网络传输,等等,就不再单纯...
怎样玩游戏王
怪物离场或者变为背面表示的时候,装备卡失去对象而“破坏”送入墓地。 ·对象指定效果 发动宣言时需要指定发动的对象的效果。用来和“不指定对象的效果”以及“对象选择效果”(在效果清算时选择对象)区别。 ·直接攻击 怪物对玩家的直接攻击,此时候给予玩家相当于怪物攻击力的伤害(注意,攻击力为0的时候不视作直接攻击...
游戏王5ds
魔法种类:速攻,效果:这张卡发动的场合,自己在发动回合内不能召唤·反转召唤·特殊召唤。在自己场上把2只「黒焔トークン(黑焰衍生物)」(恶魔族·暗·1星·攻\/守0)守备表示特殊召唤。(这些衍生物不能作为暗属性怪兽以外的祭品召唤的祭品)卡包:DL1日文名:ジャイアント·ウィルス中文名:巨型病毒星级:2罕贵度...
跪求日本感人校园动漫(中学,高中)结局不要悲剧。不要BL的,结局1V1_百度...
《我们仍未知道那天所看见的花的名字。》(原名:あの日见た花の名前を仆达はまだ知らない。)是由日本动画公司A-1 Pictures制作的原创电视动画。于2011年4月14日起在日本富士电视台播出,全11集。官方简称“那朵花(あの花\/ANOHANA)”。 同名剧场版将在2013年夏公开播映。从小时候起一直青梅竹...
Shark\/Spark 除了耗内存之外还有什么缺点
也就是说,如果只是使用Spark SQL内建的SQL方言或Scala DSL对原生RDD对象进行关系查询,用户在开发Spark应用时完全不需要依赖Hive的任何东西。能够对原生RDD对象进行关系查询,个人认为大大降低了用户门槛。一方面当然是因为熟悉SQL的人比熟悉Spark API的人多,另一方面是因为Spark SQL之下有Catalyst驱动的查询...
关于系统进程,高手进!!!
@rem 在域内为自动网络提供管理 XML 配置文件。@rem 建议手动sc config xmlprov start= DEMAND@rem Network Connections (网络联机) 32@rem 微软: 管理在网络和拨号联机数据夹中的对象,您可以在此数据夹中检视局域网络和远程联机。 @rem 补充: 控制你的网络联机,停止此服务,负带影响,不能查看网上邻居属性,别...
谁能告诉我模拟人生2秘籍怎么用啊
-在放置对象时按下CTRL + ALT 键会开启秘技。 -墙壁放置规则会被移除。您现在可以放置任何墙壁对象到已被另一对象所占据的墙壁上。 ★ 其他回答共 3 条 模拟人生2 保持青春密集 aging [on\/off] 开启\/关闭 衰老 模拟人生(The Sims) 在游戏过种中,按下Ctrl + Shift + Alt + C然后敲入以下代码set_hour ...
我的电脑是中毒了吗?急
15 系统本身有问题 有时候操作系统本身也会有BUG,要注意安装官方发行的更新程序,象SP的补丁,最好打上.如果还不行,重装系统,或更换其他版本的系统。〔又一说〕在控制面板的添加\/删除程序中看看你是否安装了微软NET.Framework,如果已经安装了,可以考虑卸载它,当然如果你以后在其它程序需要NET.Framework...
如何提高启动速度
在任务管理器中,单击“进程”标签,在例表栏内找到病毒进程“avserve.exe”,单击“结束进程按钮”,点击“是”,结束病毒进程,然后关闭“Windows任务管理器”; 步骤二,查找并删除病毒程序 通过“我的电脑”或“资源管理器”进入 系统安装目录(Winnt或windows),找到文件“avser ve.exe”,将它删除;然后进入系统目录(...
关于把电脑搞的运行快些!
当上述修改完成并应用后,用户在网络连接的属性对话框内的一般属性标签栏中可以看到"QoS Packet Scheduler(QoS数据包调度程序)"。接着把网络属性中的那个Qos协议也一起卸载吧。13.关闭休眠 在一些较新的具有STR功能的主板上安装了xp后,在系统区根目录下会有一个hiberfil.sys的文件,它的大小和内存容量...
拔力葡萄: ASP内置对象 Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请 求发送的信息、响应浏览器以及存储用户信息(如用户首选项).Application 对象 可以使用 Application 对象使给定应用程序的所有用户共享信息. ...
鹰手营子矿区17173963329: ASP 提供的六个内建对象是什么? - ?
拔力葡萄: Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请 求发送的信息、响应浏览器以及存储用户信息(如用户首选项).本文简要说明 每一个对象.有关每个对象的详...
鹰手营子矿区17173963329: ASP的内置对象有几个,分别用来作什么? - ?
拔力葡萄: ASP的内置对象分别是:1、Request对象:用于从客户端取得信息 2、Response对象:用于向客户端输出信息 3、Session对象:存储单个用户的信息 4、Application对象:存放同一个应用程序中所有用户之间的共享信息 5、 Server对象:创建COM对象和Scripting组件等
鹰手营子矿区17173963329: ASP的六大内部对象是什么? - ?
拔力葡萄: Request 来自客户端的请求Response 服务器的响应Server 服务器对象(包含CreateObject等方法)Error 脚本运行错误的详细描述等Application 读写ASP应用程序的信息Session 读写WEB会话信息
鹰手营子矿区17173963329: ASP 提供的六个内建对象是什么??
拔力葡萄: asp的六大对象response request application session server和cookie
鹰手营子矿区17173963329: asp内置服务器对象的主要作用??
拔力葡萄: 1.response对象的作用是将服务器端的数据以HTML格式发送到客户端的浏览器上 2.resquest对象用于获取由浏览器提交到服务器的数据 3.session对象在不同用户访问服务器时,记录浏览器端个用户的数据 4.application对象的作用是记录 浏览器所共享的数据 5.server对象能够提供服务器端最基本的属性及方法
鹰手营子矿区17173963329: asp中,server 对象有哪些方法? - ?
拔力葡萄: 我建议你在看一下.server对象的方法有MapPath方法、CreateObject方法、HTMLEncode方法和URLEncode方法.MaPath : 将指定的虚拟路径转换为真实的路径,这里的虚拟路径指的是WEB服务器所建立的虚拟路径.CreataObject:创建一个ActiveX组件的实例 HTMLEncode :将字符串应用为HTML编码 URLEncode :将字符串应用为URL编码
鹰手营子矿区17173963329: asp5个内置对象是什么 - ?
拔力葡萄: Request对象 Response对象 Server对象 Session对象 Application对象
鹰手营子矿区17173963329: Server.CreateObject 失败,该怎么解决 - ?
拔力葡萄: 解决方法:1. 调用"server.createObject("mssearch.application")"的时候发生错误,解决如下:开始->运行->dcomcnfg 找到"mssearch"(这个名称取决于你调用的Object是什么),然后右键->Properties->security把三个权限都给everyone...
鹰手营子矿区17173963329: asp是什么程序的扩展名 - ?
拔力葡萄: 什么是ASP?ASP是Active Server Pages的缩写,即是"活动服务器页面".ASP文件是以.asp为扩展名的,它的特殊之处在于所有可以在Html文件中使用的标记语言多可以用于ASP文件中,而且ASP文件通过<%……%>标记对把 VB Script 或 ...