(1) Active:ASP使用了Microsoft的ActiveX技术。ActiveX (COM)技术是现在Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要可以在服务器上安装这些组件,通过访问组件,就可以快速、简易地建立自己的Web应用。
(2) Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBScript和Jscript。VBScript是VB的一个简集,会VB的人可以很方便的快速上手。然而Netscape浏览器不支持客户端的VBScript,所以最好不要在客户端使用VBScript。而在服务器端,则无需考虑浏览器的支持问题,Netscape浏览器也可以正常显示ASP页面。
(3) Pages:ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。这样就可以防止别人抄袭程序。
由此可以看出,ASP是开发Web应用的一种简单、方便的编程工具。在了解了VBScript的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。
2.3.2 ASP的特点
本系统的设计与实现采用了ASP技术,它的主要特点如下1、面向对象:ASP的脚本语言为面向对象的编程方式;
2、易于生成:ASP技术完全与HTML集成,只需掌握一门脚本语言; 3、易于编辑:使用文本编辑器,如Windows的记事本即可设计;
4、浏览器无关性:ASP是在服务器端运行,因此开发者无需考虑浏览器兼容问题; 5、 安全性高:ASP只把结果返回给浏览器,开发者不必担心ASP源程序代码会被别人窃取。且设置了很多措施保证站点的安全,如设定虚拟目录的权限,用户身份确定,隐含脚本等;
6、可扩充脚本语言:ASP可以通过使用ActiveX Server Components(ActiveX服务器组件)来扩充脚本语言的功能。ActiveX Server Component可使用Visual Basic, Java, Visual C++,COBOL等语言来实现;
[31]
:
7、可扩充服务器端功能:ASP本身自带了五个ActiveX Server Components(ActiveX服务器组件),其中最重要的两个是数据库访问组件ADO DB(ActiveX Data Objects Database),文件访问组件FileSystemObjects;
8、使用Server端Script产生Client端Script,可以使用ASP程序码在站点服务器执行Script语言(VBScript或Jscript),来产生或更改在Client端执行的Script语言;
9、 ASP通常必须放在支持ASP的Web服务器上的一个有可执行权限的目录下,才能被正确运行;
10、不需编译:ASP文件不用编译或关联外部应用程序就可直接在服务器端运行。 2.3.3 ASP的工作原理
如图2.5所示,当浏览器通过HTTP协议向Web服务器申请一个由*.asp定义的页面时,Web服务器响应HTTP请求,用ASP引擎解释被申请文件。当遇到ASP脚本命令时,ASP引擎调用相应的脚本引擎(脚本引擎以组件的形式驻留在Web服务器上)进行处理。ASP提供两种脚本引擎,即VBScript引擎和JScript引擎,若要使用其他脚本语言,需要在Web服务器上另外安装相应的脚本引擎;当遇到基于COM标准的组件(组件本身是经过编译的可重用二进制码)时,ASP引擎启动相应的组件完成指定的功能。若ASP文件含有访问数据库的请求,ASP内置组件ADO(ActiveX Data Object)通过ODBC与数据库连接,对数据库进行访问,并将访问结果返回Web服务器。ASP引擎将脚本和组件的运行结果生成相应的HTML语法成分,与文件中原有的文本和HTML标记一起组成标准HTML页面送至客户端浏览器
[32]
。
图2.5 ASP工作原理
从结构上看,传统的两层结构由于自身的弊端,正逐渐被三层结构所代替。以往的客户/服务器结构,无论将应用逻辑放在哪一端,都将造成胖客户或胖服务器的沉重负担。Microsoft将IN作为中间层的Web服务器,ASP文件驻留在Web服务器上,实现复杂应用逻辑的脚本,组件也由Web服务器执行,因此对构造三层结构的Web应用系统提供了很好的支持
[33]
。
从图中还可以看到,ASP通过ODBC对数据库系统进行访问,因此可兼容各种支持ODBC的数据库系统;而ASP产生的标准HTML页面对客户端的浏览器又有广泛的适应性。 2.3.4 ASP的基本语法
ASP的基本语法主要有以下几点
[34]
:
1、采用在HTML命令标识的两端分别加上“<”和“>”分隔符,区分HTML命令标识和普通字符;
2、采用“<%”和“%>”包含ASP的命令,区分服务器端的ASP脚本和其他字符; 3、采用标识服务器端用户定义的函数、方法或模块。注意必须在