nullASP的内置组件ASP的内置组件要点
• ASP组件概述
• 数据库存取组件
• 文件存取组件
• 广告轮显组件
• 浏览器兼容组件
• 文件超链组件ASP组件概述ASP组件概述文件存取组件文件存取组件• 利用文件存取组件可以对服务器上的文件和文件夹进行管理,如文本文件的存取、文件和文件夹的复制、移动和删除等等。
• 对于Windows NT/2000,必须将文件及文件夹的权限设置为任何人可以存取。
• 文件存取组件包含的常见对象:FileSystemObject、TextStream、
File、FolderFileSystemObject对象的方法FileSystemObject对象的方法• 此为最主要的对象,可以创建、打开或读写文件,并可以对文件和文件夹进行新建、复制、移动、删除等操作。nullTextStream对象的属性与方法TextStream对象的属性与方法null新建文本文件新建文本文件• 新建文本文件涉及FileSystemObject对象和该对象的CreateTextFile方法
• 语法:
Set <文件系统对象名>=
Server.CreateObject(“Scripting.FileSystemObject”)
Set <文本流对象名>=
<文件系统对象名>.CreateTextFile(filename[,overwrite])
Overwrite:为true,允许覆盖;为false,则不允许覆盖。
缺省值为flase新建文本文件例新建文本文件例<%
Dim FileObject '定义一个FileSystemObject对象实例
Dim TextFile '定义一个TextStream对象实例
Set FileObject=
Server.CreateObject("Scripting.FileSystemObject")
Set TextFile= FileObject.CreateTextFile("c:\inetpub\wwwroot\asptemp\chapter8\test.txt")
TextFile.WriteLine("你好")
TextFile.Close '关闭TextStream对象
%>文本文件的读取或添加文本文件的读取或添加• 对文本文件进行读取和添加,需要用FileSystemObject对象和OpenTextFile方法,以及TextStream对象的WriteLine和readLine方法等。
• 语法
Set <文本流对象>=
<文件系统对象>.
OpenTextFile(filename[,iomode,[ctrate]])文本文件的读取或添加(续)文本文件的读取或添加(续)OpenTextFile方法的参数
• Filename: 指定待打开的文件名称及其路径
• Iomode: 指定待打开文件操作模式,1为只读;2为可写;8为添加。缺省为1。
• Create: 指定待打开文件不存在时,是否自动建立新文件,true为是,false为否。缺省为false。逐行读取并显示文本文件逐行读取并显示文本文件<%
Dim FileObject '定义一个FileSystemObject对象实例
Dim TextFile '定义一个TextStream对象实例
Set FileObject=
Server.CreateObject("Scripting.FileSystemObject")
Set TextFile= FileObject.OpenTextFile("c:\inetpub\wwwroot\asptemp\chapter8\test.txt")
Do While Not TextFile.AtEndOfStream
Response.Write TextFile.ReadLine & "
"
Loop
TextFile.Close ‘关闭TextStream对象
%>对文本文件添加内容对文本文件添加内容<%
Dim FileObject '定义一个FileSystemObject对象实例
Dim TextFile '定义一个TextStream对象实例
Set FileObject=
Server.CreateObject("Scripting.FileSystemObject")
Set TextFile= FileObject.OpenTextFile("c:\inetpub\wwwroot\asptemp\chapter8\test.txt",8,True)
TextFile.WriteLine("添加内容") '添加内容
TextFile.Close '关闭TextStream对象
%>文本的复制、移动和删除文本的复制、移动和删除• 复制
<文件系统对象>.CopyFile 源文件名,目标文件名
• 移动
<文件系统对象>.MoveFile 源文件名,目标文件名
• 删除
<文件系统对象>.DeleteFile 文件名
• 文件是否存在
<文件系统对象>.FileExists(文件名)null<%
Dim FileObject '定义一个FileSystemObject对象实例
Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
Dim SourceFile,DestiFile '定义源文件和目标文件变量
SourceFile="c:\inetpub\wwwroot\asptemp\chapter8\test.txt"
DestiFile="c:\inetpub\wwwroot\asptemp\chapter8\test2.txt"
FileObject.CopyFile SourceFile, DestiFile
SourceFile="c:\inetpub\wwwroot\asptemp\chapter8\test2.txt"
DestiFile="c:\inetpub\wwwroot\asptemp\chapter8\temp\test2.txt"
FileObject.MoveFile SourceFile, DestiFile
SourceFile="c:\inetpub\wwwroot\asptemp\chapter8\temp\test2.txt"
IF FileObject.FileExists(SourceFile) Then
FileObject.DeleteFile SourceFile
End If
%>文本夹的新建立、复制、移动和删除文本夹的新建立、复制、移动和删除• 新建
<文件系统对象>.CopyFolder 文件夹名
• 复制
<文件系统对象>.CopyFolder 源文件夹名,目标文件夹名
• 移动
<文件系统对象>.MoveFolder 源文件夹名,目标文件夹名
• 删除
<文件系统对象>.DeleteFolder 文件夹名
• 文件是否存在
<文件系统对象>. FolderExists(文件夹名)null<%
Dim FileObject '定义一个FileSystemObject对象实例
Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
Dim SourceFolder,DestiFolder '定义源文件夹和目标文件夹变量
'新建文件夹---新建new1文件夹
SourceFolder="c:\inetpub\wwwroot\asptemp\chapter8\new1"
FileObject.CreateFolder SourceFolder
'复制文件夹---将new1复制为new2文件夹
SourceFolder="c:\inetpub\wwwroot\asptemp\chapter8\new1"
DestiFolder="c:\inetpub\wwwroot\asptemp\chapter8\new2"
FileObject.CopyFolder SourceFolder, DestiFolder null '移动文件夹---将new2文件夹移动到new1下
SourceFolder="c:\inetpub\wwwroot\asptemp\chapter8\new2"
DestiFolder="c:\inetpub\wwwroot\asptemp\chapter8\new1\new2"
FileObject.MoveFolder SourceFolder, DestiFolder
'删除文件夹---如存在,将new2文件夹删除
SourceFolder="c:\inetpub\wwwroot\asptemp\chapter8\new1\new2"
IF FileObject.FolderExists(SourceFolder) Then
FileObject.DeleteFolder SourceFolder
End If
%>
显示文本夹下的所有内容显示文本夹下的所有内容• 我们可以利用Folder对象来列出文件夹下的所有文件和子文件夹
Folder对象的属性
null<%
Dim myFileObject '定义一个FileSystemObject对象实例
Dim myFolder '定义一个Folder对象
Set myFileObject=Server.CreateObject("Scripting.FileSystemObject")
'GetFolder方法将返回一个Folder对象
Set myFolder=myFileObject.GetFolder("d:\plan")
Response.Write "d:\plan子文件夹如下:
"
For Each Item In myFolder.SubFolders
Response.Write Item & "
"
Next
Response.Write "d:\plan子文件如下:
"
For Each Item In myFolder.Files
Response.Write Item & "
"
Next
%>广告轮显组件广告轮显组件• 广告轮显组件,Ad Rotate Component,可用于制作交替变换的广告Web页面,每次从客户端进入或刷新该Web页面时,显现出来的广告信息就会发生变化。
• 使用方便,以文本文件存放广告信息,维护时只要修改这个文本文件即可,不必修改网页代码。广告轮显组件的组成广告轮显组件的组成• 广告信息文本文件:记载广告信息的文本文件
• 超链接处理文件:引导客户到相应广告网页的ASP文件
• 显示广告图片文件:存放广告图片的文件广告轮显组件的属性广告轮显组件的属性
广告轮显组件的方法广告轮显组件的方法
广告轮显组件使用
例广告轮显组件使用表例• 建立广告信息文本文件
第1行确定超链接处理文件
第2、3行指定图片的宽度、高度和边框
具体的广告信息放在*的下行
• 超链接处理文件
<%
Response.Redirect Request.QueryString("url") '引导客户至相应网址
%>广告轮显组件使用表例广告轮显组件使用表例• 建立广告信息显示文件
<%
Dim Ad '定义一个广告轮显组件实例变量
Set Ad=Server.CreateObject("MSWC.AdRotator")
ad.Border=1 '定义图片边框为1象素
ad.Clickable=True '该图片提供超链接功能
ad.TargetFrame="target='_NEW'" '在新窗口中打开网址
Response.Write Ad.GetAdvertisement("adver.txt")
'获取广告信息
%>
浏览器兼容组件浏览器兼容组件• 浏览器不同,网页效果可能也不同。
• 应该根据不同的浏览器设计不同的Web程序。
• 浏览器兼容组件可用于检测客户端的浏览器类型、环境等特性。浏览器兼容组件的工作原理浏览器兼容组件的工作原理• 客户端服务器端,请求,User_Agent页眉,其中包含客户端浏览器的种类及版本信息。
• 浏览器兼容组件用该页眉信息与Browsercap.ini文件内容进行比较。如有相匹配的浏览器,就认为是一致的;否则,按所设定的缺省浏览器信息处理。
null浏览器兼容组件使用表例浏览器兼容组件使用表例语法:
Set <对象实例名>=
Server.CreateObject(“MSWC.BrowserType”)
<对象实例名>.<属性>浏览器兼容组件使用表例(续)浏览器兼容组件使用表例(续)<%
Dim Bc '定义一个组件实例变量
Set Bc=Server.CreateObject("MSWC.BrowserType")
Response.Write "浏览器类型:" & Bc.Browser & "
"
Response.Write "浏览器版本:" & Bc.Version & "
"
Response.Write "支持Cookies否:" & Bc.Cookies & "
"
Response.Write "支持Java小程序否:" & Bc. Javaapplets
%>
文件超链接组件文件超链接组件• 文件超链接组件用于建立便于维护的Web索引站点
• 步骤:
(1) 建立超链接数据文件,*.txt
(2) 读取并显示超链接数据文件内容,*.asp
• 文件超链接组件的方法nullnull<%
Dim Link '定义一个组件实例变量
Dim I,Sum '定义两个变量待用
Set Link=Server.CreateObject("MSWC.nextlink")
Sum=Link.GetListCount("link.txt") '返回URL网络导航总数
For I=1 to Sum '用循环依次写出所有的网络导航
%>
" target="_New"> <%=Link.GetNthDescription("link.txt",I)%>
<% Next %>