仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 698|回复: 11
打印 上一主题 下一主题

[学习教程] ASP网页编程之ASP服务器组件的编程

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:56:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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来写程序就可以说自己高档了
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-20 06:18:44 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
乐观 该用户已被删除
板凳
发表于 2015-1-28 21:28:10 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
柔情似水 该用户已被删除
地板
发表于 2015-1-30 10:45:51 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
透明 该用户已被删除
5#
发表于 2015-1-30 22:18:20 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
再现理想 该用户已被删除
6#
发表于 2015-2-1 19:47:54 | 只看该作者
掌握asp的特性而且一定要知道为什么。
小妖女 该用户已被删除
7#
发表于 2015-2-2 10:52:21 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
第二个灵魂 该用户已被删除
8#
发表于 2015-2-7 18:04:13 | 只看该作者
不能只是将它停留在纸上谈兵的程度上。
精灵巫婆 该用户已被删除
9#
发表于 2015-2-22 20:11:50 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
不帅 该用户已被删除
10#
发表于 2015-3-7 02:02:34 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
蒙在股里 该用户已被删除
11#
发表于 2015-3-14 04:03:43 | 只看该作者
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
海妖 该用户已被删除
12#
发表于 2015-3-21 00:20:32 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 14:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表