999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

運用C++ Builder6開發ISAPI的Web服務器應用程序

2008-12-31 00:00:00丁鵬飛
電腦知識與技術 2008年27期

摘要:通過對開發工具的分析和對使用最為廣泛的服務器端程序標準CGI(Common Gateway Interface)、ASP(Active Server Page)和ISAPI(Internet Sever Application Programming Interface)比較,提出了運用C++ Builder開發ISAPI的Web服務器應用程序。利用C++ Builder對數據庫的強大支持能力和強大的網絡編程功能,開發安全、高效、可靠的Web服務器應用程序。

關鍵詞:ISAPI;安全;控件;BDE(Borland Database Engine);數據庫

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)27-1998-01

Using C++ Builder6 to Develop ISAPI for Web Server Program

DING Peng-fei

(Xi'an Institute of Post Telecommunications,Xi'an 710121, China)

Abstract:In this paper,we anlynazed the advantages of development tools,compared the characters of CGI(Common Gateway Interface)、ASP(Active Server Page) and ISAPI(Internet Sever Application Programming Interface) which is the most popular server teminanl progam standard.Using the good abilty of suporting database and the network programming to develop safe、high efficient and credible Web server application program.

Key words: ISAPI; safe; components; BDE; database

通過對C++ Builder開發工具的分析,使用最為廣泛的Web服務器端程序標準CGI(Common Gateway Interface,公共網關接口 )、ASP(Active Server Page)、ISAPI(Internet Sever Application Programming Interface)的比較,提出了利用C++ Builder開發ISAPI的Web服務器應用程序。

1 C++ Builder開發工具的比較

C++Builder沿襲了Delphi的優點,繼承了visual c++、Borland c++等開發工具的優點,在底層控制方面表現出色。C++Builder中嵌入了Delphi中所使用的高效率的VCL(Visual Component Library可視化組件庫)。

C++Builder具有強大的數據庫應用開發功能,它提供了強大的數據庫處理功能。C++Builder具有強大的網絡編程功能,它具有眾多的Internet應用開發控件,它們基本涵蓋了Internet應用的全部功能。

2 使用最為廣泛的服務器端應用程序標準CGI、ASP和ISAPI的比較

目前,使用最為廣泛Web服務器端程序標準有CGI、ASP、ISAPI。ASP編程簡單,但執行效率較低。ISAPI目前已經成為標準的技術,這種技術使用一些專有的API,使服務器接受客戶的寫的DLL程序,并將常駐內存。在裝入DLL后,服務器可以通過主進程中的線程執行單個請求,不像在CGI應用程序那樣,必須重新啟動一個EXE。

3 使用C++ Builder開發ISAPI DLL的相關組件介紹

C++Builder組件Internet頁中和Web服務器應用程序相關的組件有TPageProducer組件、TDataSetPageProducer組件、TQueryTableProducer組件和TDataSetTableProducer組件,這些HTML制作器組件可以方便建立HTML頁面。

通過研究發現,利用TPageProducer的HTMLFile屬性設置該組件的HTML文件,同時,將該文件中需要顯示數據庫信息的地方用特殊標記予以表示,并在應用程序中將特殊標記用合適格式的數據庫數據進行替換。這樣可以利用HTML編輯器制作布局美觀的HTML文件,同時利用應用程序動態替換HTML中的特殊標記,從而快速構建動態交互網站。

4 利用C++ Builder創建ISAPI的Web服務器應用程序

在C++ Builder6中創建ISAPI的Web服務器應用程序的步驟:

1)從“File”菜單中選擇“New/other”選項,在彈出的對話框中選擇New頁中的Web Server Applicatio項,在彈出的對話框中選擇“ISAPI/NSAPI Dynamic Link Library”,單擊“OK”,并保存工程。

2)在步驟(1)結束后,將會產生Webmodule容器,在該容器中添加下面的組件并設置相應的屬性:

將Table組件并放置于Webmodule容器中,將其Database屬性設置成你的數據庫別名或者數據庫的絕對路徑。將TableName屬性設置成數據庫表名。

將PageProducer組件并放置于Webmodule容器中,將其HTMLFile屬性設置成要反饋給客戶端的包含路徑的HTML文件。

3)在程序框架上創建ActionItem:

在產生的Webmodule容器中,雙擊鼠標左鍵激活Action Editor對話框,在這個對話框中單擊Add按鈕為程序添加一個ActionItem。

在Action Editor中選中新建的ActionItem,在Object Inspector設置ActionItem的屬性,Enabled設置為true,MethodType設置為mtAny,Default設置為ture。

4)為ActionItem編寫事件代碼:

選中ActionItem項,在Object Inspector中選擇Event頁,在OnAction項中雙擊鼠標左鍵,彈出該事件的相應函數,在該函數中寫入該事件的相應代碼。

