在前面的讲解中,我提到了,不只是IIS可以提供对于ASP脚本的解析,因此本节我们简单介绍一下其他两种可以解析ASP的服务器端软件的配置方法。不过我仍然要提醒你,一般情况下,我们最好还是使用IIS来编写和调试ASP程序,虽然第三方软件生成可以完美的解析ASP,但是毕竟这些软件不是官方设计和编写的,或多或少的都会出现一些问题,这不利于初学者学习。
什么叫做解析环境呢?先让我们一起来回忆一下访问网站的一个过程,例如你在网上商城购买一件商品,首先你选定了一些商品,然后进行“结账”,这个时候,服务端将会返回一个页面,告诉你,订单已经生成,并且告诉你订单号码。
我们来分析这个过程,在你选定完毕商品并结账的时候,你(客户端)向网站(服务器端)提交了一个请求,在服务器端,会分析这个请求,并且将你选定的商品存放到数据库中,同时在服务器还会算出总价,并生成订单号,然后返回给客户端,不妨把这个过程画成图,如图1.49所示。
图1.49
如果你还对这个过程还不是太理解的话,我们不妨用现实生活中的例子来解释,例如你去银行取钱。你把银行卡交给柜台窗口的银行员工,而后银行员工会在其系统中你的帐户里面扣除相应的金额,同时给你现金,作为你,并不需要了解银行员工究竟是怎么操作的,你只是告诉员工,你要提取的金额,而后员工会将现金给你。
网站服务器,也就是我所说的解析环境,扮演的就是这个银行员工的角色。
也许你之前或多或少的接触过一些ASP代码,我想你已经知道,ASP代码是不用编译的,这意味着,解析环境还担负着解释ASP代码的重任,比如ASP代码中有一句“Response.Write Now()”,这时解析环境就需要首先分析这个代码,识别到,他是输出当前时间的,于是首先获取当前服务器上的系统时间,然后再输出相关字符串。
NetBox 是一个全新概念的开发平台,它提供了业界最快速的用于开发 Internet 商业应用的开发和编译工具。NetBox 支持包括 JavaScript、VBScript、Perl 等目前应用最为广泛的脚本语言来构建功能强大和性能稳定的应用服务器、网络服务器以及 HTML-Based 网络多媒体桌面应用。NetBox 支持目前最为流行的 XML 和 Web Service 工业标准和 ASP、COM、.NET 等流行标准,NetBox 对第三方数据库的完美支持使您新构建的商务应用可以容易的将已有的应用系统整合进来,从而充分利用现有的 IT 资源,大大的节约投资。NetBox 提供的 SSL、TLS 安全协议、RSA、DES 等加密算法和独立于应用程序的虚拟机技术使您的数据得到最大限度的保护。NetBox 提供将应用部署到无线设备的能力。NetBox 提供将您的应用编译成独立可执行文件的能力,极大的加快运行速度和代码安全性。使用 NetBox 开发,大大提高了应用系统的可扩展性、稳定性和安全性。NetBox 的出现也首次让应用软件开发商能够如此快速和容易的构建完整的基于 Internet 强大应用。
首先我们需要在NetBox的官方网站http://www.netbox.cn上下载最新版本的NetBox安装包,下载并安装完毕后,你会发现,NetBox并没有提供和IIS一样方便的站点管理器,这是因为NetBox是一个集成的脚本环境,他的站点配置也是通过NetBox的脚本程序来完成的。
不过不用担心,在NetBox安装时默认会将一些示范代码同时复制,在这些示范代码中已经包括了建立Web服务器的代码。
我们来打开NetBox的安装目录,如果你在安装时没有更改默认的目录,那么则应该是C:\Program Files\NetBox 8.8,我们可以发现,在这个目录下有一个名为Samples的子目录,这里存放了我们刚才说的示例代码。
打开Samples文件夹下的WebServer文件夹,你会发现,在这个文件夹中有一个名为main.box的文件,这个文件已经和NetBox建立了关联,同时,还有一个名为wwwroot的文件夹,我们需要将自己的ASP文件放在这个目录下。
而后打开main.box文件,你会发现如下的代码:
Dim httpd
Shell.Service.RunService "NBWeb", "NetBox Web Server", "NetBox Http Server Sample"
'---------------------- Service Event ---------------------
Sub OnServiceStart()
Set httpd = NetBox.CreateObject("NetBox.HttpServer")
If httpd.Create("", 80) = 0 Then
Set host = httpd.AddHost("", "\wwwroot")
host.EnableScript = true
host.AddDefault "default.ASP"
host.AddDefault "default.htm"
host.AddDefault "index.ASP"
host.AddDefault "index.htm"
httpd.Start
else
Shell.Quit 0
end if
End Sub
Sub OnServiceStop()
httpd.Close
End Sub
Sub OnServicePause()
httpd.Stop
End Sub
Sub OnServiceResume()
httpd.Start
End Sub
你可能并不理解这里面代码的含义,不过这没有关系,事实上,在阅读NetBox的帮助文档之前,是没有办法看懂这里面代码的各项功能参数的,当然,作为一个普通的ASP开发者,我们也没有必要深入了解这段代码,我将其中可能需要修改的部分告诉你。
首先来看这一行:If httpd.Create("", 80) = 0 Then,注意这里有一个80的参数,这个参数就是要建立服务器所使用的端口,因为我们可能在测试NetBox的同时,本机已经安装了IIS,那么就需要将这个80端口更改,以防和IIS已经占用的80端口冲突,这里我们不妨将其改为81,如果你没有安装IIS,则可以保留默认的80端口,这样在访问时会方便一些。
再来看Set host = httpd.AddHost("", "\wwwroot")这一行,这里的第二个参数\wwwroot即指定了ASP文件所在的目录,\wwwroot表示当前目录下的wwwroot目录,一般我们不需要更改。
启动服务器的脚本文件已经配置完毕了,我们来双击运行main.box,此时NetBox将启动可以解析ASP代码的网站服务器,你应该已经可以在系统的任务栏中看到这样的图标:,这说明服务已经启动了。
现在我们在wwwroot文件夹中新建一个helloworld.ASP文件,并将我们测试IIS时使用的代码:
<%
Dim sString
sString = "这是我的第一个ASP网页"
Response.Write(sString)
%>
写入helloworld.asp文件中,而后使用地址http://localhost:81/helloworld.asp(如果你没有更改端口,则可以直接使用http://localhost,如果你更改为其他端口,请自行修改81为你设置的端口号)。
此时网页上将会显示“这是我的第一个ASP网页”这说明,网站服务器已经成功的解析了ASP代码,你的NetBox服务器已经安装和配置成功了。
ASP Web Server是国外的一款可以解析ASP的服务器软件,他的特点就是体积非常小,只有一个110K的exe文件,运行这个文件并配置目录和端口等设置,即可启动一个可以解析ASP的网站。
ASP Web Server主要使用使用微软MFC的脚本引擎组件接口实现对ASP代码的分析和执行,如果你对此有兴趣,可以参考MSDN中的这篇文章:《A Client-side Environment for ASP Pages》,地址是:http://msdn.microsoft.com/msdnmag/issues/0900/cutting/。
当然,这款软件也有一些缺陷,作者在其主页上提到,第一:这款软件并不能很好的支持数组形式的表单元素,即,不支持list/combox组件;第二:不支持Application组件;第三:没有包含Session集合。
不过总体来说,ASP Web Server作为一个仅有110K的服务器软件,还是非常优秀的,下面我们来学习如何来使用它。
首先你需要从ASP Web Server的网站http://www.codeproject.com/internet/ASPwebserver1.asp上下载这款软件,在网页上,你会发现不仅有“Download executable” (下载可执行文件),还有“Download source”(下载源代码),这也体现了作者的开源、共享精神,如果你有兴趣,并且有C++的编程基础,那么可以下载其源代码来阅读,这对加深你对于ASP原理的理解是有很大帮助的。
下载并解压完毕后,你会发现,与其他非常复杂的服务器软件不同,这个软件仅有一个可执行文件ASP Web Server.exe,双击运行这个文件,运行界面如图1.50所示。
图1.50
如果我们还需要对站点的信息进行配置,那么点击Setting图标按钮,这时将打开配置窗口Settings,可以看到,这里共有三处需要填写,分别是端口、ASP文件所在目录以及默认文档,如图1.51所示。
图1.51
同样的,由于IIS可能占用了80端口,因此我们将这里的端口号码改为82,而后点击“OK”,回到主界面,此时需要重启服务器以使改变生肖,首先点击“Stop”图标按钮,而后点击“Start”图标按钮,你会发现,程序已经提示:“Web Server started on port 82”,这说明服务器已经正常运行,我们将测试文件helloworld.asp放入c:\webpages,并浏览http://localhost:82/helloworld.asp,此时网页上显示“这是我的第一个ASP网页”,说明服务器安装配置成功。
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