汕头广播电视大学 毕业论文
1.1.3 ASP与组件对象的使用
在利用ASP技术进行动态Web开发的时候,应遵循这样一个原则:即 ASP的服务器端脚本必须与微软倡导的组件对象( Component Object Model )配合使用才能开发出具有实用价值的信息产品。ASP脚本相当于一种粘合剂,把一个个具有特定功能的组件对象粘合在一起,以形成最终的软件产品。这一软件制作的工艺思想类似于硬件工厂生产板卡的过程,那一个个的组件对象就相当于集成电路的芯片,而ASP脚本只是焊接芯片的焊接剂,由此可见组件对象起着核心作用。
组件对象模型COM是微软提出的一种基于二进制的Windows软件标准,它是由OLE 技术逐渐发展而来的。在使用不同语言工具写成的组件对象之间,依据COM 的标准可以进行交互。COM是技术概念和标准, 其商业概念的称谓则使用ActiveX。
上文提到的ADO就是系统提供的用于访问后台数据库的组件。此外,ASP本身还提供了五个内置的对象。这五个内置对象可被ASP 脚本直接使用,它们是:
1> Request 取得用户信息 2> Response 传递信息给用户
3> Server 提供访问服务器的方法和属性
4> Application 在一个应用程序的多个主页之间保留和使用某些共同的信息
5> Session 在一个用户的多个主页之间保留和使用某些共同的信息 其中,使用内置对象1、2可实现Web的交互功能,使用内置对象4、 5可解决具有协作机制的应用问题。
ASP的一大特色,是可以用来编写具有协作机制的应用程序,在多个用户的多个主页之间共享信息。使用内置的Application和Session 对象可实现这些功能。
Application对象保存一个应用程序共同的信息,使用此应用程序的所有用户都可以共同分享。为防止其被多个用户同时更改,提供loc k和unlock方法来实现互斥,例如:
Application.lock 禁止其他用户更改Application的信息; Application.unlock 允许其他用户更改Application的信息。 Session对象比Application对象的使用外延范围小,它保存仅属于一个用户的一个应用程序的信息。ASP的应用程序可以只有一个首页,也可以有多个主页文件,所有的文件均位于一个虚拟路径下。Session对象可让同一个用户在多个主页之间共享信息。当用户第一次在一个应用程序中申请一个*.asp主页时,ASP将为该用户分配一个Session ID号,它将唯一地标识用户的身份,从而能将同一应用程序的不同用户区分开来。
根据需要还可以自行定制具有某些特色的组件对象,以完成特殊的任务。用Visual Basic、Visual C++、Delphi和 Java等语言都可以编写。自制的组件对
汕头广播电视大学 毕业论文
象分成两类:
一是由类打包而成的*.dll文件,经注册器注册后,在ASP脚本中可通过\对象名 = 类名\来引用。对象在这种使用过程中是在服务器的后台运行的,其运行的结果通过系统自动生成的HTML作用到前端浏览器。
二是生成*.ocx文件,一般用作可视化的对象ActiveX,可直接将其嵌入*.asp主页中,在页面中插入时需使用HTML语言的标记加以引用。通常构件制作完成并按下载的要求打包后生成*.cab文件。对象在这种使用方式下要先从服务器下载,然后在客户的前端浏览器运行。在第一次下载时被展开成相关的*.dll和*.ocx文件进行本地安装及注册。以后再使用时,就可直接从本地获得,免去了下载之苦,这也是ActiveX优于Java App let的地方。
从长远来看,ASP和组件对象的配合使用无疑是一种引人入胜的新技术,更重要的是由此而提出了一种全新的软件设计方法,把硬件的工艺思想恰如其分地融合于软件的面向对象的分析、设计和施工之中, 使面向对象的概念和方法从工具语言的层次一下子跃上了系统的应用层,在快速开发多层的客户/服务器分布式应用系统中将会产生极好的效果。
1.2 ADO简介
ActiveX数据对象ADO(ActiveX Data Object)是一个ASP内置的ActiveX服务器组件(ActiveX Server Component),用于数据库访问,可把它与ASP结合起来,建立提供数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作。
要执行ADO,服务器端必须安装Windows NT Server和Internet Information Server (IIS),而客户端只要有IE或Netscape较新版本的浏览器即可。
实现Web数据库访问大致可分为两类,一类是以Web服务器作为中介,把浏览器和数据源连接起来,在服务器端执行对数据库的操作;另一类是把应用程序和数据库下载到客户端,在客户端执行对数据库的访问。
公共网关接口CGI(Common Gateway Interface) 当浏览器发出HTTP请求时,Web服务器执行相应的应用程序,访问站点数据库,并将查询结果以HTML格式送回到浏览器。这种方式有很多缺点,功能有限、开发困难,且不具备事务处理(Transaction)功能, 这在很大程度上限制了它的应用。
Internet数据库连接器IDC(Internet Database Connector) 这是一种简易方案,对数据库的操作仍然放在Web端,但用户可通过SQL(Structured Query Language)语句对数据库进行查询、输入、更新、删除等操作。IDC设计简易,不用编译就可直接执行,且支持对数据的多重查询(Multiple Query)。
先进数据库连接器ADC(Advanced Data Connector) 前两种方案中对数据库的操作都是在服务器端进行,而ADC是在浏览器端执行数据查询动作。当浏览器
汕头广播电视大学 毕业论文
提出对数据库的操作请求时,ADC 先将相应的数据库下载到浏览器端,在用户端对数据库进行操作。显然,这种方案效率很高。客户端对数据库的查询是由安装在客户端的A DC ActiveX Control完成的,而这个ActiveX Control是由站点服务器自动下载并安装在客户端的。
1.2.1 ADO与ASP
这是一种完全的Web数据库访问方案,可把ADO与ASP结合起来,建立提供数据库信息的网页内容,在网页中执行SQL命令,对数据库进行查询、插入、更新、删除等操作。ADO中可用VBScript、JavaScript 语言来控制数据库的访问(而ASP恰恰是脚本语言的解释环境)和查询结果的输出;ADO中使用RecordSets对象对数据库进行操作;可以连接多种支持ODBC的数据库。
1.2.2 访库的技术实现方法
ADO(ActiveX Data Objects)是一组优化的访问数据库专用对象集,为ASP提供了完整的站点数据库访问解决方案。它可作用于服务器端,以提供含有数据库信息的主页内容。通过执行SQL命令,让用户在浏览器画面中输入、更新和删除站点服务器的数据库信息。
ADO使用内置的RecordSets对象作为数据的主要接口。ADO可使用 VBScript、JScript语言来控制对数据库的访问,以及查询结果的输出显示。
ADO可连接多种支持ODBC的数据库,如SQL Server、Oracle、Informix等。 在使用时,首先需在控制面板的ODBC中建立相应的DSN(数据源名) 。要选择系统数据源名,指定所用的驱动程序,如\在数据来源名称中输入DSN名,并选定服务器和数据库。
使用ADO访问数据库的设计要领是掌握ASP脚本的几个典型语句, 它们是: 1> 定义数据库组件。有两种定义方法:
·使用\建立连接的对象。
Set Conn=Server.CreateObject (\·使用标记建立记录集的对象。
Set RS=Server.CreateObject (“ADODB.RecordSets”) 2> 用\打开待访问的数据库: Conn.Open \名称\
3> 设定SQL语句,使用\命令,即可开始执行访问数据库的动作: Set RS=Conn.Execute(\语句\其中RS为结果集对象(RecordSets)。
4> 利用RecordSets对象所提供的属性显示查询结果 5> 关闭结果集对象,断开与数据库的连接:
汕头广播电视大学 毕业论文
RS.Close Conn.Close
1.3 脚本语言简介
1.3.1 VBScript
Microsoft Visual Basic Scripting Edition 是程序开发语言 Visual Basic 家族的最新成员,它将灵活的脚本应用于更广泛的领域,包括 Microsoft Internet Explorer 中的 Web 客户机脚本和 Microsoft Internet Information Server 中的 Web 服务器 Script。VBScript 使用 ActiveX(R)脚本与应用程序对话。使用 ActiveX Script,浏览器和其他应用程序不再需要每个脚本部件的特殊集成代码。ActiveX脚本让用户可以编译 Script、获取和调用入口点及管理开发者可用的命名空间。通过 ActiveX Script,语言厂商可以建立标准脚本运行时语言。Microsoft 将提供 VBScript 的运行时支持。Microsoft 正在与多个 Internet 组一起定义 ActiveX脚本标准以使脚本引擎可以互换。 ActiveX脚本可用在 Microsoft(R) Internet Explorer 和 Microsoft(R) Internet Information Server 中。
VBScript 的数据类型只有一种,称为 Variant。Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息。因为 Variant 是 VBScript 中唯一的数据类型,所以它也是 VBScript 中所有函数的返回值的数据类型。
最简单的 Variant 可以包含数字或字符串信息。Variant 用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来象是数字的数据,则 VBScript 会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则 VBScript 将按字符串处理。当然,也可以将数字包含在引号 (\中使其成为字符串。
1.3.2 Jscript
JScript 是 Microsoft 公司对 ECMA 262 语言规范的一种实现。JScript 完全实现了该语言规范,并且提供了一些利用 Microsoft Internet Explorer 的功能的增强特性。本教程的目的就是引导您学习使用 JScript。JScript 是一种解释型的、基于对象的脚本语言。尽管与诸如 C++ 和 Java 这样成熟的面向对
汕头广播电视大学 毕业论文
象的语言相比,JScript 的功能要弱一些,但对于它的预期用途而言,JScript 的功能已经足够大了。
JScript 不是任何其他语言的精简版(例如,它只是与 Java 有点模糊而间接的关系),也不是任何事物的简化。不过,它有其局限性。例如,您不能使用该语言来编写独立运行的应用程序,并且该语言读写文件的功能也很少。此外,JScript 脚本只能在某个解释器上运行,该解释器可以是 Web 服务器,也可以是 Web 浏览器。
JScript 是一种宽松类型的语言。这意味着您不必显式定义变量的数据类型。此外,在大多数情况下,JScript 将根据需要自动进行转换。例如,如果试图将一个数值添加到由文本组成的某项(一个字符串),该数值将被转换为文本。
1.4 ASP与JSP、PHP的比较
1.4.1 ASP
ASP是到现在开发人群中应用最广的一个技术,ASP更精确的说是一个中间件,这个中间件将Web上的请求转入到一个解释器中,在这个解释器中将所有的ASP的Script进行分析,再进行执行,而这时可以在这个中间件中去创建一个新的COM对象,对这个对象中的属性和方法进行操作和调用,同时再通过这些COM组件再完成更多的工作。所以说,ASP强大的不在于它的VBScript, 而在于它后台的COM组件,这些组件来无限的扩充了ASP的能力。
优势: 1、简单易学。Basic有谁不会?很少会有人举手,所以有人在说这个开发基础是最广的。而且MS有一向做的非常好的联机手册,本地化语言的帮助,同时非常快的出现教学书籍,这样会大大方便开发人员的学习和对技术的深入研究。 2、安装使用方便。装好一个Windows 2000,只要你安装了IIS那么ASP就可以使用了,从没有什么需要你花心思去配置的。3、开发工具强大而多样。ASP开发工具的多样化,同时它们的功能也很强,这一点已经被许多程序员所津津乐道。易用、简单、人性化,这本就是微软的强项。4、效率高。在低的访问量下,ASP能体现出一定的效率,这时它对机器的要求并不高。
不足之处:1、Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性(Win2K已经不再支持Alpha了)都会因为与NT的捆绑而显现出来。 2、ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,那么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。3、由于ASP还是一种Script语言没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编译的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。4、无法实现跨操作系统的应用。5、还