用C++ Builder开辟Web程序[VC/C++编程]
本文“用C++ Builder开辟Web程序[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Web利用程序是运行在服务器端的可执路程序或动态链接库.它们可以呼利用户要求,动态产生超文本页面,并将信息供应应客户浏览器.
由于Web利用程序的尺度并不相同,程序的写法各异,这样就给开辟者造成不小的困扰,因为开辟人员不太大概理解每一种尺度的写法.而C++ Builder可以很好地办理这个问题. C++ Builder将Web利用程序的开辟封装成组件,使开辟者面对一致的开辟界面,利用一致的开辟原理,惟一差别的地方在于开始产生程序时所挑选的程序构造,至于程序的编写细节和方法都一模一样.本文通过两个实例介绍操纵C++ Builder开辟Web利用程序的具体步骤.
简单的Web程序
首先,点击C++ Builder IDE 的菜单项File|New option,选中 Web Server Application 图标.
由于CGI(Common Gateway Interface)运行时需求一个独立的进程,而ISAPI/NSAPI动态链接库运行时要映射到Web服务器进程中,所以ISAPI/NSAPI需求的资源比CGI要少.但ISAPI/NSAPI动态链接库的这个特点为调试程序造成了一定的艰难,因此较好的办法是先成立一个CGI程序,并举行调试,然后再把它转化成ISAPI/NSAPI动态链接库.所以在这里挑选"CGI Stand?alone executable",生成一个TWebModule 对象.
Web利用程序实际上是Web服务器在功效上的扩大,就仿佛Windows利用程序是Windows在功效上的扩大一样.当Web利用程序从Web服务器检索到一个HTTP恳求消息时,就对HTTP恳求消息举行解析,生成HTML页面传送给Web服务器,再由Web服务器传送给客户.C++ Builder Web利用程序的一个关键部件是Web Module,它汇集和管理着一组TwebActionItem对象,用TwebRequest对象来描写HTTP恳求消息,并按照HTTP恳求消息来指派此中一个行动去呼应客户的恳求,实际上就是填写TWebResponse对象的Content特点.
一个Web利用程序可以成立若干个行动项,以供Web调度器(TwebDispatcher)指派.C++ Builder 是用一个专门的行动项编辑器(Action Editor)来成立和管理行动项的.右键单击Web模块,在弹出的菜单中挑选"Action Editor"号令.然后增添一个行动项,通过它的PathInfo属性可以设置行动项在Web服务器上的进口途径,而default属性设置当PathInfo属性为空时该行动项能否履行.
为该行动项编写以下代码:
void __fastcall TWebModule1::WebModule1WebActionItem1Action(TObject *Sender, TWebRequest *Request, TWebResponse *Response,bool &Handled)
{
AnsiString cont = AnsiString("<HTML>
<BODY><H3>Hello!</H3>");
cont = cont + AnsiString("<BR>");
cont = cont + AnsiString("<H2>Now is") + TimeToStr(Time()) +AnsiString("</H2>");
cont = cont + AnsiString("</BODY>
</HTML>");
Response->Content = cont;
}
在处理行动项的OnAction事件的句柄中,可以通过Request参数来拜候客户的恳求消息.要呼应客户的恳求,实际上就是把用HTML描写的页面赋值给Response的Content属性,Web调度器会自动把呼应后果传送给Web服务器,再由Web服务器传送给客户.
至此,一个简单的Web利用程序成立完毕,目前可以通过Web浏览器测试它(运行界面如图3所示).要注意的是Web利用程序所在途径应有可履行权限.
处理用户输入的Web程序
下面在上述例子的底子上持续成立一个用于处理用户输入的Web程序.再增添一个行动项TWebActionItem.在WebModule1加入TPageProducer 对象,操纵它事前预备好的HTML模板生成HTML文档.
首先,操纵Microsoft FrontPage 做一个运行后如图5所示的用户输入表(HTML代码略).
为TWebActionItem2的OnAction 事件编写以下代码:
void __fastcall TWebModule1::WebModule1WebActionItem2Action(TObject *Sender, TWebRequest *Request, TWebResponse *Response,bool &Handled)
{
Response->Content=PageProducer1->Content();
}
以上是“用C++ Builder开辟Web程序[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |