NetBox 的一大功能就是内置支持了 HttpServer 和 asp。下面就按步骤建立一个以服务方式运行的 WEB 服务器。
第一步:创建 WEB 服务器
由于 NetBox 提供了 HttpServer 对象,所以建立一个新的 HttpServer 并且启动、停止、退出,自然便是由 HttpServer 对象来实现,main.box 的代码也就比较简单了:
Set Console = Shell.Console
Set httpd = CreateObject("NetBox.HttpServer")
If httpd.Create("", 80) = 0 Then
httpd.Start
Console.ReadLine
httpd.Stop
httpd.Close
End If
Set httpd = Nothing
在上面的代码中,先创建一个新的 HttpServer,然后在所有的本机地址的 80 端口创建一个服务器,如果创建成功,则启动服务器,等待用户在控制台上输入回车后停止并关闭服务器。
运行这个程序,如果当前系统中未安装其他 Web 服务器,则此程序会显示控制台并等待回车,否则将直接退出。呵,我们的第一个程序都是很拙劣的。没有关系,我们一步一步来。
如果成功运行了程序,便可以用浏览器访问了,由于服务器装在本机,所以打开浏览器,在地址栏输入“http://localhost/”,哈,结果出来了,不过很不好看:
418 Host Not Found
不管想访问什么,都只会是这个结果。这样的结果显然不能满足要求,所以我们需要改进我们的 Web 服务器。
第二步:添加虚拟主机
前面我们建立的服务器之所以总是返回禁止访问,原因是没有为服务器建立主机信息。所以我们修改代码,使用 AddHost 方法增加主机信息的部分:
Set Console = Shell.Console
Set httpd = CreateObject("NetBox.HttpServer")
If httpd.Create("", 80) = 0 Then
httpd.AddHost "", "\wwwroot"
httpd.Start
Console.ReadLine
httpd.Stop
httpd.Close
End If
Set httpd = Nothing
在 NetBox 执行目录建立一个子目录 wwwroot,然后复制一些网页进去。我们再来看看效果如何。执行程序并再次访问“http://localhost/”,结果居然还是“403 Forbidden”。再访问 wwwroot 目录中已有的文件,哈哈,出现正确内容了。所以,实际上主机已经建立出来,但是未给主机提供缺省文件名。
第三步:添加缺省文件
为了让主机知道当用户访问目录时向用户返回的文件,需要使用 AddDefault 方法为主机添加缺省文件名,修改代码如下:
Set Console = Shell.Console
Set httpd = CreateObject("NetBox.HttpServer")
If httpd.Create("", 80) = 0 Then
Set host = httpd.AddHost("", "\wwwroot")
host.AddDefault "default.htm"
httpd.Start
Console.ReadLine
httpd.Stop
httpd.Close
End If
Set httpd = Nothing
我们再访问“http://localhost/”的时候,会发现不再显示禁止访问,而是开始出现了缺省页面的内容。如果给定的缺省文件不存在,则返回“404 File Not Found”。
第四步:支持服务器脚本
上面的步骤建立出来的 Web 服务器,是一个纯静态文件的服务器,是无法执行服务器脚本程序的,为了让我们的 Web 服务器能够理解服务器端脚本程序,需要修改 EnableScript 属性,同时为了让服务器能够使用脚本程序做为缺省文件,还需要再添加一个缺省文件,下面是新修改的代码:
Set Console = Shell.Console
Set httpd = 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"
httpd.Start
Console.ReadLine
httpd.Stop
httpd.Close
End If
Set httpd = Nothing
接下来,我们就可以在 wwwroot 目录里建立我们的 asp 脚本程序了,建立 test.asp:
<%Response.Write "Hello"%>
NetBox 也支持服务器 box 程序,在 wwwroot 目录中建立 test.box:
Response.Write "Hello"
第五步:以服务方式运行
到目前为止,已经有一个相对完整的 Web 服务器程序了,下面我们需要将这个服务器改写为系统服务程序,可以将其安装成为一个系统服务,更加便于运行维护。改写成为服务程序需要使用 Service 对象。
下面便是一个完整的 Web 服务程序的代码,关于 Service 对象的更多信息请参阅手册相关内容。
Dim httpd
Shell.Service.RunService "NBWeb", "NetBox Web Server", "NetBox Http Server Sample"
---- Service Event ---
Sub OnServiceStart()
Set httpd = 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"
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
总结
实现一个完整的 Web 服务程序,需要 HttpServer,HttpServerHost,Service 三个对象的支持,HttpServer 负责建立服务器并控制服务器的运行状态,HttpServerHost 负责建立主机信息, Service 则负责完成与服务程序相关的操作。
1、HTML语言写的html页面2、动态的web就是运用数据库的web网站
3、发展历程。。。略过。
4、PHP免费开源,安全性好,应用平台广,轻量级的语言,现在正处飞速上升阶段。语言相对java或者C这些语言还不够完善不够强大。但是对于做大多数网站都是没问题的,除非是一些机关网站或类似的安全级别的网站需要用java开发,其余都可以用PHP开发。所以在完善和安全上比java要差,据我了解也不如.net语言成熟。
5、bs与cs,通俗点讲:bs都是需要用浏览器打开的,也就是说bs架构的产品只要你有浏览器就可以用。而cs结构,都是需要下载的客户端软件。比如你的音乐播放器等等。
如果哪里说得不恰当的还请各位指出并加以改正。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)