摘要:本文通过一个实例详细介绍了Web应用程序的原理,利用C++Builder开发Web应用程序的过程。
Web应用程序是运行在服务器端的可执行程序或动态连接库。它们可以响应用户要求,动态产生超文本页面,并将信息提供给客户浏览器。
一般来说,Web应用程序可分为五种类型,分别是ISAPI、NSAPI、CGI、WinCGI、Activex。这五种不同的方式都有各自的限制,也就是说,这些方式将会限制Web服务器和前端浏览器的类型。如下表所示:
| Web应用程序 | 后端操作系统 | Web服务器 | 前端浏览器 |
| ISAPI | Window NT | MS-IIS | 无限制 |
| NSAPI | 无限制 | Nescape Server | 无限制 |
| CGI | 无限制 | 无限制 | 无限制 |
| WinCGI | Window3.1 | 16位Web服务器 | 无限制 |
| Activex | Window NT | MS-IIS | MS-IE |
由于上述Web应有程序的标准定义并不相同,程序的写法各异,这样就给开发者造成不小的困挠,因为你不太可能了解每一种标准的写法。而C++Builder可以很好地解决这个问题。C++Builder将Web应有程序的做法封装成组件,让开发者面对的是一致的开发界面,一致的开发原理,唯一不同的地方在于开始产生程序时所选择的程序结构,至于程序的编写细节和方式都一模一样。
创建一个简单的Web应用程序
首先,点击C++Builder IDE 菜单File | New option 选中 Web Server Application 图标 (见图 1). 
图1
接下来,我们有如图2所示三种选择:
图2
CGI (Common Gateway Interface)运行时需要一个独立的进程,而ISAPI/NSAPI动态连接库运行时则映射到Web服务器进程中,比CGI需要较少的资源。ISAPI/NSAPI动态连接库的这个特点也造成了调试时的不方便,因此较好的办法是先创建一个CGI程序,调试它,然后再把它转化成ISAPI/NSAPI动态连接库。所以在这里我们选择"CGI Stand-alone executable"。
这样,我们就得到了一个TWebModule 对象, 如图3: 
图3 空白的Web模块
我们下面讨论一下Web应用程序是如何工作的。Web应用程序实际上是Web服务器在功能上的扩展,就好像Windows应用程序是Windows在功能上的扩展一样。当Web应用程序从Web服务器检索到一个HTTP请求消息时,就对HTTP请求消息进行分析,生成HTML页面传递给Web服务器,再由Web服务器传递给客户。
更多内容请看C/C++技术专题 C/C++进阶技术文档 C/C++相关文章专题,或进入讨论组讨论。
·Wlan组网----家庭专题 (3465篇文章)
·C/C++进阶技术文档 (651篇文章)
·C/C++应用实例 (95篇文章)
·C/C++相关文章 (117篇文章)
·C++Builder如何响应消息及自定义消息 (455次浏览)
·正确使用 C++Builder组件缩写代码 (21次浏览)
·C++Builder 编程指南1 (16次浏览)
·掌握C++Builder的调试艺术 (11次浏览)
·在C++Builder中自定义预览窗口 (11次浏览)
·用C++Builder5.0设计九宫排字游戏 (9次浏览)
·如何在C++Builder中使用全局变量 (8次浏览)
·C++Builder中“异形”按钮的实现 (8次浏览)
·用C++BUILDER实现POP3电子邮件的接收 (7次浏览)
·用C++Builder5.0设计九宫排字游戏 10-09
·C++Builder 编程指南1 10-09
·掌握C++Builder的调试艺术 10-09
·C++Builder与Matlab混合编程的实现 10-09
·C++Builder实现在线接收电子邮件 10-09
·用C++BUILDER实现POP3电子邮件的接收 10-09
·如何在C++Builder中使用全局变量 10-09
·C++Builder中“异形”按钮的实现 10-09
·正确使用 C++Builder组件缩写代码 10-09



