当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP服务器组件的编程

ASP
ASP调用ORACLE存储过程并返回结果集
用ASP实现网页BBS
关于Global.asa文件的深入研究与session变量失效提示的具体方法
简易ASP+注册系统
防护手册:如何防止ASP木马在服务器上运行
用Visual Basic实现多画面播放功能之二
如何增强ASP程序性能(1)
如何增强ASP程序性能(2)
如何增强ASP程序性能(3)
ASP备份数据库
二十八条改善 ASP 性能和外观的技巧
在Form域中Post大于100K的数据
如何使用ASP制作模似动态生长的表单?
Microsoft IIS 真的如此「不安全」吗?(1)
Microsoft IIS 真的如此「不安全」吗?(2)
Microsoft IIS 真的如此「不安全」吗?(3)
Microsoft IIS 真的如此「不安全」吗?(4)
Microsoft IIS 真的如此「不安全」吗?(5)
关于页面和代码分离
ServerVariables 对路径的操作

ASP服务器组件的编程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 22 ::
收藏到网摘: n/a

      
  1.什么是ASP服务器组件
  
  ASP(Active Server Page)是当今开发交互式Web页面、Web数据库应用最强大的技术。在其中可以混用HTML、DHTML、ActiveX、VBScript或JavaScript。当这些技术都无法奏效时(例如进行高密度的数学运算、封装特定的数据库处理逻辑等),可以使用服务器组件(Server SideComponent)进一步扩展ASP的能力。
  Server SideComponent实际上是运行在服务器上的一个DLL,它可以完成常规DLL所能胜任的任何任务。不同之处是:它由ASP页面调用、并以Web页面为交互对象,读入用户的输入(Web页面上各输入域的值),处理后返回结果到Web页面。这些交互当然都要通过Web服务器作为中介。可以用VB、VFP、VC++、C++Builder、Delphi等任意支持COM技术的语言编写。由于它可以利用服务器的任何资源,其功能仅受限于你的想象力。
  目前支持ASP的Web服务器有IIS(Internet Information Server,WinNT Server4.0自带)和PWS(Personel Web Server,用于Win95环境)。并要求安装VisualInterDev中的Server Components:FrontPage Server Extensions、 Active ServerPages和Client Components:Visual InterDevClient。可以把这些都安装在同一台机器上,这样可以在单机上方便地编程、调试。
  下面用VB5.0开发一个Server Side Component(一个ActiveXDLL),以实现Web页面上的随机图形显示,相信它会为你的站点增色不少。
  
  2. Web页面上的随机图形显示
  
  一个漂亮的图形可以使Web页面更具吸引力,使人流连忘返。但一旦我们的Web页面设 计完成,这个图形也就确定下来。换言之,除非我们重新修改HTML代码,则每次打开这个页面,看到的都是同样一个图形。那么能否让用户在每次进入我们的站点时,都能看到不同的画面呢?例如:每次这个Web页面被访问时,从一个包含若干图形文件的文件夹中随机选取一个,在该页面上显示,使访问该页面的用户每次都会得到不同的视觉享受。
  这个要求用HTML、DHTML或VBScript语言无法做到,这里我们用一个ASP服务器组件实现之。
  
  3.用VB5.0建立ActiveX DLL
  
  首先在VB5.0中新建一个Project ,类型为ActiveX DLL :设定属性如下:
  Project Name:RandShowFile,
  ClassModule Name:Randimage
  其中类Randimage的代码如下:
  Option Explicit
  Private mvarFilePath As String 'local copy
  Public Property Let FilePath(ByVal vData As String)
  '设置文件路径
  If Right(vData, 1) = "/" Or Right(vData, 1) = "\" Then
  mvarFilePath = vData
  Else
  If InStr(vData, "/") <> 0 Then
  mvarFilePath = vData & "/"
  Else
  mvarFilePath = vData & "\"
  End If
  End If
  End Property
  
  Public Property Get FilePath() As String
  '取得文件路径
  FilePath = mvarFilePath
  End Property
  
  Private Sub Class_Initialize()
  mvarFilePath = ""
  End Sub
  
  Public Function Show(Optional ByVal Extension As String) As String
  '从指定文件路径中随机选取并返回一个文件名
  Dim MyPath As String
  Dim MyName As String
  Dim List() As String
  Dim FileCount As Integer
  Dim n As Integer
  On Error GoTo badnews
  If Len(mvarFilePath) <= 1 Then
  Show = "NoFilePathSpecified "
  Erase List
  Exit Function
  Else
  If IsMissing(Extension) Then
  Extension = "*.*" '如果扩展名没有指定,则默认为*.*
  End If
  MyPath = mvarFilePath & Trim(Extension) ' Set the path.
  MyName = Dir(MyPath, vbNormal) ' Retrieve the first entry.
  End If
  FileCount = 0
  ReDim List(10)
  Do While MyName <> ""
  List(FileCount) = MyName
  FileCount = FileCount + 1
  If FileCount >= UBound(List) Then
  n = UBound(List)