5)將此項目命名保存,然后編譯生成dll的動態鏈接庫。此dll文件即是我們需要的Web服務器應用程序。

5 Web服務器應用程序如何判斷客戶端的請求以及如何獲取客戶端的信息

在ActionItem有多個請求的響應函數時,Web服務器應用程序如何判斷請求呢?通過下面的例子加以說明。

if(Request->ContentFields->Text.Pos(\"ShowLeaveWord\")!=0)

{ShowLeaveWord(Request,Response);}

else

{

if(Request->ContentFields->Text.Pos(\"AdminReg\")!=0)

{AdminReg(Request,Response);}

}

在這個例子中,如果客戶端的請求時有按鈕的name值為ShowLeaveWord的網頁提出的,則Web服務器應用程序調用ShowLeaveWord(Request,Response)。Web服務器應用程序正是通過判斷Text.Pos()的值是否不為0來判斷是由那個按鈕提出的請求,從而調用不同的響應函數。

獲取客戶端的提交信息:客戶端提出請求的網頁的Method可以設置成Post或Get。如果請求頁的Method值為Post時,Web服務器應用程序通過Request的ContentFields屬性獲取客戶端的提交信息,如這個語句“temp=Trim(Request->ContentFields->Values[\"title\"]);”的功能是將name為title的文本框(或文本域等)中的輸入值賦給temp1。如果請求頁的Method值為Get時,Web服務器應用程序通過Request的QueryFields屬性獲取客戶端的提交信息。

6 結束語

以上所介紹的方法是開發Web服務器應用程序的基本方法。利用C++ Builder開發基于基于網絡環境下的應用程序不失為一種有效的方法,與利用Visual C++、ASP和Delphi等開發工具相比,具有自己獨特的優勢。

參考文獻:

[1] 劉濱.C++ Builder4高級編程實例精解[M].北京:國防工業出版社,2000.

[2] 常新功.用ISAPI編寫Internet服務器應用程序[J].微機發展,2002,12(2):76-78.

[3] 熊錫義.動態網頁設計[M].北京:清華大學出版社,北京交通大學出版社.2004.

主站蜘蛛池模板: 美女潮喷出白浆在线观看视频| 国产精品无码一区二区桃花视频| 在线一级毛片| 色综合成人| 亚洲第一中文字幕| 在线看免费无码av天堂的| 91在线播放免费不卡无毒| 欧美另类图片视频无弹跳第一页| 久久精品无码中文字幕| 久久精品娱乐亚洲领先| 亚洲欧美在线综合一区二区三区| 五月婷婷精品| 老司机精品一区在线视频| 色视频久久| 四虎成人免费毛片| 欧美性色综合网| 国产福利小视频高清在线观看| 午夜毛片免费观看视频 | 亚洲色图在线观看| 亚欧乱色视频网站大全| 亚亚洲乱码一二三四区| 在线观看无码a∨| 精品福利视频网| 日本伊人色综合网| 亚洲福利网址| 71pao成人国产永久免费视频 | 91亚洲精选| 东京热av无码电影一区二区| a级毛片毛片免费观看久潮| 亚洲女同一区二区| 欧美精品1区| 国产在线日本| a色毛片免费视频| 无码不卡的中文字幕视频| 欧美日韩国产在线观看一区二区三区| 丁香六月综合网| 欧美成人国产| 综合社区亚洲熟妇p| 亚洲欧美日韩色图| 国产黄色片在线看| 国产a v无码专区亚洲av| 国产国语一级毛片| 免费看a级毛片| 国产午夜人做人免费视频中文| 国产麻豆福利av在线播放| 色综合中文| 国产精品尹人在线观看| 亚洲男人在线天堂| 草草影院国产第一页| 人妻中文久热无码丝袜| 国产嫩草在线观看| 欧美国产另类| 国产成人啪视频一区二区三区 | 免费国产高清精品一区在线| 国产99在线| 国产一在线| 亚洲精品成人福利在线电影| 在线播放真实国产乱子伦| 亚洲国产精品日韩专区AV| 国产欧美精品一区二区| 国产视频你懂得| 国产精品不卡片视频免费观看| 99视频在线观看免费| 亚洲二区视频| 99久久国产自偷自偷免费一区| 国产区免费精品视频| 日本精品中文字幕在线不卡| 91精品国产一区自在线拍| v天堂中文在线| 天堂亚洲网| 成人福利在线视频| 无码电影在线观看| 亚洲国产欧洲精品路线久久| 亚洲,国产,日韩,综合一区 | 久热re国产手机在线观看| 伊人无码视屏| 中国毛片网| 精品欧美视频| 色窝窝免费一区二区三区| 国产91精品调教在线播放| 亚洲综合第一区| 综合人妻久久一区二区精品|