|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。编程|服务器重庆出书社电脑中央陈刚
1.甚么是ASP服务器组件
ASP(ActiveServerPage)是现今开辟交互式Web页面、Web数据库使用最壮大的手艺。在个中能够混用HTML、DHTML、
ActiveX、VBScript或JavaScript。当这些手艺都没法见效时(比方举行高密度的数学运算、封装特定的数据库处置逻辑
等),可使用服务器组件(ServerSideComponent)进一步扩大ASP的才能。
ServerSideComponent实践上是运转在服务器上的一个DLL,它能够完成惯例DLL所能胜任的任何义务。分歧的地方是:它由
ASP页面挪用、并以Web页面为交互工具,读进用户的输出(Web页面上各输出域的值),处置后前往了局到Web页面。这些
交互固然都要经由过程Web服务器作为中介。能够用VB、VFP、VC++、C++Builder、Delphi等恣意撑持COM手艺的言语编写。因为
它能够使用服务器的任何资本,其功效仅受限于你的设想力。
今朝撑持ASP的Web服务器有IIS(InternetInformationServer,WinNTServer4.0自带)和PWS(PersonelWebServer,
用于Win95情况)。并请求安装VisualInterDev中的ServerComponents:FrontPageServerExtensions、Active
ServerPages和ClientComponents:VisualInterDevClient。能够把这些都安装在统一台呆板上,如许能够在单机上便利
地编程、调试。
上面用VB5.0开辟一个ServerSideComponent(一个ActiveXDLL),以完成Web页面上的随机图形显现,信任它会为你的站
点减色很多。
2.Web页面上的随机图形显现
一个大度的图形可使Web页面更具吸引力,令人乐不思蜀。但一旦我们的Web页面设计完成,这个图形也就断定上去。换
言之,除非我们从头修正HTML代码,则每次翻开这个页面,看到的都是一样一个图形。那末可否让用户在每次进进我们的
站点时,都能看到分歧的画面呢?比方:每次这个Web页面被会见时,从一个包括多少图形文件的文件夹中随机拔取一个,
在该页面上显现,使会见该页面的用户每次城市失掉分歧的视觉享用。
这个请求用HTML、DHTML或VBScript言语没法做到,这里我们用一个ASP服务器组件完成之。
3.用VB5.0创建ActiveXDLL
起首在VB5.0中新建一个Project,范例为ActiveXDLL:设定属性以下:
ProjectName:RandShowFile,
ClassModuleName:Randimage
个中类Randimage的代码以下:
OptionExplicit
PrivatemvarFilePathAsStringlocalcopy
PublicPropertyLetFilePath(ByValvDataAsString)
设置文件路径
IfRight(vData,1)="/"OrRight(vData,1)=""Then
mvarFilePath=vData
Else
IfInStr(vData,"/")0Then
mvarFilePath=vData&"/"
Else
mvarFilePath=vData&""
EndIf
EndIf
EndProperty
PublicPropertyGetFilePath()AsString
获得文件路径
FilePath=mvarFilePath
EndProperty
PrivateSubClass_Initialize()
mvarFilePath=""
EndSub
PublicFunctionShow(OptionalByValExtensionAsString)AsString
从指定文件路径中随机拔取并前往一个文件名
DimMyPathAsString
DimMyNameAsString
DimList()AsString
DimFileCountAsInteger
DimnAsInteger
OnErrorGoTobadnews
IfLen(mvarFilePath)<=1Then
Show="NoFilePathSpecified"
EraseList
ExitFunction
Else
IfIsMissing(Extension)Then
Extension="*.*"假如扩大名没有指定,则默许为*.*
EndIf
MyPath=mvarFilePath&Trim(Extension)Setthepath.
MyName=Dir(MyPath,vbNormal)Retrievethefirstentry.
EndIf
FileCount=0
ReDimList(10)
DoWhileMyName""
List(FileCount)=MyName
FileCount=FileCount+1
IfFileCount>=UBound(List)Then
n=UBound(List)+10
ReDimPreserveList(n)
EndIf
MyName=Dir()
Loop
IfFileCount>=1Then
Randomize初始化rand()函数,不然每次将发生不异的数字
n=Int(FileCount*Rnd())发生在1和list1.listcount之间的随机数.
Show=List(n)
EraseList
ExitFunction
Else
badnews:
Show="NoFileFound"
EraseList
EndIf
EndFunction
在编译之前,注重要在此Project中到场一个Module并在个中到场代码
SubMain()
EndSub
然后在菜单Project|RandShowFileProjectise?引出的对话框中,设Startup
Object为SubMain。最初在菜单File中,选MakeRandimage.dll。到此,我们的SSC
就开辟完成,而且它已主动注册在呆板上。
4.在ASP页面中利用服务器组件
上面将创建一个ASP页面以测试我们的ServerSideComponent。
启动VisualInterDev,入手下手一个新的工程:NewProjects,然后拔取WebProjectWizard,在ProjectName中输出
TestRandimage,点击OK后,VisualInterDev发生一些帮助文件,为新的工程做好筹办,然后主动翻开该工程。为了便利
测试,拷贝几个图形文件到Images文件夹中,文件范例能够是扫瞄器撑持的恣意图形文件,如BMP、TIF、GIF等。
在该工程中创建ASP页面,点击菜单File|New,在New对话框当选Files|ActiveServerPage,并指定其名字:
Randimage.asp。VisualInterDev将会为我们发生一个空的框架,在个中用手工到场代码。完成后的代码以下
:
<%@LANGUAGE="VBSCRIPT"%>
<html><head>
</head>
<body>
<h5>测试randimage组件,随机显现一个图形文件<h5>图形文件路径:
<%=server.mappath("images")%><br>
<%set
ox=server.createobject("randshowfile.randimage")实例化组件ox.filepath=serve
r.mappath("images")
%>
<imgsrc="<%=ox.filepath&ox.show%>">
<%setox=nothing利用后开释组件%>
</body>
</html>
因为Web页面利用的路径(URL)都是假造路径(VirtualDirectory),必需利用server.mappath()将其转换到物理路径
(PhysicalDirectory)。比方,此处的图形文件夹images的假造路径是://Servername/TestRandimage/Images(个中
Servername是你的Web服务器的名字),其对应的物理路径是C:InetpubwwwrootTestRandimageImages。假如不把
Images映照到物理路径则组件找不到该文件夹,没法一般事情。代码完成后测试之,注重到在每次打</p>国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了 |
|