当我们访问微软的网站时,我们会注意到有很多页面的后缀为.asp,那就是所谓的ActiveX Server Page.那它有什么用处呢?你总应该知道CGI吧?简单点说,它是对WWW 服务器的增强,让原来的那种仅仅由浏览器从服务器取得W3页面的工作方式有所改变,它可以让服务器接收来自浏览器的信息,也就是所谓的动态主页。以前的动态主页主要用CGI和Javascript来实现。至于CGI,我不是好熟,因为CGI盛行的时代,我还在学校念书呢,这些东西于我有什么相干?不过Windows下的CGI,我在那些参考书上看到,好复杂呀,一大堆代码,不仅要懂得CGI的工作原理,还要是个编程高手,我最烦那些枯燥的代码了。
后来呢,微软为我们编了一个通用的“CGI”,叫ISAPI,听说要调用dll,哎呀,那就更麻烦了,简直要专家才能懂得它那东西。微软看到这个样子,便编了一个更简单的玩意,叫IDC( Internet Database Connector),这是个好东西,我用过,只要你会写几条SQL语句就行了,做点数据库查询,真是愉快。不过后来,我逐渐逐渐对它不满意了,功能太有限了,而且,我在网上没有看到用它的例子,没有人使用的东西,肯定不是好东西:)
做动态主页的技术,还有Java,Java Script,还相当流行呢,不过同样功能有限(见鬼的安全问题),而且,他们都需要浏览器支持,否则,你将得到消息:"Your browser don't suport Java"。
我现在要极力推荐给大家的就是ActiveX Server Page,ActiveX,听起来挺神秘的,不过其实很简单(当然,我也是初学,所以,让我们一道来学习吧),我将在这里做些简单的介绍,文字上,就请大家不要对我太苛刻了:),还有,这方面的高手就不要继续往下看了,你们来到这里的任务是给我们大家传传道,而不是看我的东西来消磨时间:)
我看到许多讲语言的书上都是以"Hello World"作为第一个例子,那么,就先让我们给世界问一声好吧。
第一步,打开一个文本编辑器(比如,Notepad),粘贴下面的代码到里边去:
Hello World!
然后以文件名Hello.asp存盘,注意:如果用Notepad,存盘时选择文件类型为所有类型,否则,你的文件名将变成Hello.asp.txt(该死的长文件名)。然后,---就行了吗?哦NO!如果你直接用浏览器来打开它,浏览器一定问你要不要下载它。怎么回事呢?原来ASP文件要由服务器端的ASP部件来解释,所以,
第二步,你必须将他放在W3服务器的目录下,比如NT上的IIS,就放在\Inetpub\wwwroot下的某个目录下,Windows 上的 Personal WebServer,就放在\webshare\wwroot下的某个目录下,然后,哦,还不行,你必须确保你的服务器上安装了ASP,否则,服务器才不知道ASP是什么东西呢。ASP这块东西有9M多,我的主页空间有限,所以........不过,大家可以到深圳在线去下,地址是:http://software.szonline.net/idcproc/readrecord.idc?m_softwareid=187 或者:ftp://ftp.szonline.net/Win40fix/asp/IISasp.exe (哈,这里有一个使用IDC的例子)。不要嫌麻烦,这是个好东西。另外,有些Office 97(更正,应是Front Page 98, 9.26)的光盘里有一个60 Minute Intranet Kit目录,下面也有这个(这下简单了)。它是一个可执行文件,双击,一切就OK了。(进一步说明,如果您用的是IIS40,那就什么也不用下了,9.26)
第三步,现在,你打开浏览器,输入 "http://yourservername/asp/Hello.asp",asp是你在wwwroot下建立的目录,"Hello World",就这么简单。
(NEW ! 9.23)大家可以点击这里,看一看效果。(说明:这里的例子是用 Perl 作为脚本做的,因为太阳城的ASP目前只支持 Perl)。点这里看 Hello.asp的Perl 脚本。
现在,让我们回过头来,分析一下上面的脚本,你会发现同HTML脚本比较,它多了两个符号<%和%>,对了,这就是ASP的定界符,他将一般的HTML脚本同ASP代码分隔开来,他中间的代码就是ASP“语言”,你会说,怎么这么眼熟,当然了,他的语法跟Visual Basic差不多嘛。ASP的脚本语言可以是任何Script语言,不过你得提供相应的引擎,ASP本身支持VBscript 和JavaScript,到底使用哪一种,可以由你决定。你只需在使用ASP脚本前用一句<script LANGUAGE="VBScript" RUNAT="Server">或者<script LANGUAGE="JavaScript" RUNAT="Server">就行了。缺省的是VBscript,微软的嘛。
那,asp的执行是怎么一个过程呢?在你从浏览器输入了.asp文件的地址后,浏览器就将这个URL请求发给服务器,如果服务器上装了ASP,那么他一看到是.asp后缀名,就调用ASP,ASP读出相应.asp文件,解释执行后,将结果给W3服务器,然后,W3服务器把结果发给浏览器,浏览器看到的是结果,他根本不知道asp文件是怎么回事。你可以在浏览器调出Hello.asp后,选菜单查看源文件,根本与你编的.asp文件不同!你也许要说,他跟CGI的原理不是大同小异吗?是呀,不过不要编译嘛,最主要的是简单!
好了,我手都敲痛了,这次学习了一些基本的东西,下一次我们将用他来实现数据库应用