ASP编程:ASP组件(二)
专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。在上一讲中,我们进修了怎样创立组件,利用了扫瞄器才能组件、FileAccess组件、ADRotator组件和ContentLinking组件,也晓得了Server工具的CreateObject办法、MapPath办法和HTMLEncode办法。本讲将持续组件的进修。1、Email组件:NTSCollaborationDataObjects
我们在网上常常看到,很多站点均供应在线发信功效(即用表单完成Question提交,Support或信息反应等等)大概给会见者发送确认信息。这一功效对团体主页来讲是很难到达的,由于必要主页供应商分外的撑持(我团体主页上的在线写信是用CGI写的,与ASP有关),这里就其道理举一复杂的例子:
出格申明:本讲座所举的一切例子均在WindowsNT4.0Server+IIS(InternetInformationServer)4.0上调试,但个中年夜部分也合用于Windows9.x+PWS。不外要好勤学用ASP,最好再装一个WindowsNT与Windows95/98并存(没装过不要怕,很简单的,只需呆板略微好一点就好了,NT安装后能主动做成WinNT/Win9.x双启动)。
<%‘wuf30.asp
DimMail
创建一个Email组件
SetMail=Server.CreateObject("CDONTS.NewMail")
发送Email
Mail.Send"From@intldept.com","To@intldept.com","Subject","Body"
SetMail=Nothing
%>
这是一个最复杂的例子,现实上,利用该组件,你能够发送纯文本格局邮件大概HTML超文本格局邮件,该组件也撑持抄送(CC)和密件抄送(BCC),而且能够包括图片和附件,乃至还以可吸收邮件,应当说功效仍是对照壮大的。但我团体并非很浏览,由于要利用该组件,必需安装WindowsNTServer和IIS4.0的SMTP服务(微软作风),而且该组件不撑持POP3协定。因而假如利用该组件不克不及一般发送邮件,你能够翻开InternetServerManager看看DefaultSMTPSite是不是已启动(Start)和一些相干的设置。不外,假如你是一个微软迷,可往我的主页(http://wuf.bentium.net/)下载该组件的例程wuf31.asp和sendmail.asp本人研讨。
2、利用第三方组件
到如今为止,我们所先容的组件均包括在IIS4.0中,你能够间接利用这些组件。除此以外,你还可从MicrosoftIISResourceKit光盘中猎取以下两个组件(大概往http://www.microsoft.com/iis碰试试看看是不是有下载):
lPageCounter组件:网页计数器
lPermissionChecker组件:网页存取权限确认组件
IIS4.0内置组件的先容到这里就告一段落了,但ASP组件的进修还要持续,一方面是由于IIS4.0内置的组件很少,另外一方面已供应的这些组件也许功效其实不很壮大,合适你的必要。因而更大批的资本是网上现存的成百上千的第三方组件,它们有些是收费的,有些供应功效限定版或评价版,固然更多的要银子的(一个组件要三位数的$,有无弄错!几乎是借题发挥的“欺诈”),利用这些组件,足可使你成为一个伪ASP妙手,让你能疾速、便利地做出功效壮大的主页,不再有“巧妇难为无米之炊”的叹息。我们无妨经由过程几个例子来找一下这类感到。
(一)文件上传组件AspSmartUpload(收费)
先下载该组件:http://www.aspsmart.com/liblocal/download/EN/aspSmartUpload.zip,文件巨细约100K(也可往我的站点下载)。下载解包后,共有三十多个文件,分离位于分歧目次下,你能够参照个中的申明文件本人研讨,这里仅举一个完全的例子申明怎样利用第三方组件。
找到AspSmartUpload.dll和AspSmartUploadUtil.dll这两个文件,在Web服务器的命令提醒符下分离用”regsvr32.exeaspsmartupload.dll”和”regsvr32.exeaspsmartuploadutil.dll”命令行来注册该组件(假如你是第一次利用Regsvr32.exe,可先将这两个DLL文件拷到Web服务器的“Winnt/System32”或“Windows/System”目次下),若注册乐成,弹出的窗口中会有”succeeded”字样(注重:利用第三方组件前必需先注册,有的第三方组件接纳安装体例,能主动注册,而更多的象如许,必要本人手工注册)。注册乐成后,接上去就是写代码利用组件,该例由两个文件构成(注重测试时请勿利用中文文件名):
wuf32.htmC上传文件的前端Web页面(表单)
<HTML>
<styletype="text/css">
<!--
input{font-family:"宋体","TimesNewRoman";font-size:9pt;line-height:16pt}
-->
</style>
<BODYBGCOLOR="white">
上传文件的Web页面(可上传文件的个数本人界说,但文件名中不克不及含中文)
<HR>
<FORMMETHOD="POST"ACTION="wuf34.asp"ENCTYPE="multipart/form-data">
<!--TEXT-->
用户名:<inputTYPE="TEXT"name="myText"value=""><br>
<!--PASSWORD-->
口令:<inputTYPE="PASSWORD"name="myPASSWORD"value=""><br>
<!--HIDDEN-->
<inputTYPE="hidden"name="myHidden"value="hidden"><br>
<!--文件-->
文件1:<INPUTTYPE="FILE"NAME="FILE1"SIZE="50"><BR>
文件2:<INPUTTYPE="FILE"NAME="FILE2"SIZE="50"><BR>
文件3:<INPUTTYPE="FILE"NAME="FILE3"SIZE="50"><BR>
文件4:<INPUTTYPE="FILE"NAME="FILE4"SIZE="50"><BR>
<INPUTTYPE="SUBMIT"VALUE="Upload">
</FORM>
</BODY></HTML>
按“Upload”按钮,背景由文件wuf34.asp来处置(你也可下载更复杂的wuf33.asp):
<HTML><BODYBGCOLOR="white">
文件上传了局:
<HR>
<%
DimmySmartUpload,item,value,file
先以下创立组件
SetmySmartUpload=Server.CreateObject("aspSmartUpload.SmartUpload")
mySmartUpload.Upload
用ForEach轮回猎取From表单中每项的值
ForeachitemInmySmartUpload.Form
ForeachvalueInmySmartUpload.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
ForeachfileInmySmartUpload.Files
Ifnotfile.IsMissingThen
以本来的文件名存于C: emp下
file.SaveAs("c: emp"&file.FileName)
Response.Write(file.FileName&"("&file.Size&"bytes)<BR>")
EndIf
Next
SetmySmartUpload=Nothing
%>
</BODY>
</HTML>
关于该组件更多、更具体的用法、功效(如限定上传文件的范例、尺寸,上传至数据库,下载文件或数据库字段等等),你可本人往看样例或研讨洋文匡助。假如以为看E文太累,也可下载一个天下产的FileUpload组件,内里有中文的匡助和样例,仍是不错的,下载地点:http://www.chinaasp.com/program/fileup.zip。
(二)图形组件:DundasPieChart(饼状图)
先听听组件供应者是怎样说的:“闪光的功能,足以让人晕厥的高质量的图形,壮大、高速、非常的天真性”,哇塞,吹嘘赛过韦小宝,是否是如许,看看了局之一:
有了如许的饼状图,你也能够象新浪网一样弄查询拜访了,吹得这么好的器材倒是收费的,你还等甚么,快快驾上你的慢猫往拉上去:
(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:Inetpub3dPieCSC”目次下,该组件自带两个庞大非常的样例程序以展现它炫丽非常的功能,较难弄分明。这里举一个复杂有用的普通化例子:
wuf36.htm,经由过程
</BODY></HTML>
wuf37.asp,用来天生图形(与下面同理,请勿在代码中利用中文):
<%@Language=VBScript%>
<%OptionExplicit
DimobjPieChart
SetobjPieChart=Server.CreateObject("Dundas.PieChartServer.1")先创立组件
设置事情目次
objPieChart.DirOutput="C:Inetpub3dPieCSCSampleChart"
设置模板文件地点目次
objPieChart.DirTemplate="C:Inetpub3dPieCSCSampleTemplates"
材质目次-你能够轻松的改动图形的材质和色彩
objPieChart.DirTexture="C:Inetpub3dPieCSCSampleTextures"
选择一个模板文件,该模板文件可本人编纂或修正
objPieChart.LoadTemplate"PieInTheSky.cuc"
图形题目
objPieChart.Title="ThisisaSample"
增添各项目,包含权重标签申明
objPieChart.AddData40,"Item1:40%","China"
objPieChart.AddData30,"Item2:30%","USA"
objPieChart.AddData30,"Item3:30%","Other"
输入了局为一图形,可指定宽度和高度
objPieChart.SendJPEG400,300
SetobjPieChart=Nothing
%>
厚道说,这个收费的器材仍是不错的,就是它供应的例程太庞大了,让人不克不及一触即会。如今你大概要来一个触类旁通,举一反三,想如何失掉柱状图,切实其实是有如许的组件:ShotGraph,可是完整不必要弄这么庞大吗,你仅需筹办一个柱状的图片(不会做!看到他人网页上有,另存一个不就弄定),使用HTML标志Weight、Height按比例拉伸和紧缩就好了(<imgsrc=bar.gifwidth=<%=变量%>height=10>)。
别的,为了填补本讲座开首卖力任的大略,在此慎重向人人保举两个Email组件:
(1)aspSmartMail:http://www.aspsmart.com/liblocal/download/EN/aspSmartMail.zip,注重万万不要在代码中利用中文,否则你怎样也发不出一封信,详见例程wuf35.asp。
(2)W3Jmail: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/
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名") 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页:
[1]