WEB开发技术 第四章
4.3其他组件与自编组件
From,吴教育
Email,wujiaoyu@21cn.com
Q Q,188128997
课程引入与回顾
? email组件可用来发送邮件
? 文件超链接组件来实现站点导航功能
目标
? 使用广告轮显组件来动态显示广告图片
? 了解获取浏览器类型组件、计数器组件等
? 自编 DLL组件
4.5 其它组件
广告处理等组件的使用
广告轮显组件主要特点
? 广告轮显组件,Ad Rotate Component,可用于
制作交替变换的 Web广告页面,每次从客户端
进入或刷新该 Web页面时,显现出来的广告信
息就会发生变化。
? 使用方便,以文本文件存放广告信息,维护时只
要修改这个文本文件即可,不必修改网页代码。
广告轮显组件的属性
属 性 说 明
Border 确定广告图片的边框大小
语法,ad.BorderSize=整数值
Clickable 确定广告图片是否提供超链接功能
语法,ad,Clickable=true/false
TargerFrame 确定超链接的 Web页面
ad,TargerFrame=“Target=?targetname?”
Targetname系超链接的窗口或框架名称,如
_TOP,_NEW,_CHILD,_SELF,_PARENT,_BLANK
或用户自定义名
广告轮显组件的方法
属 性 说 明
GetAdvertisement 获取广告信息
语法,ad,GetAdvertisement(<广告信
息文本文件名 >)
广告轮显组件的使用方法
? 广告信息文本文件:记载广告信息的文本文件
? 超链接处理文件:引导客户到相应广告网页的
ASP文件
? 显示广告图片文件:存放广告图片的文件
? 语法
– Set 对象名 =Server.CreateObject(“MSWC.AdRotator”)
广告轮显组件使用示例
建立广告信息文本文件
? 第 1行确定超链接处理文件
? 第 2,3,4行指定图片的宽度、高度和边框
? 具体的广告信息放在 *的下行
? 每个广告的信息用四行描述
? 第一行,为广告图片
? 第二行,为相应相应网址
? 第三行,为替代文字
? 第四行,为广告出现几率
? 几率计算:
? 本身的几率数除以总数
广告信息文本文件示例
REDIRECT 8-8.asp
WIDTH 440
HEIGHT 60
BORDER 20
*
images/jjshang.gif
http://jjshang.126.com/
尚俊杰个人主页
20
images/sohu.gif
HTTP://www.sohu.com/
搜狐
40
images/edu.gif
http://www.edu.cn/
中国教育科研网
30
超链接处理文件
'主要用为来统计点击次数
'并重定向到相应的网址
<%
Response.Appendtolog request.querystring("url") '可无
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")
'获取广告信息
%>
浏览器兼容组件
? 浏览器兼容组件能容易地探测到客户端浏
览器的类型、环境等特性,如是否支持
JavaScript,是否支持背景音乐等。
? 如果要制作用户友好的网页,应该尽量使
用浏览器兼容组件。
浏览器兼容组件的工作原理
? 工作原理,在服务器上有一个文件
rowscap.ini,和客户端请求的页眉进行匹配,
得到客户端浏览器的信息。
使用浏览器兼容组件示例
<html>
<head>
<title>客户端浏览器特性 </title>
</head>
<body>
<h2 align="center">客户端浏览器特性 </h2>
<%
Dim Bc '声明一个组件实例变量
Set Bc=Server.CreateObject("MSWC.BrowserType")
Response.Write "浏览器类型," & Bc.Browser & "<br>"
Response.Write "浏览器版本," & Bc.Version & "<br>"
Response.Write "支持 Cookies否," & Bc.Cookies & "<br>"
Response.Write "支持 Java小程序否," & Bc,Javaapplets
%>
</body>
</html>
计数器组件
? ASP还提供了一个专门的计数器组件。
? 不过 PWS并不支持该组件,必须使用
IIS5.0以上才可以。
计数器组件的属性和方法
? 属性
– Hits(page) 返回由 Page指定的访问次数,如果
Page省略,则返回当前网页的访问次数
? 方法
– PageHit() 增加当前网页的访问次数
– Reset(page) 设置由 Page指定的网页的访问次数
为 0,如果 page省略,设置当前网页的访问次数
为 0
使用计数器组件示例
<html>
<head>
<title>计数器组件应用示例 </title>
</head>
<body>
<h2 align="center">个人主页 </h2>
<%
Dim count '声明一个组件实例变量
Set count=Server.CreateObject("MSWC.pagecounter")
count.PageHit() '将当前网页访问次数加 1
Dim visit_number
visit_number=count.Hits() '获取当前网页访问次数
Response.Write "您是第 " & cStr(visit_number) & "位访客 "
%>
</body>
</html>
4.6 自编 DLL组件
利用 VB自编组件
VB建立一个 ActiveX DLL工程,test
在工程中添加一个类,class1
? 在 class1中添加一个生成随机数的方法
Public function rnd-self()
dim x
Randomize
X=fix(rnd()*10)
Tmp=“我已经学会了自己编写 DLL文件了 <br>”
Tmp=tmp&”我编写的 DLL随机函数为,<br>”
Rnd-self=tmp&x
End function
注册 test.dll文件
? 将编译生成的 test.dll文件放在 system32目
录下
? 运行,regsvr32 test.dll 进行注册
在 ASP中调用 test.dll(test-dll.asp)
<%
Set kkk=server.createobject(“test.class1”)
Response.write kkk.rnd-self()
%>
参考资料
? <<ASP动态网站编程 >> 石志国 清华大学出版社
? <<ASP精解案例教程 >> 石志国 清华大学出版社
? <<ASP网络编程技术与实例 >> 胡标 人民邮电出版社
? <<网络程序设计 -ASP>> 尚俊杰 清华大学出版社
总结
? 使用广告轮显组件来动态显示广告图片
? 了解获取浏览器类型组件、计数器组件等
? 自编 DLL组件
习题与作业
? 参考书上 P120页案例十,利用 ad rotator组
件实现一个广告处理页面
? 利用 VB编写一个动态链接库,以生成一个
随机数,然后在 ASP中调用它。
4.3其他组件与自编组件
From,吴教育
Email,wujiaoyu@21cn.com
Q Q,188128997
课程引入与回顾
? email组件可用来发送邮件
? 文件超链接组件来实现站点导航功能
目标
? 使用广告轮显组件来动态显示广告图片
? 了解获取浏览器类型组件、计数器组件等
? 自编 DLL组件
4.5 其它组件
广告处理等组件的使用
广告轮显组件主要特点
? 广告轮显组件,Ad Rotate Component,可用于
制作交替变换的 Web广告页面,每次从客户端
进入或刷新该 Web页面时,显现出来的广告信
息就会发生变化。
? 使用方便,以文本文件存放广告信息,维护时只
要修改这个文本文件即可,不必修改网页代码。
广告轮显组件的属性
属 性 说 明
Border 确定广告图片的边框大小
语法,ad.BorderSize=整数值
Clickable 确定广告图片是否提供超链接功能
语法,ad,Clickable=true/false
TargerFrame 确定超链接的 Web页面
ad,TargerFrame=“Target=?targetname?”
Targetname系超链接的窗口或框架名称,如
_TOP,_NEW,_CHILD,_SELF,_PARENT,_BLANK
或用户自定义名
广告轮显组件的方法
属 性 说 明
GetAdvertisement 获取广告信息
语法,ad,GetAdvertisement(<广告信
息文本文件名 >)
广告轮显组件的使用方法
? 广告信息文本文件:记载广告信息的文本文件
? 超链接处理文件:引导客户到相应广告网页的
ASP文件
? 显示广告图片文件:存放广告图片的文件
? 语法
– Set 对象名 =Server.CreateObject(“MSWC.AdRotator”)
广告轮显组件使用示例
建立广告信息文本文件
? 第 1行确定超链接处理文件
? 第 2,3,4行指定图片的宽度、高度和边框
? 具体的广告信息放在 *的下行
? 每个广告的信息用四行描述
? 第一行,为广告图片
? 第二行,为相应相应网址
? 第三行,为替代文字
? 第四行,为广告出现几率
? 几率计算:
? 本身的几率数除以总数
广告信息文本文件示例
REDIRECT 8-8.asp
WIDTH 440
HEIGHT 60
BORDER 20
*
images/jjshang.gif
http://jjshang.126.com/
尚俊杰个人主页
20
images/sohu.gif
HTTP://www.sohu.com/
搜狐
40
images/edu.gif
http://www.edu.cn/
中国教育科研网
30
超链接处理文件
'主要用为来统计点击次数
'并重定向到相应的网址
<%
Response.Appendtolog request.querystring("url") '可无
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")
'获取广告信息
%>
浏览器兼容组件
? 浏览器兼容组件能容易地探测到客户端浏
览器的类型、环境等特性,如是否支持
JavaScript,是否支持背景音乐等。
? 如果要制作用户友好的网页,应该尽量使
用浏览器兼容组件。
浏览器兼容组件的工作原理
? 工作原理,在服务器上有一个文件
rowscap.ini,和客户端请求的页眉进行匹配,
得到客户端浏览器的信息。
使用浏览器兼容组件示例
<html>
<head>
<title>客户端浏览器特性 </title>
</head>
<body>
<h2 align="center">客户端浏览器特性 </h2>
<%
Dim Bc '声明一个组件实例变量
Set Bc=Server.CreateObject("MSWC.BrowserType")
Response.Write "浏览器类型," & Bc.Browser & "<br>"
Response.Write "浏览器版本," & Bc.Version & "<br>"
Response.Write "支持 Cookies否," & Bc.Cookies & "<br>"
Response.Write "支持 Java小程序否," & Bc,Javaapplets
%>
</body>
</html>
计数器组件
? ASP还提供了一个专门的计数器组件。
? 不过 PWS并不支持该组件,必须使用
IIS5.0以上才可以。
计数器组件的属性和方法
? 属性
– Hits(page) 返回由 Page指定的访问次数,如果
Page省略,则返回当前网页的访问次数
? 方法
– PageHit() 增加当前网页的访问次数
– Reset(page) 设置由 Page指定的网页的访问次数
为 0,如果 page省略,设置当前网页的访问次数
为 0
使用计数器组件示例
<html>
<head>
<title>计数器组件应用示例 </title>
</head>
<body>
<h2 align="center">个人主页 </h2>
<%
Dim count '声明一个组件实例变量
Set count=Server.CreateObject("MSWC.pagecounter")
count.PageHit() '将当前网页访问次数加 1
Dim visit_number
visit_number=count.Hits() '获取当前网页访问次数
Response.Write "您是第 " & cStr(visit_number) & "位访客 "
%>
</body>
</html>
4.6 自编 DLL组件
利用 VB自编组件
VB建立一个 ActiveX DLL工程,test
在工程中添加一个类,class1
? 在 class1中添加一个生成随机数的方法
Public function rnd-self()
dim x
Randomize
X=fix(rnd()*10)
Tmp=“我已经学会了自己编写 DLL文件了 <br>”
Tmp=tmp&”我编写的 DLL随机函数为,<br>”
Rnd-self=tmp&x
End function
注册 test.dll文件
? 将编译生成的 test.dll文件放在 system32目
录下
? 运行,regsvr32 test.dll 进行注册
在 ASP中调用 test.dll(test-dll.asp)
<%
Set kkk=server.createobject(“test.class1”)
Response.write kkk.rnd-self()
%>
参考资料
? <<ASP动态网站编程 >> 石志国 清华大学出版社
? <<ASP精解案例教程 >> 石志国 清华大学出版社
? <<ASP网络编程技术与实例 >> 胡标 人民邮电出版社
? <<网络程序设计 -ASP>> 尚俊杰 清华大学出版社
总结
? 使用广告轮显组件来动态显示广告图片
? 了解获取浏览器类型组件、计数器组件等
? 自编 DLL组件
习题与作业
? 参考书上 P120页案例十,利用 ad rotator组
件实现一个广告处理页面
? 利用 VB编写一个动态链接库,以生成一个
随机数,然后在 ASP中调用它。