动态网站制作指南



当前位置 > 网站建设学院 > 网络编程 > ASP教程 Rss
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket

ASP讲座之五:ASP组件(二)


发表日期:2000-7-30


在上一讲中,我们学习了如何创建组件,使用了浏览器能力组件、File access组件、AD Rotator组件和Content Linking组件,也知道了Server对象的CreateObject方法、MapPath方法和HTMLEncode方法。本讲将继续组件的学习。

一、 Email组件:NTS Collaboration Data Objects
我们在网上经常看到,许多站点均提供在线发信功能(即用表单实现Question提交,Support或信息反馈等等)或者给访问者发送确认信息。这一功能对个人主页来说是很难达到的,因为需要主页提供商额外的支持(我个人主页上的在线写信是用CGI写的,与asp无关),这里就其原理举一简单的例子:
特别说明:本讲座所举的所有例子均在Windows NT4.0 Server+IIS(Internet Information Server)4.0上调试,但其中大部分也适用于Windows9.x+PWS。不过要好好学用ASP,最好再装一个Windows NT与Windows95/98并存(没装过不要怕,很容易的,只要机器稍微好一点就行了,NT安装后能自动做成Win NT/Win9.x双启动)。
<%    ‘wuf30.asp
Dim Mail
'建立一个Email组件
Set Mail = Server.CreateObject("CDONTS.NewMail")
'发送Email
Mail.Send "From@intldept.com","To@intldept.com","Subject","Body"
Set Mail = Nothing
%>
这是一个最简单的例子,事实上,使用该组件,你可以发送纯文本格式邮件或者HTML超文本格式邮件,该组件也支持抄送(CC)和密件抄送(BCC),并且可以包含图片和附件,甚至还以可接收邮件,应该说功能还是比较强大的。但我个人并不是很欣赏,因为要使用该组件,必须安装Windows NT Server和IIS4.0的SMTP服务(微软风格),并且该组件不支持POP3协议。因此如果使用该组件不能正常发送邮件,你可以打开Internet Server Manager看看Default SMTP Site是否已启动(Start)以及一些相关的设置。不过,如果你是一个微软迷,可去我的主页(http://wuf.bentium.net/)下载该组件的例程wuf31.asp和sendmail.asp自己研究。

二、 使用第三方组件
到现在为止,我们所介绍的组件均包含在IIS4.0中,你可以直接使用这些组件。除此之外,你还可从Microsoft IIS Resource Kit光盘中获取以下两个组件(或者去http://www.microsoft.com/iis碰碰运气看是否有下载):
l Page Counter组件:网页计数器
l Permission Checker组件:网页存取权限确认组件
IIS4.0内置组件的介绍到这里就告一段落了,但ASP组件的学习还要继续,一方面是因为IIS4.0内置的组件很少,另一方面已提供的这些组件或许功能并不很强大,适合你的需要。因此更大量的资源是网上现存的成百上千的第三方组件,它们有些是免费的,有些提供功能限制版或评估版,当然更多的要银子的(一个组件要三位数的$,有没有搞错!简直是拐弯抹角的“敲诈”),使用这些组件,足可以使你成为一个伪ASP高手,让你能快速、方便地做出功能强大的主页,不再有“巧妇难为无米之炊”的感叹。我们不妨通过几个例子来找一下这种感觉。

(一) 文件上传组件AspSmartUpload(免费)
先下载该组件:http://www.aspsmart.com/liblocal/download/EN/aspSmartUpload.zip,文件大小约100K(也可去我的站点下载)。下载解包后,共有三十多个文件,分别位于不同目录下,你可以参照其中的说明文件自己研究,这里仅举一个完整的例子说明如何使用第三方组件。
找到AspSmartUpload.dll和AspSmartUploadUtil.dll这两个文件,在Web服务器的命令提示符下分别用”regsvr32.exe aspsmartupload.dll”和”regsvr32.exe aspsmartuploadutil.dll”命令行来注册该组件(如果你是第一次使用Regsvr32.exe,可先将这两个DLL文件拷到Web服务器的“Winnt/System32”或“Windows/System”目录下),若注册成功,弹出的窗口中会有”succeeded”字样(注意:使用第三方组件前必须先注册,有的第三方组件采用安装方式,能自动注册,而更多的象这样,需要自己手工注册)。注册成功后,接下来就是写代码使用组件,该例由两个文件组成(注意测试时请勿使用中文文件名):
wuf32.htm – 上传文件的前端Web页面(表单)
<HTML>
<style type="text/CSS">
<!--
input {  font-family: "宋体", "Times New Roman"; font-size: 9pt; line-height: 16pt}
-->
</style>

<BODY BGCOLOR="white">
上传文件的Web页面(可上传文件的个数自己定义,但文件名中不能含中文)
<HR>
<FORM METHOD="POST" ACTION="wuf34.asp" ENCTYPE="multipart/form-data">
<!-- TEXT -->
用户名:<input TYPE="TEXT" name="myText" value=""><br>

<!-- PASSWord -->
口  令:<input TYPE="PASSWORD" name="myPASSWORD" value=""><br>

<!-- HIDDEN -->
<input TYPE="hidden" name="myHidden" value="hidden"><br>

<!-- 文件 -->
  文件1:<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
  文件2:<INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
  文件3:<INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
  文件4:<INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
   <INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>
</BODY></HTML>
按“Upload”按钮,后台由文件wuf34.asp来处理(你也可下载更简单的wuf33.asp):
<HTML><BODY BGCOLOR="white">
文件上传结果 :
<HR>
<%
Dim mySmartUpload, item, value, file       
'  先如下创建组件
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")

mySmartUpload.Upload

'  用 For Each 循环获取 From表单中每一项的值
For each item In mySmartUpload.Form
For each value In mySmartUpload.Form(item)
Response.Write(item & " = " & value & "<BR>")
    Next
Next

Response.Write "<Hr>"
'  上传文件数据
'  Response.Write("文件数目 =" & mySmartUpload.Files.Count &"<BR>")
Response.Write("总字节 = " & mySmartUpload.Files.TotalBytes &" bytes<Br><Br>")
Response.Write("文件清单: " & "<Br>")

'  对每一个文件 - 还有更简单的方法, 见wuf33.asp
For each file In mySmartUpload.Files
If not file.IsMissing Then
'以原来的文件名存于 C:\temp 下
file.SaveAs("c:\temp\" & file.FileName)
Response.Write(file.FileName & " (" & file.Size & "bytes)<BR>")
End If
Next
Set mySmartUpload = Nothing
%>
</BODY>
</HTML>
    关于该组件更多、更详细的用法、功能(如限制上传文件的类型、尺寸,上传至数据库,下载文件或数据库字段等等),你可自己去看样例或研究洋文帮助。如果觉得看E文太累,也可下载一个全国产的File Upload组件,里面有中文的帮助和样例,还是不错的,下载地址:http://www.chinaasp.com/PRogram/fileup.zip。

(二) 图形组件:Dundas Pie Chart(饼状图)
    先听听组件提供者是怎么说的:“闪光的性能,足以让人晕厥的高质量的图形,强大、高速、无比的灵活性”,哇塞,吹牛胜过韦小宝,是不是这样,看看结果之一:
有了这样的饼状图,你也可以象新浪网一样搞调查了,吹得这么好的东西却是免费的,你还等什么,快快驾上你的慢猫去拉下来:
(1)3DPieCSC.EXE:http://www.dundas.com/downloads/freeproducts/files/3DPieCSC.EXE
(2)FPDocInst.exe:http://www.dundas.com/downloads/freeproducts/files/FPDocInst.exe
    3DPieCSC.EXE中包括该组件,后者是说明文档,都是安装文件,我将它安装在服务器的“C:\Inetpub\3dPieCSC”目录下,该组件自带两个复杂无比的样例程序以展示它炫丽无比的性能,较难搞明白。这里举一个简单实用的大众化例子:
wuf36.htm,通过<IMG>标签调用ASP文件:
<HTML><BODY>
<IMG src="wuf37.asp">
</BODY></HTML>
wuf37.asp,用来生成图形(与上面同理,请勿在代码中使用中文):
<%@ Language=VBScript %>
<% Option Explicit
Dim objPieChart
Set objPieChart = Server.CreateObject("Dundas.PieChartServer.1")  '先创建组件

'设置工作目录
objPieChart.DirOutput = "C:\Inetpub\3dPieCSC\Sample\Chart\"       
'设置模板文件所在目录
objPieChart.DirTemplate = "C:\Inetpub\3dPieCSC\Sample\Templates\"
'材质目录-你可以轻松的改变图形的材质和颜色
objPieChart.DirTexture = "C:\Inetpub\3dPieCSC\Sample\Textures\"   

'选择一个模板文件, 该模板文件可自己编辑或修改
objPieChart.LoadTemplate  "PieInTheSky.cuc"
'图形标题
objPieChart.Title = "This is a Sample"

'增加各项目, 包括权重 标签 说明
objPieChart.AddData 40, "Item1:40%","China"
objPieChart.AddData 30, "Item2:30%","USA"
objPieChart.AddData 30, "Item3:30%","Other"

'输出结果为一图形, 可指定宽度和高度
objPieChart.SendJPEG 400,300

Set objPieChart = Nothing
%>
老实说,这个免费的东西还是不错的,就是它提供的例程太复杂了,让人不能一触即会。现在你可能要来一个举一反三,融会贯通,想怎样得到柱状图,的确是有这样的组件:ShotGraph,但是完全不需要搞这么复杂吗,你仅需准备一个柱状的图片(不会做!看到别人网页上有,另存一个不就搞定),利用HTML标记Weight、Height按比例拉伸和压缩就行了(<img src = bar.gif width = <%=变量%> height = 10>)。

    此外,为了弥补本讲座开头负责任的简略,在此郑重向大家推荐两个Email组件:
(1) aspSmartMail: http://www.aspsmart.com/liblocal/download/EN/aspSmartMail.zip,注意千万不要在代码中使用中文,不然你怎么也发不出一封信,详见例程wuf35.asp。
(2) W3 jmail: http://download.dimac.net/jmail/jmail.exe。
(3) ChinaMail:http://wuf.bentium.net/,本人写的全中文Email组件。

对于组件的感情,我个人是很复杂和沉重的,IIS4.0内置组件确实太少,然则网上E文的组件很多不支持中文,使用起来实在不够爽,那么为什么不使用国产的组件呢,你去国内最好的http://www.chinaasp.com/就知道了,所列组件寥寥,令人寒心,那么只剩一条路了,那就是自己写(可一般人自己写得了吗?这是一个疑问)。我倒是很同意ChinaASP的呼吁,大概意思就是国内没有任何软件公司公开发表ASP组件,在ASP方面的书虽成吨,但品味不高。的确,当初我应邀写这个讲座时,市面上关于ASP的书还很少,但现在,突然间出来很多,我还是建议你买外国人编的书,一来有光盘,二来确实舶来品总体上讲得好些,读起来象那么回事,也不死板。

    最后给大家提供几个组件资源站点:
(1) http://www.serverobjects.com/
(2) http://www.15seconds.com/
(3) http://www.activeserverpages.com/  
(4) http://www.softartisans.com/
关注此文的读者还看过:
·2012-5-17 11:03:55 十天学会ASP之第一天
·2012-5-17 11:03:22 [视频教程]Dreamweaver与ASP动态网页设计教程 - 第二章ASP基本知识之4 VBScript流程控制语句
·2012-5-17 11:02:19 ASP讲座之四:ASP内置组件
·2012-5-17 11:01:51 ASP系列讲座(十六)访问数据库
·2012-5-17 11:00:53 ASP进阶教程Ⅲ:给留言簿润下色
·2012-5-17 11:00:35 [视频教程]Dreamweaver与ASP动态网页设计教程 - 第一章HTML基本知识之1 HTML概述
·2012-5-17 11:00:29 [视频教程]Dreamweaver与ASP动态网页设计教程 - 第五章 Dreamweaver与ASP应用之8 创建删除页面
·2012-5-17 11:00:12 十天学会ASP之第六天
·2012-5-17 10:59:06 开始 .Net的旅程(一)
站长推荐 PS笔刷下载 在线翻译 系统进程 广告代码
  发表评论
姓 名: 验证码:
内 容:
教程搜索服务
ASP源码推荐
·化境ASP无组件上传类 (啊估修改
·连云港租房网 v1.0
·asp图书管理系统DLL v3.0
·金梅源码下载系统 v1.1
·SHOPXP网上购物系统 v3.7.2
·2010圣诞节祝福网页源码 v1.0
·课件发布系统 v3.32
·申江ASP留言本 v1.18 标准版
·WODIG程序 v2.0 Build20061227
·中国PC帮助留言板
·迅网主机v3.52b完整版
·结业证书查询系统2010 v1.0
项目外包信息
·UI界面设计
·产品外观改版设计 15000元
·照明灯具网站设计 10000元
·求长期合作网站设计制作高手
·做B2C网站 20000元
·Android或QT软硬件平台设计(工
·网站首页FLASH
·网站PSD稿设计
·企业网站整站网页设计(美观大气
·网站页面设计及套入程序
·UI界面设计
·产品外观改版设计 15000元
·照明灯具网站设计 10000元
·求长期合作网站设计制作高手
·PPT设计
发布信息 浏览信息
邮件订阅服务
输入你的邮件地址,你将不会错过任何关于<ASP教程>的内容


网络编程文章分类
ASP教程
ASP实例
ASP技巧
ASP文摘
PHP教程
PHP技巧
PHP实例
PHP文摘
JSP教程
JSP技巧
JSP实例
JSP文摘
ASP.NET教程
ASP.NET技巧
ASP.NET实例
ASP.NET应用
xml教程
xsl教程
xml技巧
C#教程
C#应用
Delphi教程
Perl教程
Shell教程
Ajax教程
Visual Basic教程
Java教程
J2EE/J2ME教程
C/C++教程
移动解决方案
移动短信技术
移动行业动态
软件工程
WordPress
Android开发
站长工具:Google PR查询|Alexa排名查询|网站速度测试|CSS在线编辑器|OPEN参数生成器|弹出式窗口代码产生器|密码登录生成器|在线按钮生成器|Meta标签生成器|邮箱图标在线生成|多色彩特效字代码生成器|网页代码调试器|在线FTP登陆|Flash取色器|配色代码对照表|配色辞典|CSS生成器|CSS在线压缩|广告代码|框架网页代码生成器|js/vbs加密|md5加密|进制转换|UTF-8 转换工具|在线调色板|Html转换js|Html转换asp|Html转换php|Html转换perl
实用工具:汉字翻译拼音|拼音字典|在线翻译|天气预报|火星文|在线网速测试|符号对照表|个税计算|理财工具|黄金价格|购房银行按揭利率计算|汇率查询|经典小工具|汉字简繁转换|普通单位换算|公制单位换算|生辰老黄历|国内电话区号|国家代码与域名缩写|文字加密解密|元素周期表|健康查询|世界时间|全国各地车牌查询|全国车辆交通违章查询|万年历|二十四节气|汉字横竖排版|手机号码查询|计算器|ip搜索|酒店预订|机票预订
广告刊登 | 版权声明 | 联系我们 | 加入收藏 | RSS订阅
Copyright © 2000-2012 www.knowsky.com All rights reserved | 沪ICP备05001343号