ASP (Active Server Page)提供了一个在服务器端执行脚本指令的环境(包括HTML、VBScript和JavaScript等),通过这种环境,用户可以创建和运行动态的Web应用程序。由于所有的程序都在服务器端执行,这样就大大减轻了客户端浏览器的负担,提高了交互速度。利用ASP不仅能够产生动态的、交互的、高性能的Web应用程序,而且可以进行复杂的数据库操作。ASP本身包含了 VBScript和JavaScript的引擎,使得脚本可以直接嵌入HTML中,而且还可以通过ActiveX控件实现更为强大的功能。
确切地说,ASP并不是一种语言,它所使用的语言通常是VBScript或者JavaScript,通过这两种脚本语言,我们能够很方便地开发ASP应用。但决不能将ASP与VBSciipt或者JavaScript等同起来,VBScript和JavaScript之间最大的区别就是它们的结构。VBScript是Visual Basic的子集,如果你曾经用过Visual Basic或者是Visual Basic for Applications (VBA),就会觉得非常熟悉。不过它们并不是完全一样的,因为VBScript是特意为在浏览器中进行工作而设计的,它不包括一些在脚本这个范围以外的特性,如文件访问和打印等等。JavaScript是从一组编程语
言如C、C++以及Java等之中脱离出来的。如果你以前曾经用过C或者是Java,那么JavaScript的结构你会觉得非常熟悉。但是,JavaScript和Java是完全不同的两种语言。Java是一种对于网页应用程序和非网页应用程序都可以使用的完全成熟的开发语言。而JavaScript是一种主要用于脚本编写的脚本语言。
ASP能够提供六个内建对象,能够很方便地实现状态保存功能,可以很容易地从客户浏览器获取信息,并向浏览器反馈信息,这样,我们就能够很方便地运用ASP开发Web应用。
ASP有以下几个特点:
(1) ASP无须编译。ASP脚本集成于HTML中,无需编译或链接即可直接解释执行。
(2) ASP易于生成。使用常规文本编辑器即可进行页面的设计。
(3) ASP独立于浏览器。用户端只要使用可解释常规HEL码的浏览器,即可浏览ASP所设计的主页。
(4) ASP脚本是在站点服务器端执行的,因此,若不通过从服务器下载来观察ASP主页,在浏览器端将看不到正确的页面内容。
(5) 在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制ActiveX服务器组件来扩充功能。与任何ActiveX Scripting语言兼容。
(6) 源程序码不会外漏。ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证程序代码不会被他人盗取。
ASP所完成的功能主要有:
(1)处理由浏览器传送到站点服务器的表单输入。
(2)访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点的数据库中的数据。
(3) 读写站点服务器的文件,实现访客计数器等功能。
(4) 取得浏览器信息管理等内置功能。
(5) 由Cookies读写用户端的硬盘文件,以记录用户的数据。
(6) 可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。
(7) 使用VBScript或JavaScript等简易的脚本语言,结合HTML,快速完成站点的应用程
序。通过站点解释器执行脚本语言,产生或更改在客户端执行的脚本语言。
(8) 扩充功能的能力强,可通过使用多种程序语言制作的ActiveX Seiver Component满足自己的特殊需要。
ASP通过ADO的对象模块来存取数据库,无论采用什么数据库,只要该数据库具有对应的ODBC或OLE DB驱动程序,ADO对象就能加以存取。事实上,ASP提供的ADO对象模块包含了下列6个对象和3个集合,其41 Connection, Recordset、Command和Field对象比较常用。
Connection对象:打开或关闭数据库连接□
Recordset对象:存取表的记录,包括读取、插入、删除或更新表的记录。
Fields集合:Recordset对象所包含的Field对象的集合。
Field对象:用来表示表的某一条记录。
Cominand对象:执行查询并返回条件符合的记录(返回值为Recordset对象)„
Parametei集合:Command对象所包含的参数集合。
Parameter对象:用来表示Command对象所需要的某个参数。
Enors集合:某个方法调用失败所产生的错误集合。
Enor对象:用来表示方法调用失败所产生的某个错误。
ASP的工作流程如下:
当客户端的Web浏览器访问某一 Web站点时,浏览器将URL发送给Web服务器请求信息,Web服务器返回HIML页面响应。HTML页面可以是已经格式化并存储在Web节点中的静态页面,也可以是服务器动态创建以响应用户所提供信息的页面,或者是列出Web节点上可用文件和文件夹的页面。
当用户申请一个ASP主页时,Web服务器响应该HTTP请求,解释被申请文件。当遇到任何与ActiveX Scripting兼容的脚本(如VBSciipt和JavaScript)时,ASP引擎会调用相应的脚本引擎进行处理。若脚本指令中含有访问数据库的请求就通过ODBC与后台数据库相连,由数据库访问组件ADO执行访问数据库操作。ASP脚本是在服务器端解释执行的,它依据访问数据库后返回的结果集自动生成符合HTML语言的主页,去响应用户的请求。所有相关的工作都由Web服务器负责。
在结构关系上,ASP是通过ODBC与数据库打交道的。因此,向上可兼容各类数据库系统。而对于下层,ASP产生的HTML对客户端的浏览器又有广泛的适应性。但ASP对Web服务器本身有所挑剔,这看起来似乎是一种缺陷,而实际上也许是一种商业策略——它只支持微软各种操作系统下的Web服务器。图14-9表示了 ASP的工作原理。