290 likes | 450 Views
ASP 的组件概述. ActiveX 服务器组件增强了脚本语言的功能,它提供简洁、可重用和安全的方法来访问信息。例如, ASP 的 Database Access ( 数据库访问)组件,使得脚本可以查询数据库。因此,无论何时要从脚本查询数据库,您都可以使用 Database Access 组件,而不必编写复杂的脚本。. 一、内置组件. Ad Rotator. 创建一个 AdRotator 对象,该对象可按指定计划在同一页上自动轮换显示广告。. Browser Capabilities.
E N D
ASP的组件概述 ActiveX 服务器组件增强了脚本语言的功能,它提供简洁、可重用和安全的方法来访问信息。例如,ASP 的 Database Access (数据库访问)组件,使得脚本可以查询数据库。因此,无论何时要从脚本查询数据库,您都可以使用 Database Access 组件,而不必编写复杂的脚本。 一、内置组件 Ad Rotator 创建一个 AdRotator对象,该对象可按指定计划在同一页上自动轮换显示广告。 Browser Capabilities 创建一个 BrowserType对象,该对象决定访问 Web 站点的每个浏览器的性能、类型及版本。
Database Access 提供用 ActiveX Data Objects (ADO) 对数据库的访问。 Content Linking 创建一个 NextLink 对象,该对象可生成 Web 页内容列表,并象书一样将各页顺续连接。 File Access 组件 提供文件的输入输出访问。
创建一个 Status对象,该对象的某些属性包含服务器状态信息。当前的这种服务器状态仅适用于 Personal Web Server for Macintosh。 Status MyInfo 创建一个 MyInfo对象,该对象追踪个人信息,例如站点管理员的姓名、地址及显示选择。 Counters 创建一个 Counters对象,该对象可以创建、保存、增加或检索任意数量的独立计数器。 Content Rotator 自动翻转 Web 主页上的 HTML 内容字符串。 Page Counter 记录并显示 Web 页被打开的次数。
二、创建内置组件对象 1. 使用Server.CreateObject (注册名) 2. 使用HTML语言中的<OBJECT>标签
广告翻转器组件 一、广告显示 Ad Rotator 组件创建一个 Ad Rotator对象,该对象在 Web 页上自动轮换显示广告图像。当用户每次打开或重新加载 Web 页时,Ad Rotator 组件将根据在 ADRotator 计划文件中指定的信息显示一个新广告。 • 语法 • Set AdRotator = Server.CreateObject("MSWC.AdRotator") • 参数 • AdRotator • 指定 AdRotator 对象的名称,此对象通过调用Server.CreateObject创建。
属性 Border 指定广告边框的大小。 Clickable 指定广告是否为超链接。 TargetFrame 指定显示广告的框架的名称。 方法 GetAdvertisement 从数据文件中获取下一个计划广告的详细说明并将其格式化为 HTML 格式。
示例 下面的示例在用户每次查看 Web 页时显示不同的广告。 <% Set ad = Server.CreateObject("MSWC.AdRotator") %> <%= ad.GetAdvertisement("/ads/adrot.txt") %> AD Rotator 计划文件 文件包含 Ad Rotator 组件用于管理和显示各种广告图象的信息。在该文件中,用户可以指定广告的细节,例如广告的空间大小、使用的图象文件以及每个文件的显示时间所占百分比。 文件由两部分组成。第一部分设置应用于轮换安排中所有广告图象的参数;第二部分指定每个单独广告的文件和位置信息以及应当接收的每个广告的显示时间所占百分比。这两部分由全是星号 (*) 的一行隔开。
例子: Adrot.txt REDIRECT adred.asp WIDTH 230 HEIGHT 33 BORDER 1 * http://www.soyou.com/prog/ad/468x60_1.gif http://www.163.com/ 网易 2 http://fp.cache.imgis.com/images/Ad173962St1Sz1Sq1Id2.gif http://www.sina.com.cn/ 新浪网 3 gamichlg.gif - Sponsored by Flyteworks 3
例子: 在第一部分中有四个全局参数,每个参数都由一个关键字和值组成。所有的参数 都是可选的。如果用户未指定全局参数的值,则 Ad Rotator将使用默认的值。在 这种情况下 ,文件的第一行必须只有一个星号 (*)。 主文件: <% Set ad = Server.CreateObject("MSWC.AdRotator") %> <%= ad.GetAdvertisement("/ads/adrot.txt") %>
二、用 Page Counter 组件统计访问者 Page Counter 组件创建 PageCounter对象,以记录和显示 Web 页被打开的次数。每隔一定的时间,此对象将访问次数写入文本文件以便数据不会在服务器关机时丢失。 语法 <% Set oVar = Server.CreateObject("MSWC.PageCounter") %> 参数 oVar指定通过调用 Server.CreateObject创建的 PageCounter对象的名称。
Hits 显示指定的 URL 被打开的次数。 PageHit 增加访问次数。 Reset 将指定的页的访问次数设置为 0。 方法
例子: <HTML> <HEAD><TITLE>页面计数器示例</TITLE></HEAD> <BODY> <% Set WHits=Server.CreateObject("MSWC.PageCounter") WHits.PageHit() %> 此页面被访问了<%=WHits.hits %> 次 </Body> </HTML>
三、浏览器能力: 实例: <HTML> <HEAD><TITLE>浏览器能力检测示例</TITLE></HEAD> <BODY> <% Set MyBrow=Server.CreateObject("MSWC.BrowserType") %> 你的浏览器有如下特性: <P> 浏览器类型:<%=MyBrow.Browser %></br></br> 是否支持分屏:<%=MyBrow.Frames %></br></br> Cookies:<%=MyBrow.Cookies %></br></br> 操作平台:<%=MyBrow.platform %></br></br> VBScript:<%=MyBrow.vbscript %></br></br> </BODY> </HTML>
文件存取组件 一、File Access组件简介 File Access 组件展示可用来访问计算机文件系统的方法和属性。用户可以使用 File Access 组件创建 FileSystemObject对象,该对象提供用于访问文件系统的方法、属性和集合。 File Access组件的对象
二、文件的读、写 1. 创建并写入文件 首先,需要创建一个 FileSystemObject 对象,然后,利用CreateTextFile( )以该对象创建一个 TextStream 对象,最后利用 TextStream 对象的 WriteLine 方法来写入文件。 2. 从文本文件读取数据 首先,创建一个 FileSystemObject 对象,然后,利用OpenTextFile( )以该对象创建一个 TextStream 对象,最后利用 TextStream 对象的 ReadLine 方法来读取文件。
CreateTextFile(文件名,[overwrite[,unicode]]) 参数: overwrite:对文件是否覆盖 Unicode:指示该文件是否用ASC还是UNICODE码
实例(写入文件): <% Set fobject=server.createobject(“scripting.filesystemObject”) Set tfile=fobject.CreateTextFile(“c:\test\test.txt”) Tfile.writeLine(“ok写入文件”) %> Writeline:在文件中添加字符串和分行符 Write:将一个字段写入文本 writeBlankLine(lines): 用户在文件中指定分行符数目
OpenTextFile(文件名,[IOmode],[Create],[format]) IOmode:取值为ForReading;ForAppending mode: 1为只读打开;8为追加 Create:如果文件不存在问是否创建,如果要创建则 设为true Format :-2:系统默认 ;-1 unicode; 0 :ASCII
实例(读取文件): <% Set fobject=server.createobject(“scripting.filesystemObject”) Set tfile=fobject.OpenTextFile(“c:\test\test.txt”) While not Tfile.AtEndOfStream Response.Write(Tfile.Readline) Wend Tfile.close %>
参数(读取文件): AtEndofLine:当光标在当前行的末尾时为真 AtEndOfStream:在流的末尾时,为真 Column:(只读的整数):统计从行首到当前光标的位置的字符数 LINE:只读的整数:指明光标所在行在整个文件中的行号. 方法: Read(字符数):指定从光标的当前位置开始从文本文件中读取一定数量的字符 ReadLine:读取一行字符 ReadAll:读取全部字符 Skip(字符数):略过一定的字符 Close:关闭打开的文件
OpenTextFile(文件名,[IOmode],[Create],[format]) IOmode:取值为ForReading;ForAppending mode: 1为只读打开;8为追加 Create:如果文件不存在问是否创建,如果要创建则 设为true Format :-2:系统默认 ;-1 unicode; 0 :ASCII
文件的处理: FileSystemObject方法: CopyFile source,destination MoveFile source,destination DeleteFile FileSpecifier File对象 Copy newcopy,[overwrite] Move newcopy delete:
实例(文件的处理)1: <% Set fobject=server.createobject(“scripting.filesystemObject”) Set tfile=fobject.CreateTextFile(“c:\test\test.txt”) Tfile.writeLine(“ok写入文件”) Tfile.close FObject.CopyFile” c:\test\test.txt” “c:\test\test2.txt” FObject.MoveFile” c:\test\test.txt” “c:\test\test3.txt” FObject.DeleteFile” c:\test\test.txt” %>
实例(文件的处理)2: <% Set fobject=server.createobject(“scripting.filesystemObject”) Set tfile=fobject.CreateTextFile(“c:\test\test.txt”) Tfile.writeLine(“ok写入文件”) Tfile.close Set afile=tfile.GetFile(“c:\test\test.txt”) Afile.copy “c:\test2.txt” Afile.move”c:\test3.txt” Afile.delete %>
检测文件的存在性: 语法: FileExists(文件的物理地址) 例子: <% Myself=request.ServerVariables(“PATH_TRANSLATED”) Set fobject=server.createobject(“scripting.filesystemObject”) Tfile.writeLine(“ok写入文件”) If(fobject.FileExists(myself) then Response.write(“file exist”) %>
驱动器和文件夹操作 例子: <% Set fobject=server.createobject(“scripting.filesystemObject”) For each thing in fobject.drives %> <br>Drive letter:<% =thing.Driveletter%> <br>Drive Total Size:<%=thing.TotalSize%> <br> Drive Available Space:<%=thing.AvailableSpace%> <hr> <% next%>
文件操作综合事例: <%@ Language=VBScript %> <% ' 注意绝对路径: C:\Inetpub\home\asp\wuf23.asp 主页路径: C:\Inetpub\home '使用 CreateObject 方法创建 FileSystemObject 对象 FSO Set FSO = Server.CreateObject("Scripting.FileSystemObject") Path = Server.MapPath("test") '返回test的物理目录(绝对路径) '就本例而言, 下面这句与上面这句返回的Path完全一样 'Path = Server.MapPath("\asp\test\") Response.Write Path & "<Br>" If FSO.FolderExists(Path) = false then '判断该文件夹是否存在 FSO.CreateFolder(Path) '新建文件夹 End If
文件操作综合事例: File = Path & "\asptest.txt" ' 写文件操作 If FSO.FileExists(File) = True Then '判断该文件是否存在 '建立 TextStream 对象 CTF Set CTF = FSO.OpenTextFile(File, 8, False, 0) '打开文件, 详见说明 Else Set CTF = FSO.CreateTextFile(File,False, False) '新建文件 End If CTF.Write "第一个字符串; " '写字符串 CTF.WriteLine "第二个字符串; " '写字符串, 并加上一个换行符 CTF.Write "第三个字符串; " CTF.Close '注意要关闭文件 ' 读文件操作
文件操作综合事例: Set CTF = FSO.OpenTextFile(File, 1,,0) Do While CTF.AtEndOfStream <> True '判别是否文件结尾(循环语句) Str = CTF.ReadLine '(每次)读取一行 StrNoHTML = StrNoHTML & Str & "<BR>" & VbCrLf StrHTML = StrHTML & Server.HTMLEncode(Str) & "<BR>" & VbCrLf Loop Response.Write StrNoHTML Response.Write StrHTML CTF.Close Set CTF = Nothing '释放对象 Set FSO = Nothing %>