小愚学ASP 第六篇:几个常用的服务器组件
(发送邮件和广告示例)
蚂蚁电商3.0 2003-11-8 16:41:53www.BHAsp.com
[ 关键字 ] 电脑报,小愚,组件
第六篇:几个常用的服务器组件(发送邮件和广告示例)
讲课:关大哥 听课:小愚
服务器组件一般是以动态链接库的形式出现的,它可以让很多复杂的工作简单化。ASP提供了丰富的内置组件,使用内置组件可以开发出功能强大的ASP应用程序。这些组件中常用的有Collaborative Date Objects(CDO、协作数据对象组件)、Banner Ad Rotator(广告显示组件)、File Access(文件存取组件)、Browser Capabilities(浏览器性能组件)等。
小愚:组件?跟上一课的内建对象有什么不同呢?
关大哥:内建对象可以直接使用,而组件要先创建组件的实例才能使用;使用内建对象需要大量编程,而组件只须掌握一些属性和方法就可以编写出功能强大的编程。比如说,我们可以使用CDO来发送电子邮件。
例程:tomail.asp
<%
Set Tomail = CreateObject("CDONTS.NewMail")
Tomail.Send "covntio@yesky.com","bha@yesky.com","好消息,手提电脑买一送一!","这你也信,不是吧你?!"
Set Tomail = Nothing
%>
第一行先创建一个CDO的实例:Tomail(用什么名字随你喜欢啦),实例必须用CreateObject方法来创建,创建之后我们就可以直接使用Tomail了。
第二行调用了NewMail的Send方法来发送电子邮件,Send方法有多个属性,第一个是From属性,也即发送人地址;第二个是接收人地址:To属性;第三个是邮件的标题:Subject属性;最后是正文:Body属性,最后释放Tomail对象使用的资源。
使用Send方法可以多种多样,比如,可以先设置好各个属性,然后不带任何参数调用Send:
Tomail.Form = "covntio@yesky.com"
Tomail.To = "bha@yesky.com"
Tomail.Subject = "好消息,手提电脑买一送一!"
Tomail.Body = "这你也信,不是吧你?!"
Tomail.Send
这种方法更常用,因为我们可以用一个表单来输入各个参数,再调用邮件发送文件来进行发送,相信学过前面几篇的朋友,完成这个内容是不在话下的。
小愚:原来如此,我老在想网易等电子邮局是咋回事,原来这么简单,赶明儿我也搞一个163!
关大哥:163不是这么简单的!还是先学好基本功吧,做一个网站,要想赢利,基本的一条是要有广告,相当部分网站都是靠广告活命的喔。
小愚:广告我会做啊,我经常发“新站发布,老牛上市”邮件给别人,结果访问率好高啊……啊(台下飞起砖头无数“原来是你小子!”)
关大哥:咳咳,乱发邮件是很不好的行为,小愚要吸取教训才是,刚才讲的广告是指其它网站或公司在我们的站点上投放广告,这时我们可以用Ad Rotator组件来管理广告条。
例程 ar.asp
<%
Set Ar = Server.Createobject("MSWC.AdRotator")
Response.Write Ar.GetAdvertisement("arfile.txt")
%>
跟刚才一样,第一行先创建一个AdRotator的实例:Ar,然后调用了GetAdvertisement方法来获取广告显示的有关信息,该信息保存在一个文本文件arfile.txt中,然后通过Response对象的Write方法写入到客户浏览器中。下面是文件arfile.txt的内容。
例程 arfile.txt
Redirect redirect.asp
width 83
height 31
border 0
*
http://www.yesky.com/main.gif
http://www.yesky.com/
欢迎来访天极网!
20
http://www.cpcw.com/main.gif
http://www.cpcw.com/
欢迎来访电脑报!
10
http://asp.6to23.com/bha/tozant50.gif
http://bha.6to23.com/
欢迎来访大头蚂蚁工作室!
10
第一行指定了当用户点击广告时处理转向的页面:redirect.asp。
后面三行是指定广告图片的大小及边框,到“*”号时配置信息结束,配置信息下面的才是用户的广告信息。
每个用户广告由四行构成,第一行指定要显示的图片;第二行指示当用户点击图片时页面转向的网址;第三行是广告文本,当用户鼠标停在图片上时显示的文字;最后一行指定广告条显示的比率。
关于显示比率可以这样理解,当第一个显示了20次时,第二第三个才显示10次,这是一种相对权值,值越高显示越多,取值可以从0到4,294,967,295。
例程 redirect.asp(处理转向的页面)
<%
Response.Redirect (Request.QueryString("URL"))
%>
这个页面只有一句,首先用Request对象的QueryString方法获取网址,再用Response对象Redirect方法实现页面的转向。
小愚:这样子的话,即使有很多个广告也才用一个位置,好办法!明天我也去申请几个广告来替我赚赚钱!
关大哥:这只是简单的应用而已,很多广告商都希望知道有多少人点击了广告,那又如何实现呢?
小愚:这个简单嘛,对点击数进行统计不就知道了,用户每点击一次,都要通过redirect.asp文件进行转向,可以在这里动手,做一个数据库来储存点击数,每点击一次点击数加1……
关大哥:具体做出来给我看看。
小愚:我来试试看。
例程 redirect2.asp
<%
dim conn,rs,sql
set conn=Server.CreateObject("ADODB.Connection")
conn.open "Provider=Microsoft.JET.OLEDB.4.0;Data Source= "&server.MapPath ("Xiao.mdb")
set rs=server.createobject("adodb.recordset")
sql = "update xiao Set hits=hits+1 Where home="&Request.QueryString("URL")
rs.open sql,conn,1,3
rs.close
set rs=nothing
Response.Redirect (Request.QueryString("URL"))
%>
关大哥:我来看看,先是数据库连接,然后是更新hits字段的值,释放对象资源,最后转向页面。不错,看来小愚可以独立开发ASP应用程序了!
===========================================
这个ASP简易教程到这里就结束了,虽然还有很多没有讲到,但笔者希望能通过这个教程,使更多朋友能够开始接触,最后掌握ASP程序开发的方法,起到一个抛砖引玉的作用!
为了编写这个教程,笔者也翻了很多书,很多以前心里明白,但说不清楚的技术细节,这次也弄个水落石出了,所以,笔者也要感谢组织稿件的编辑,也要感谢全体读者,最后祝大家共同进步!