ASP的主要技术特点分析指导老师:卢云辉苏超强贵州民族学院数计系2000级计算机科学与技术摘 要讨论了ASP技术的工作原理,从五个方面分析了ASP的技术特点,并展望了ASP技术的应用前景.列举应用实例:利用ASP技术实现注册页面关键词ASP Web应用程序 页面 VBScript 注册页面Main ASP Technology Trait AnalysisChaoqiang SuNational college of Guizhou computer science & technology department grade 2000 Abstract: This article discussed ASP work of elements. There is five ways of analyzing ASP technology trait and prospecting ASP technology to use in the future. Show an example : Use ASP technology to achieve login page.Keywords: ASP Web Application Web page VBScript Login page1 前言开发基于Internet/Intranet的管理信息系统,首先要解决的问题是通过Web应用程序访问后台数据库信息。
Web应用程序被分割成页面(Web Pages),通常以HTML文件的形式驻留在Web服务器上,用户通过与Web页面的交互操作提出对数据库的访问请求并获取访问结果,这就要求Web应用程序能很好地实现动态Web页面。
ASP(Active Server Pages)是Microsoft于1996年11月推出的Web应用程序开发技术。
在Microsoft的有关文档中ASP被描述为:一个服务器端的脚本环境,可以生成和运行动态的、交互的、高性能的Web服务器应用程序。
可以看出,ASP既不是一种语言,也不是一种开发工具,而是为生成动态的、交互的Web应用程序提供一种方法和技术。
ASP的主要特性是能够把HTML文件、脚本、基于COM标准的组件有机地组合在一起,形成一个能够在服务器上运行的动态Web应用程序,并能把按用户要求制作的标准HTML页面送给客户端浏览器。
本文将介绍ASP技术的工作原理,并从多个方面分析ASP的主要技术特点。
2ASP工作原理基于ASP的页面以*·asp文件形式驻留在Web服务器上。
一个*·asp源文件是文本文件,可以包括以下成分:z文本 用于显示信息、页面标题等。
z HTML标记 实现页面风格设计。
z ASP脚本(Scripting Commands) 一组脚本命令,在源文件中以〈%…%〉为定界符.脚本命令必须是缺省脚本语言(例如VBScript)中的有效命令,负责整体流程的设计,并利用ASP内置组件和内置对象、或其他组件实现所需功能。
如图1所示,当浏览器通过HTTP协议向Web服务器申请一个由*·asp定义的页面时,Web 服务器响应HTTP请求,用ASP引擎解释被申请文件。
当遇到ASP脚本命令时,ASP引擎调用相应的脚本引擎(脚本引擎以组件的形式驻留在Web服务器上)进行处理。
ASP提供两种脚本引擎,即VBScript引擎和VJScript引擎,若要使用其他脚本语言,需要在Web服务器上另外安装相应的脚本引擎;当遇到基于COM标准的组件(组件本身是经过编译的可重用二进制码)时,ASP引擎启动相应的组件完成指定的功能。
若ASP文件含有访问数据库的请求,ASP内置组件ADO(ActiveX Data Object)通过ODBC与数据库连接,对数据库进行访问,并将访问结果返回Web服务器。
ASP引擎将脚本和组件的运行结果生成相应的HTML语法成分,与文件中原有的文本和HTML标记一起组成标准HTML页面送至客户端浏览器。
从结构上看,传统的两层结构由于自身的弊端,正逐渐被三层结构所代替。
以往的客户/服务器结构,无论将应用逻辑放在哪一端,都将造成胖客户或胖服务器的沉重负担。
Microsoft将IIS作为中间层的Web 服务器,ASP文件驻留在Web服务器上,实现复杂应用逻辑的脚本,组件也由Web服务器执行,因此对构造三层结构的Web应用系统提供了很好的支持。
W eb服务器数据库服务器原理图1 ASP工作原理从图1可以看到,ASP通过ODBC对数据库系统进行访问,因此可兼容各种支持ODBC的数据库系统;而ASP产生的标准HTML页面对客户端的浏览器又有广泛的适应性;但目前ASP只能在Windows(NT和95)支持下的Web服务器上运行,有一定的局限性。
运行ASP的最低版本是:z·Windows NT Server 4.0+Microsoft IIS (Internet Information Server)3.0 z·Windows NT Workstation 4.0+Microsoft Peer Web Services3.0z·Windows 95 +Microsoft PWS (Personal Web Server)1.03 ASP主要技术特点3.1 组件在ASP技术中起着核心作用在使用ASP技术时应遵循这样一个原则:即ASP 脚本必须与基于COM标准的组件配合使用才能开发出具有实用价值的动态Web应用程序。
组件对象模型(COM:Component Ob-jectModel)是Microsoft提出的一种基于二进制的软件标准,与语言无关。
Visual Basic、Visual C++、Visual J++、Visual FoxPro等都能创建COM组件,在不同语言实现的组件之间,依据COM标准可以进行交互操作。
COM是技术概念和标准,其商业称谓则使用ActiveX。
基于组件,可以把应用程序的开发分成两大类任务:一类是开发能被很多程序使用的核心组件;另一类是集成这些核心组件提供的服务,构造出实现特定功能的应用程序。
Microsoft及一些“中间件”厂商已针对不同的应用领域提供了许多组件产品,组件的使用者只需要理解组件的接口,不需要知道组件的内部结构和组件使用的数据。
在ASP技术中,ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件集成在一起,以形成最终的软件产品。
利用组件,开发人员可以专门做自己最擅长的工作,从而减少开发难度;利用组件,还有助于开发人员将用户界面与应用逻辑、数据服务分开,快速开发出可重性高的基于三层客户/服务器结构的Web应用程序。
ASP提供了10个内置组件(在IIS3.0中提供了5个,IIS4.0中新增了5个)。
组件中包含一个或多个对象,在使用前组件的对象需要被实例化。
ASP还提供了6个内置对象(在IIS3.0中提供了5个),这6个内置对象可以被ASP脚本直接使用,不需要被实例化。
除了内置组件和内置对象,开发人员还可以自行制作实现特殊功能的组件。
内嵌对象z Session: 用于在一个客户的多页面之间共享数据z Application:用于在多个客户之间共享数据z Request:用于接收客户提交的数据z Response:用于将数据下载到客户端并生成动态网页z Server:用于创建各种对象,访问系统数据z ObjectContext:用于管理WEB服务器应用程序及事物处理3.2 采用ADO技术访问数据库统一数据访问(UDA:Universal Data Access)是Microsoft提出的适合企业范围、能够高性能地访问各种信息(包括关系型和非关系型数据)的数据访问模型(图2)。
UDA能够使Visual Studio 中的所有工具访问任何平台上的任何数据源。
UDA由三个核心技术组成:OLE DB、ODBC和ADO。
UDA 模型示意OLE DB、ODBC是开放的系统级的数据操作接口。
ODBC提供了对关系型数据库系统的标准访问界面,已得到大多数数据库系统的支持。
OL EDB用于处理异构平台的关系型和非关系型信息,非关系型信息包括电子邮件、文件系统、文本、图形等等。
OLE DB还能够使用已有的ODBC驱动程序访问关系型数据库。
ADO是开放的应用程序级的数据操作接口,应用程序通过ADO访问支持OLE DB和ODBC的数据库系统,从而使开发人员与OLE DB、ODBC技术完全分离。
与传统的CGI等技术相比,ADO可以在多种环境下使用,能够访问更多类型的数据,简单可行,在编写复杂的应用程序时可以减少大量的时间。
ASP采用ADO技术访问后台数据库,其内置的数据库访问组件ADODB提供了一组优化的访问数据库专用对象集。
ADODB包含有7个对象,其中最主要的有Connection、RecordSets。
Connection实现与OLE DB数据源的连接,通过执行SQL命令实现对数据库的查询、插入、修改等操作。
RecordSets是数据的主要界面,保存对数据库的操作结果。
3.3 支持几乎所有的脚本语言ASP为许多脚本语言提供了运行环境,除了VBScript、JScript,ASP还支持REXX、Perl 等脚本语言。
VBscript是ASP支持的缺省脚本语言,若要重新设定缺省脚本语言,在ASP文件的第一行使用命令〈% @LANGUAGE=… %〉即可。
在同一个ASP文件中,ASP脚本可以调用不同脚本语言编写的过程,从而发挥各种脚本语言的优势。
过程可以与调用该过程的ASP脚本定义在同一个ASP文件中,若过程中使用的脚本语言与缺省脚本语言不同,过程定义以〈SCRIPT RUNAT=SERVER LANGUAGE=…〉…〈/SCRIPT〉为定界符,在定界符中对过程使用的脚本语言进行说明。
3.4 支持事务(Transaction)事务是一组操作,作为整体要么成功,要么失败。
事务处理机制最初应用于数据库系统,确保对数据库进行可靠地修改。
当对一个数据库进行一系列相关的修改或同时对若干个数据库进行修改时,应该保证所有的操作都能够正确地执行,如果其中任何一个操作失败,就必须终止该事务并恢复数据库的原状态,这种处理也称滚回。
microsoft在IIS4.0中集成了事务处理服务器(MTS:Microsoft Transaction Server),使用MTS来实现Web服务器对事务的支持。
MTS是基于组件的事务处理系统,用于开发、调度、管理企业级Internet/Intranet服务器端应用系统。
MTS的事务处理机制只控制对数据库的访问,应用程序对文件系统或其他数据源的操作失败不会导致滚回。