在线情况
楼主
  • 头像
  • 级别
    • 积分-1
    • 经验8
    • 文章0
    • 注册2004-03-07
    ASP编程教程(二)
    本文ASP篇(1)展示了ASP动态网站设计的一些最基本的方法,相信通过实践各位对ASP已经有了最基本的了解,本篇在答复大家所提问题的同时,将进一步介绍ASP动态网站的一些基本技巧。

     自本文第一篇刊登后,络绎不绝地收到了一些朋友的来信,出乎作者的意料,其中有相当一部分是初次接触ASP,因此有许多朋友都提出为何在浏览器中浏览ASP篇(1)中的范例时看到的竟然是原代码?由于遇到此问题的朋友较多,故作者在此一并回答。
    首先,我要再次强调ASP是一套服务器端的脚本环境,当用户从浏览器向Web服务器请求.asp文件时,ASP脚本开始运行,然后Web服务器调用ASP,ASP全面读取请求的文件,执行所有脚本命令,并将Web页传送给浏览器,这就意味着你不能简单地在现有的操作系统(如Win95、98)下,用浏览器中的"打开"命令来浏览.asp文件;其次,运行.asp文件需要服务器端的支持,目前除了WindowsNT下的Microsoft  
    Internet  Information  Server支持Active  Server技术外,Active   Server
    还可用于MS  Windows  NT  Workstation和MSWindows95/98中的
    PersonalWebServer的构件,因此无论你安装的是NT还是WIN95/98,都必须在原系统上安装支持ASP的服务器端环境,才能使你的机器得以运行.asp文件。由于目前绝大多数朋友安装的是Win95或是98,因此作者就在这里着重介绍如何在Win95/98下运行和浏览.asp文件。因为MSPersonalWebServer支持通用网关接口(CGI)应用程序、
    Internet数据库接口(IDC)应用程序和IIS应用程序接口(ISAPI)应用程序,并且支持运行和开发ASP应用程序,所以使得Win95及其以后操作平台具备了近似于NT的健全的网站运作和管理功能。你所要做的只是在现有的Win95/98系统上安装
    MSPersonalWebServer,建议安装最新的4.0版本,具体步骤详见《轻松建网
    Microsoft   Personal  Web  Server4.0》一文。当安装完成后,PWS4.0会在系统启动时自动加载。打开PWS,选择左栏中的"高级"按钮(见下图Asp2a.gif),点取"虚拟目录"下的"/_private"目录,然后点击右边的"编辑属性"按钮,如图所示,在对话框中你可以编辑该虚拟目录的物理路径和目录名,上图中"/_private"的物理路径为"D:\Inetpub\wwwroot",该目录是系统默认的WWW发布根目录,将上一篇中的范例test1.asp文件复制到"D:\Inetpub\wwwroot"目录下。最后,你只要将该虚拟目录的访问权限选择为"执行",并在浏览器的"地址"栏中输
    入"http://localhost/test1.asp"就可以运行并浏览该ASP程序了。

      知道了如何运行并浏览ASP程序,下面我们就继续ASP动态网站设计的学习。

      上一篇给大家介绍了几个最基本的ASP程序,相信大家已经对ASP的应用有了大致的了解,本篇将继续介绍一些用ASP编写的WEB动态功能。由于WEB浏览器标准的不一致从而使得如何能够让自己制作的网站去适应各种不同的浏览器成为了广大网站设计者最为头疼的事,在如今的形势之下,我们不肯也不可能去抛弃Netscape或IE中的任何一种客户群,但我们有时候又不得不去考虑客户端浏览器的实际浏览效果,过去我们常用JavaScript编写一段程序来辨别客户端使用的不同的浏览器,那么今天就让我们来看看如何使用ASP更为便捷且精确地达到这一目的。将以下代码,剪贴到你的Notebook中,并保存为browser.asp。 

        用ASP提供的浏览器性能组件来辨
    别客户浏览器   


    ----------------------------------------------------------------------
          

           BrowserName
            
          

           BrowserVersion
            
          

           MajorVersion
            
          

           MinorVersion
            
          

           FrameSupport
            
          

           TableSupport
            
          

           CookieSupport
            
          

           BackgroundSoundSupport
            
          

           VBScriptSupport
            
          

           JavaScriptSupport
            
        

      用http方式浏览该文件,根据使用的浏览器的不同,你会看到类似下图
    (Asp2b.gif)的页面。在本例中我们用到了一个ASP提供的ActiveX组件--
    "BrowserCapabilities"。ActiveX组件作为基于Web的应用程序部分在Web服务器上运行,组件提供了应用程序的主要功能(如访问、修改数据库等),这样WEB设计者们就不必创建或重新创建执行这些任务的代码,从而提高了工作的效率,有关ActiveX组件将在今后详细讨论。为了使用ASP辨别客户浏览器,在这里我们利
    用"BrowserCapabilities"组件创建了一个BrowserType对象,该对象提供带有客户端网络浏览器功能说明的用户脚本,当浏览器连接到网络服务器上时,它会自动发送一个UserAgentHTTP标题,该标题是一个声明浏览器及其版本的ASCII字符串。此
    BrowserType对象将该标题和在Browscap.ini文件中的项进行比较(Win98、IIS3、IIS4的用户分别可以在以下目录中"win98\system\inersrv"、"\winnt\system32
    \inetsrv\asp\cmpnts"、"\winnt\system32\inetsrv"找到该文件)。如果找到匹
    配的项,则该BrowserType对象将认为浏览器列表属性与UserAgent标题匹配。若该对象在browscap.ini文件中找不到与该标题匹配的项,那么将使用默认的浏览器属性。若该对象既未找到匹配项且browscap.ini文件中也未指定默认的浏览器设置,则它将每个属性都设为字符串"UNKNOWN"。我们可以通过更新browscap.ini文件将属性或新的浏览器定义添加到该组件中,从而扩大ASP识别的浏览器范围和精确度。下面列出了browscap.ini中的一部分内容(不包括注释部分):

    [IE4.0];;HTTPUserAgentHeader
    browser=IE;;指定该浏览器的名称。
    Version=4.0;;指定该浏览器的版本号。
    majorver=4;;指定主版本号
    minorver=0;;指定副版本号
    frames=TRUE;;指定该浏览器是否支持框架。
    tables=TRUE;;指定该浏览器是否支持表格。
    cookies=TRUE;;指定该浏览器是否支持cookies。
    backgroundsounds=TRUE;;指定该浏览器是否支持背景音乐。
    vbscript=TRUE;;指定该浏览器是否支持VBScript。
    javascript=TRUE;;指定该浏览器是否支持JScript。
    javaapplets=TRUE;;指定该浏览器是否支持Java程序。
    ActiveXControls=TRUE;;指定该浏览器是否支持ActiveX控件。
    Win16=False;;指定该浏览器是否支持Win16
    beta=False;;指定该浏览器是否测试版。
    cdf=True;;指定该浏览器是否支持用于Web预测的ChannelDefinitionFormat。


    ;;ie4.01
    [Mozilla/4.0(compatible;MSIE4.01*;Windows95)]
    parent=IE4.0;;父标签允许第二个浏览器继承第一个浏览器的定义
    version=4.01
    minorver=01
    platform=Win98


    ;;DefaultBrowser;;指定默认的浏览器的设置
    [DefaultBrowserCapabilitySettings]
    browser=Default
    frames=FALSE
    tables=TRUE
    cookies=FALSE
    backgroundsounds=FALSE
    vbscript=FALSE
    javascript=FALSE


      在上面的例子中,父标签允许第二个浏览器继承第一个浏览器的定义,以便
    MicrosoftInternetExplorer4.01定义得以继承MicrosoftInternetExplorer4.0定义全部的属性(例如,frames=TRUE、tables=TRUE以及cookies=TRUE)。并通过添加platform=Win98行来指定平台,用version=4.01重写版本信息。

      在先前的browser.asp中我们仅仅是将客户浏览器的属性一一罗列了出来,下面让我们添加一些动态的效果。将以下代码剪贴到文件browser.asp中(编辑注:为显示方便,所有“<”符 号 后 都 多 加 了 个 空 格 , 实 际 使 用 时 请 注 意 去 掉 。 ) :

    你的浏览器支持框架!


    难道现在你还在使用不支持框架的浏览器???



    你的浏览器支持表格。


    难道现在你还在使用不支持表格的浏览器???



    有没有听到美妙的音乐???


    可惜,您的浏览器不支持背景音乐。



    您的浏览器支持Vbscript。


    您的浏览器不支持Vbscript。



    您的浏览器支持Javascript。


    您的浏览器不支持Javascript。



      在你的浏览器中刷新browser.asp,程序将自动辨别浏览器的属性并动态显示不同的信息。不难发现在整个browser.asp文件中几乎没有用到任何复杂的编程,就轻而易举的达到了动态鉴别客户浏览器并动态产生响应事件的效果。事实上,这个程序的关键就在于前文提到的ActiveX组件--"BrowserCapabilities",它的作用类似于一个Function,只需简单地在程序中调用该组件即能达到你所希望的效果。

      通过这两篇对ASP的介绍,大家已经看到编写ASP程序是相当轻松的,要掌握
    ASP,无非就是掌握ASP内置的五个对象,以及ASP提供的ActiveX组件的对象、方法和属性,当然扎实的脚本语言编写能力也是必须的。在今后的课程中作者将用五到六篇的篇幅着重介绍这些内置对象和组件的作用及使用方法,敬请关注。
    Page created in 0.0391 seconds with 6 queries.