基于ASP的动态Web设计基础 汪洁 1998年 第52期 17版 Internet/Intranet技术的日益发展,使得企业的IS部门已经认识到Intranet的优势,更使得数据库与Web的连接成为数据库开发方面的热门技术之一。由于Intranet具有跨平台及低成本等优点,所以基于Web服务器/浏览器(Web Server/Browser)结构的各种软件同传统的数据库前台开发工具(如PowerBuilder、Delph或Visual Basic)将与昂贵的群体及其他工作流软件(如Lotus Notes、Novel Group Wise)展开竞争。 人们对于Web的要求越来越高,不再只是满足于HTML所提供的简单的静态页面,而是需要灵活的动态页面。如果利用传统的公共网关接口CGI(Common Gateway Interface)来实现动态页面,不仅开发困难,而且CGI对每一个HTTP请求都将激活一个相应进程,由此造成程序挤占系统资源,降低效率,在出现大量并发请求时更是力不从心。ISAPI或NSAPI相对于CGI在效率上有了很大提高,它通过利用DLL(动态链接库)技术提高了性能和速度,但需要考虑线程同步问题,所以开发起来比较麻烦。而Java的执行效率较低,开发也比较困难。至于完全的客户端VBScript和JavaScript以及IDC(Internet Database Connector)则功能有限,不能满足较高的要求。 微软的Active Server Pages(支持Active技术的服务器页,简称ASP)是一种应用程序环境,它使所有的开发者可以使用几乎所有的开发工具来组合HTML代码,这些脚本可以利用本地服务器或远程服务器上运行的组件来存取数据库、应用程序或处理信息。因此,可利用ASP来直观、简易地实现强大的Web应用程序。 ASP的工作原理:用户浏览器从WEB服务器上请求 *.ASP文件时,ASP脚本在服务器上开始执行。然后WEB服务器调用ASP,ASP全面读取请求的文件,执行所有脚本文件,并将ASP执行结果的常规HTML码(WEB页)传送给用户浏览器。 #1 一、ASP的优点 ASP具有以下几个优点: 1.开放性 在IIS(Microsoft Internet Information Server) 3.0上,并不需要开发者使用一个专有的脚本语言来生成网络应用程序,实际上Active Server Pages 包括了对VBScript和JavaScript/JScript的本机支持。通过第三方组合组件,它还可以使用其他语言(如Perl、REXX和Tcl)。多个脚本语言甚至可以在相同的ASP文件中交替使用并相互调用。而ActiveX Server组件实际上可以用任何语言编写,这些语言包括Java、Visual Basic、C++、COBOL等等。 2.易操作性 ASP使HTML设计人员可以在服务器上方便地“激活”他们的Web页面,可以立刻对定制化网页和简单的应用程序进行开发。以往需要用PERL或C编写复杂的CGI程序来完成功能(如数据库连接),现在若使用ASP,只需要几行简单的代码就能够实现。 3.程序与外观分离 通过使用脚本和组件,Active Server Pages允许用户将编程工作与一个网页的设计和其他工作分离开来。这样就可以确保开发者能够将主要的精力用来考虑编写程序的逻辑,而不必担心外观是怎样的。同时,它也是那些外观设计的人员可以利用一些工具来对网页进行修改,而不用过于关心编程问题。 4.非手工编译 ASP的即时编译系统在被请求时自动对ASP源文件重新编译,并将其载入服务器的高速缓存中。因此,开发者对ASP文件的修改可在浏览器中立即得到反应,只需要简单的保存该文件并在浏览器中刷新即可。 5.浏览器独立性 ASP提供了一种浏览器中枢方案来完成应用程序的设计工作。因为用于生成动态内容的脚本可以在服务器上执行,所以开发者不必担心客户用什么浏览器来浏览网点。 #1 二、ASP基础 对开发者来说,要想熟练掌握ASP,则还需要了解以下三个方面的知识:Active Scripti ng(Active脚本编程)、内建对象和基本组件。 #1 1.Active Scripting(Active脚本编程) Active Scripting就是用VBScript、JavaScrip/JScript和Perl等脚本语言并遵照ASP的语法规则编写出的程序,这并不复杂,只需要使用“〈%”和“%〉”这两个定界符即可。例如下面的程序“〈%UserName=%〉”将在浏览器上显示“Anny”这四个字符。 完整的源代码(包括HTML代码)如下: HTML〉 HEAD〉 〈TITLE〉〈/TITE〉 〈/HEAD〉 〈BODY〉 〈%UserName=“Anny”%〉 用户名:〈%UserName%〉 〈/BODY〉 〈/HTML〉 再看一看如下HTML代码(hello.asp):
<% For i = 3 To 7 %> > 你好!