📄 asp内建对象serv.htm
字号:
跟踪</A><BR>·<A
href="http://lzjx.com/w/main.asp?id=545&sx=jc">ASP+上传文件语法</A><BR>·<A
title=asp+简介、安装、以及如何显示中文
href="http://lzjx.com/w/main.asp?id=546&sx=jc">asp+简介、安装、以及如何..</A><BR>·<A
href="http://lzjx.com/w/main.asp?id=547&sx=jc">Asp+ Web
Forms</A><BR>·<A
href="http://lzjx.com/w/main.asp?id=548&sx=jc">ASP+中文显示之两种解决方法</A><BR>·<A
href="http://lzjx.com/w/main.asp?id=441&sx=jc">ASP上手“快捷方式”-序言</A><BR>·<A
title=ASP上手“快捷方式”-剖析ASP脚本
href="http://lzjx.com/w/main.asp?id=442&sx=jc">ASP上手“快捷方式”-剖析..</A><BR>·<A
title=ASP上手“快捷方式”-对象和组件
href="http://lzjx.com/w/main.asp?id=443&sx=jc">ASP上手“快捷方式”-对象..</A><BR>·<A
title=ASP上手“快捷方式”-脚本示例
href="http://lzjx.com/w/main.asp?id=444&sx=jc">ASP上手“快捷方式”-脚本..</A><BR>·<A
title=ASP上手“快捷方式”-脚本编写技巧
href="http://lzjx.com/w/main.asp?id=445&sx=jc">ASP上手“快捷方式”-脚本..</A><BR>·<A
title=ASP上手“快捷方式”-样例脚本
href="http://lzjx.com/w/main.asp?id=446&sx=jc">ASP上手“快捷方式”-样例..</A><BR>·<A
title=ASP上手“快捷方式”-数据库
href="http://lzjx.com/w/main.asp?id=447&sx=jc">ASP上手“快捷方式”-数据..</A><BR>·<A
href="http://lzjx.com/w/main.asp?id=523&sx=jc">ASP的技术特点与使用方法</A><BR>·<A
href="http://lzjx.com/w/main.asp?id=522&sx=jc">SQL
Server访问ADO</A><BR>·<A
href="http://lzjx.com/w/main.asp?id=521&sx=jc">ASP个人上手指南</A><BR></TD></TR></TBODY></TABLE><SPAN
class=l15></SPAN></TD>
<TD vAlign=top align=middle width=1 bgColor=#cccccc></TD>
<TD vAlign=top align=middle width=592 bgColor=#ffffff>
<TABLE cellSpacing=0 cellPadding=6 width="98%" border=0>
<TBODY>
<TR>
<TD class=xx vAlign=bottom height=30>■ 基础教程 >
ASP内建对象Serv</TD></TR></TBODY></TABLE>
<TABLE height=119 cellSpacing=6 cellPadding=3 width="99%" border=0>
<TBODY>
<TR>
<TD class=xk vAlign=top align=left width="50%">
通过前九篇的理论和实践,相信大家已经对 ASP 有了系统的了解,虽然至今为止,我们只学了 ASP 的 4
个内建对象,但已经完全能够写出一些实用的小程序了。今天,作者将继续给大家讲解最后一个 ASP
内建对象——Server。<BR><BR>
在开始本次课程之前,我仍要在这里回答一些朋友们提出的比较普遍的问题。最近仍有不少朋友来信问我,如何构建服务器端的 Active
Server Page 环境。我想可能是我在前几篇中没有讲清楚,因此,在本篇的开头有必要把这个问题详细阐述一遍。<BR><BR>
ASP 的应用完全是基于 Microsoft Internet Infomation 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
服务管理器,你将看到如下画面: <BR><BR> <BR><BR> 可以到在 IIS3.0
中提供了三种服务:WWW、Gopher、FTP,WWW 服务为客户浏览器提交 WEB 页,并允许客户访问 .asp
文件。当然,你可以直接安装最新的 IIS4.0 版本,作者也建议各位安装此版本,因为它具有更强更高的 WEB 管理机能和安全性。在
IIS4.0 中 IIS 的管理界面发生了根本性的改变,熟悉的 Internet 服务管理器,被取而代之为 Microsoft
管理控制台,简称 MMC。其界面如下图: <BR><BR><BR> <BR><BR> 那么如何安装 IIS4.0 呢?在 NT4.0
上安装 IIS4.0 时,你的系统中必须已经安装了 NT SP3,以及 Internet Explorer4.01,注意这里的
Internet Explorer 的版本必须是 4.01,版本号为 4.72.3110.8。这点很重要,否则你将不能安装
IIS4.0。作者为了安装该版本特意花费了一个晚上在微软的站点上升级 IE 版本。<BR><BR> 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 所在的目录设置为可读。 <BR>
我想,现在各位应该已经完全了解 ASP 的服务器端设置了,下面我们就进入正题 -- 学习 ASP 的最后一个内建对象 Server。
<BR><BR> Server 对象提供对服务器上的方法和属性的访问 , 其中大多数方法和属性是作为实用程序的功能服务的。有了
Server 对象,你就可以在服务器上启动 ActiveX 对象例程,并使用 Active Server 服务提供象 HTML 和
URL 编码这样的函数。 <BR><BR> 一、语法 <BR><BR> Server.property|method
<BR><BR> 二、属性 <BR><BR> ScriptTimeout
超时值,在脚本运行超过这一时间之后即作超时处理。如下代码指定服务器处理脚本在 100 秒后超时。 <BR><BR> < %
Server.ScriptTimeout=100 %> <BR><BR> 这里需要注意的是,通过使用元数据库中的
AspScriptTimeout 属性可以为 Web 服务或 Web 服务器设置缺省的 ScriptTimeout
值。ScriptTimeout 属性不能设置为小于在元数据库中指定的值。例如,如果 NumSeconds 设置为
60,而元数据库设置包含了默认值 90 秒,则脚本在 90 秒后超时。 <BR> 三、方法 <BR><BR>
1、HTMLEncode 方法 <BR><BR> HTMLEncode 方法允许你对特定的字符串进行 HTML 编码,虽然 HTML
可以显示大部分你写入 ASP 文件中的文本,但是当你需要实际包含 HTML
标记中所使用的字符,就会遇到问题。这是因为,当浏览器读到这样的字符串时,会试图进行解释。例如下面的这段文本 : <BR> 这是对
HTMLEncode 方法的测试。< br> 这里应该不会另起一行。 <BR><BR> 会被浏览器显示为 :
<BR><BR> 这是对 HTMLEncode 方法的测试。 <BR> 这里应该不会另起一行。 <BR><BR>
为了避免此类问题,我们就需要使用 Server 对象的 HTMLEncode 方法,采用对应的不由浏览器解释的 HTML
Character Code 替代 HTML 标记字符。所以,用下面的代码才能显示正确的 HTMLEncode
字符串,从而在浏览器中按你的需要输出文本。 <BR> < %<BR> Response.write
Server.HTMLEncode(" 这是对 HTMLEncode 方法的测试。< br>
这里应该不会另起一行。")%><BR><BR> 2、URLEncode 方法 <BR><BR> 就象 HTMLEncode
方法使客户可以将字符串翻译成可接受的 HTML 格式一样,Server 对象的 URLEncode 方法可以根据 URL
规则对字符串进行正确编码,当字符串数据以 URL
的形式传递到服务器时,在字符串中不允许出现空格,也不允许出现特殊字符。为此,如果你希望在发送字符串之前进行 URL 编码,可以使用
Server.URLEncode 方法。 <BR> 3、MapPath 方法 <BR><BR> MapPath
方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。 <BR><BR> 语法如下 :Server.MapPath(Path)
<BR><BR> Path 指定要映射物理目录的相对或虚拟路径。若 Path 以一个正斜杠 (/) 或反斜杠 (\) 开始,则
MapPath 方法返回路径时将 Path 视为完整的虚拟路径。若 Path 不是以斜杠开始,则 MapPath 方法返回同 .asp
文件中已有的路径相对的路径。这里需要注意的是 MapPath 方法不检查返回的路径是否正确或在服务器上是否存在。<BR><BR>
对于下列示例,文件 data.txt 和包含下列脚本的 test.asp 文件都位于目录 C:\Inetpub\Wwwroot\asp
下。C:\Inetpub\Wwwroot 目录被设置为服务器的宿主目录。下列示例使用服务器变量 PATH_INFO
映射当前文件的物理路径。以下脚本 <BR> < %=
server.mappath(Request.ServerVariables("PATH_INFO"))%> <BR><BR>
输出 <BR><BR> c:\inetpub\wwwroot\asp\test.asp <BR><BR>
由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是目录
C:\Inetpub\Wwwroot\asp。以下脚本 <BR> < %=
server.mappath("data.txt")%><BR> < %=
server.mappath("asp/data.txt")%><BR><BR><BR> 输出
<BR>c:\inetpub\wwwroot\asp\data.txt<BR>c:\inetpub\wwwroot\asp\asp\data.txt<BR><BR><BR>
4、CreateObject 方法 <BR><BR> Server.CreateObject 恐怕是 ASP
中最为实用,也是最强劲的功能了。它用于创建已经注册到服务器上的 ActiveX 组件实例。这是一个非常重要的特性,因为通过使用
ActiveX 组件能够使你轻松地扩展 ActiveX 的能力,正是使用了 ActiveX
组件,你可以实现至关重要的功能,譬如数据库连接、文件访问、广告显示和其他 VBScript 不能提供或不能简单地依靠单独使用
ActiveX 所能完成的功能。正是因为这些组件才使得 ASP 具有了强大的生命力。 <BR> 其语法如下: <BR><BR>
Server.CreateObject("Component Name")<BR><BR> 默认情况下,由
Server.CreateObject 方法创建的对象具有页作用域。这就是说,再当前 ASP
页处理完成之后,服务器将自动破坏这些对象。如果要创建有会话或应用程序作用域的对象,可以使用 < OBJECT> 标记并设置
SESSION 或 APPLICATION 的 SCOPE 属性,也可以在对话及应用程序变量中存储该对象。如下例程 : <BR>
< % Set Session("ad") =
Server.CreateObject("MSWC.AdRotator")%> <BR><BR>
这里需要注意的是,不能创建与内建对象同名的对象实例,否则,如下列脚本将返回错误。 <BR><BR> < % Set
Response = Server.CreateObject("Response") %> <BR><BR>
至今为止,我们已经学习完了 ASP 所有的内建对象,不知大家是不是很兴奋?其实 ASP
是很简单的,只要大家不断的实践,相信一段时间后都不难成为 ASP 的高手。从下一篇起作者将开始介绍 ASP 内建 ActiveX
组件,这也是 ASP 运用中非常重要和实用的一部分。敬请关注。 <BR><BR>作者:书生 </TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="98%" border=0>
<TBODY>
<TR>
<TD>■今日推荐:<A
href="http://lzjx.com/w/main.asp?id=388&sx=jc">ASP内建对象Serv</A>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=800 bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD background=ASP内建对象Serv.files/qw39.gif></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=1 cellPadding=5 width=800 bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD class=N noWrap align=middle>
<TABLE cellSpacing=0 cellPadding=0 width="100%" bgColor=#ffffff
border=0><TBODY>
<TR>
<TD
background=ASP内建对象Serv.files/qw39.gif></TD></TR></TBODY></TABLE><BR>本网站是学习网站,内容整理大多来自互联网,尽量标明了出处,如果侵犯了您的权力请通知我,立即纠正<BR>欢迎提出宝贵建议,提供相关资料,以便相互学习,共同提高!<BR>
<OBJECT
codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0
height=18 width=103 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="BGCOLOR" VALUE=""><PARAM NAME="movie" VALUE="../images/21sg.swf"><PARAM NAME="quality" VALUE="high">
<embed src="../images/21sg.swf"
quality="high"
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
type="application/x-shockwave-flash" width="103" height="18" ></embed>
</OBJECT></TD></TR>
<TR>
<TD height=79> </TD></TR>
<TR>
<TD align=middle>友情链接:<A href="http://www.cnth.com/pages/Server.asp?Pid=3"
target=_blank>日语翻译</A> </TD></TR></TBODY></TABLE></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -