Delphi 6程序設(shè)計(jì)及其應(yīng)用開(kāi)發(fā)--第7章 創(chuàng)建Web服務(wù)器程序.ppt_第1頁(yè)
Delphi 6程序設(shè)計(jì)及其應(yīng)用開(kāi)發(fā)--第7章 創(chuàng)建Web服務(wù)器程序.ppt_第2頁(yè)
Delphi 6程序設(shè)計(jì)及其應(yīng)用開(kāi)發(fā)--第7章 創(chuàng)建Web服務(wù)器程序.ppt_第3頁(yè)
Delphi 6程序設(shè)計(jì)及其應(yīng)用開(kāi)發(fā)--第7章 創(chuàng)建Web服務(wù)器程序.ppt_第4頁(yè)
Delphi 6程序設(shè)計(jì)及其應(yīng)用開(kāi)發(fā)--第7章 創(chuàng)建Web服務(wù)器程序.ppt_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第7章 創(chuàng)建Web服務(wù)器程序,本章要點(diǎn) 7.1 Internet概述 7.2 Web服務(wù)器程序簡(jiǎn)介 7.3 ISAPI編程 7.4 CGI編程 7.5 ISAPI DLL和CGI之間的相互轉(zhuǎn)化,本章要點(diǎn),在Internet概述的基礎(chǔ)上,對(duì)Web服務(wù)器程序進(jìn)行闡述。 結(jié)合實(shí)例說(shuō)明了ISAPI編程。 結(jié)合實(shí)例說(shuō)明了CGI編程。,返回本章首頁(yè),7.1 Internet概述,7.1.1 術(shù)語(yǔ)與標(biāo)準(zhǔn) 7.1.2 統(tǒng)一資源定位器 7.1.3 超文本標(biāo)記語(yǔ)言 7.1.4 HTTP服務(wù)器活動(dòng),返回本章首頁(yè),7.1.1 術(shù)語(yǔ)與標(biāo)準(zhǔn),與Web服務(wù)器應(yīng)用程序相關(guān)的幾個(gè)重要RFC標(biāo)準(zhǔn)包括: RFC822:ARPA l

2、nternet文本報(bào)文標(biāo)準(zhǔn),描述了報(bào)文頭標(biāo)的結(jié)構(gòu)和內(nèi)容。 RFC152l:MIME第一部分,描述封裝和傳遞多種格式和多段Internet信息的方法。 RFCl945:超文本傳輸協(xié)議(HTTP協(xié)議),描述了多媒體文檔的傳輸協(xié)議。,返回本節(jié),7.1.2 統(tǒng)一資源定位器,URL對(duì)網(wǎng)絡(luò)資源的位置提供了一種抽象的識(shí)別方法,并用這種方法給資源定位。這里的資源是指Internet上可以被訪問(wèn)的任何對(duì)象,包括文件、文檔、圖像、聲音等等,以及與Internet相連的任何形式的數(shù)據(jù)。URL是一個(gè)字符串,它的一般格式如下: 協(xié)議:/主機(jī)名/腳本文件名/路徑信息?查詢條件。,返回本節(jié),7.1.3 超文本標(biāo)記語(yǔ)言,HT

3、ML文檔通過(guò)標(biāo)記(Tag)和屬性(Attribute)對(duì)超文本的語(yǔ)義進(jìn)行描述。HTML雖然本質(zhì)上并不是編程語(yǔ)言,但它卻是在開(kāi)發(fā)HTML文檔時(shí)必須遵守的一套嚴(yán)格而且簡(jiǎn)明易懂的語(yǔ)法規(guī)則。也就是說(shuō),如果一個(gè)文檔是基于HTML標(biāo)準(zhǔn)的,則可以解釋某些標(biāo)記的含義。,返回本節(jié),7.1.4 HTTP服務(wù)器活動(dòng),Web瀏覽器和Web服務(wù)器之間通過(guò)HTTP協(xié)議進(jìn)行通信。 HTTP請(qǐng)求分為兩種類型,一種是GET請(qǐng)求,另一種是POST請(qǐng)求。 Web服務(wù)器接收到客戶請(qǐng)求之后,將根據(jù)配置信息執(zhí)行一定數(shù)量的活動(dòng)。當(dāng)Web服務(wù)器應(yīng)用程序完成客戶請(qǐng)求之后。必須構(gòu)造一個(gè)HTML頁(yè)面或其他MIME內(nèi)容,并傳輸給客戶。,返回本節(jié),7

4、.2 Web服務(wù)器程序簡(jiǎn)介,7.2.1 Web服務(wù)器程序的種類 7.2.2 Web服務(wù)器應(yīng)用程序的邏輯結(jié)構(gòu) 7.2.3 調(diào)試服務(wù)器程序,返回本章首頁(yè),7.2.1 Web服務(wù)器程序的種類,Delphi 6中可以創(chuàng)建的Web服務(wù)器程序包括: CGI程序、Win-CGI程序和ISAPI(Microsoft Server DLL)、NSAPI(Netscape Server DLL)。,返回本節(jié),7.2.2 Web服務(wù)器應(yīng)用程序的邏輯結(jié),圖7-1 Web服務(wù)器程序的邏輯結(jié)構(gòu),返回本節(jié),7.2.3 調(diào)試服務(wù)器程序,不同類型的Web服務(wù)器程序,需要在支持相應(yīng)的服務(wù)器程序的服務(wù)器上進(jìn)行。調(diào)試ISAPI或NS

5、API類型的程序,則要求在支持這種服務(wù)器程序的服務(wù)器上進(jìn)行??梢栽诜?wù)器中編寫一定的代碼,作為用戶請(qǐng)求直接調(diào)用這些服務(wù)器程序生成的DLL;而調(diào)試CGI和WinCGI類型的服務(wù)器程序就比較困難一些,需要在服務(wù)器上執(zhí)行這些程序,并且需要編寫代碼作為用戶請(qǐng)求的信息。,返回本節(jié),7.3 ISAPI編程,7.3.1 返回靜態(tài)頁(yè)面 7.3.2 返回動(dòng)態(tài)頁(yè)面 7.3.3 接收用戶輸入的ISAPI DLL 7.3.4 一個(gè)完整的Web數(shù)據(jù)庫(kù)應(yīng)用程序,返回本章首頁(yè),7.3.1 返回靜態(tài)頁(yè)面,其步驟(具體制作如圖7-27-10所示): 1新建項(xiàng)目 2程序框架 3創(chuàng)建ActionItem 4為ActionItem編

6、寫代碼 5設(shè)置服務(wù)器 6編譯ISAPI動(dòng)態(tài)鏈接庫(kù)程序 7調(diào)試ISAPI動(dòng)態(tài)鏈接庫(kù),圖7-2 選擇Web Server Application,圖7-3 選擇生成Web服務(wù)器程序的類型,圖7-4 ISAPI動(dòng)態(tài)鏈接庫(kù)的框架,圖7-5 Action Editor對(duì)話框,圖7-6 使用對(duì)象監(jiān)視器為ActionItem設(shè)置屬性,圖7-7 選擇存放ISAPI動(dòng)態(tài)鏈接庫(kù)的目錄,圖7-8 設(shè)置scripts目錄為可執(zhí)行的,圖7-9 設(shè)置編譯后的文件后綴名為dll,圖7-10 瀏覽器中顯示由ISAPI動(dòng)態(tài)鏈接庫(kù)生成的靜態(tài)HTML頁(yè)面,返回本節(jié),7.3.2 返回動(dòng)態(tài)頁(yè)面,其具體的步驟如下: (1)在projec

7、tl項(xiàng)目文件中選擇Web Module部件,激活A(yù)ctionEditor對(duì)話框。 (2)在ActionEditor對(duì)話框新添加一個(gè)ActionItem。 (3)將第二個(gè)ActionItem命名為Dynamicdll,PathInfo屬性設(shè)置為DateTime。 (4)為新建的ActionItem的OnAction事件編寫代碼。,圖7-11 瀏覽器中顯示由ISAPI動(dòng)態(tài)鏈接庫(kù)生成的動(dòng)態(tài)HTML頁(yè)面,返回本節(jié),7.3.3 接收用戶輸入的ISAPI DLL,1OnAction事件的參數(shù)(主要屬性如表7-1) 2創(chuàng)建用戶輸入的HTML頁(yè)面(創(chuàng)建好的HTML頁(yè)面如圖7-12所示) 3添加PageProd

8、ucer控件(具體含義如表7-2) 4為項(xiàng)目文件新建一個(gè)ActionItem 5調(diào)試程序(如圖7-137-15所示),表7-1 TwebReques對(duì)象的主要屬性,圖7-12 創(chuàng)建好的用戶輸入界面,表7-2 MethodType方法的參數(shù)值及其含義,圖7-13 在用戶輸入界面中輸入數(shù)據(jù),圖7-14 使用GET方式得到的服務(wù)器響應(yīng)信息,圖7-15 使用POST方式得到的服務(wù)器響應(yīng)信息,返回本節(jié),7.3.4 一個(gè)完整的Web數(shù)據(jù)庫(kù)應(yīng)用程,1將數(shù)據(jù)表作為服務(wù)器程序的響應(yīng)信息(如圖7-16所示) 2增加查詢功能 (Query控件和QueryTableProducer控件的屬性設(shè)置如表7-3所示),圖7

9、-16 作為服務(wù)器響應(yīng)信息輸出的數(shù)據(jù)表,表7-3 控件的屬性設(shè)置,返回本節(jié),7.4 CGI編程,7.4.1 一個(gè)時(shí)間顯示程序 7.4.2 命令行處理 7.4.3 CGI環(huán)境變量 7.4.4 CGI數(shù)據(jù)庫(kù)編程,返回本章首頁(yè),7.4.1 一個(gè)時(shí)間顯示程序,單擊“Project”主菜單下的“Remove from Project”選項(xiàng),將unit單元從項(xiàng)目文件中移走,然后按下Ctrl+F12鍵,選擇項(xiàng)目文件,使它在代碼編輯器中顯示出來(lái)。在它的Program保留字后加入一個(gè)¥APPTYPE CONSOLE編輯器指令,將它轉(zhuǎn)換成控制臺(tái)應(yīng)用程序,最后刪除大部分項(xiàng)目源代碼,如果直接在Delphi環(huán)境中運(yùn)行該

10、程序,則它會(huì)打開(kāi)一個(gè)終端窗口,并輸出writeln語(yǔ)句的內(nèi)容,如圖7-19所示。,圖7-19 在Delphi環(huán)境中執(zhí)行的結(jié)果,返回本節(jié),7.4.2 命令行處理,CGI應(yīng)用程序接收用戶輸入的方法有兩種: (1)使用它的命令行參數(shù)識(shí)別頁(yè)面(激活應(yīng)用程序)的URL,而URL通常在應(yīng)用程序名后面包括附加的參數(shù)。 (2)系統(tǒng)使用一系列環(huán)境變量向CGI應(yīng)用程序進(jìn)一步傳遞信息。在Win_CGI中,同樣通過(guò)INI文件來(lái)傳遞,而沒(méi)有使用環(huán)境變量。,返回本節(jié),7.4.3 CGI環(huán)境變量,表7-4 CGI環(huán)境變量,返回本節(jié),7.4.4 CGI數(shù)據(jù)庫(kù)編程,(1)依次單擊“File”“New”“Other”選項(xiàng),然后在

11、Business頁(yè)面中選擇DB Web Application Wizard,如圖7-24所示。單擊“OK”按鈕,則出現(xiàn)選擇Web數(shù)據(jù)庫(kù)應(yīng)用程序類型對(duì)話框,如圖7-25所示。 (2)單擊“Next”按鈕,將出現(xiàn)選擇數(shù)據(jù)表對(duì)話框,如圖7-26所示。選擇好數(shù)據(jù)表后,單擊“Next”按鈕,將出現(xiàn)選擇要顯示的字段對(duì)話框,如圖7-27所示。,選擇完需要顯示的字段后,單擊“Next”按鈕,則出現(xiàn)設(shè)置Web頁(yè)面對(duì)話框,如圖7-28所示。 (3)所有的設(shè)置都完成后,則出現(xiàn)確認(rèn)對(duì)話框,如圖7-29所示。單擊“Finish”按鈕,就完成了創(chuàng)建一個(gè)Web項(xiàng)目文件的工作。 向?qū)槲覀兩闪薟ebModule1模塊,其

12、中加入了三個(gè)控件如圖7-30所示。編譯并運(yùn)行該程序,則在瀏覽器中顯示的結(jié)果如圖7-31所示。,圖7-24 利用DB Web Application Wizard向?qū)?chuàng)建項(xiàng)目文件,圖7-25 選擇Web數(shù)據(jù)庫(kù)應(yīng)用程序類型,圖7-26 選擇數(shù)據(jù)表,圖7-27 選擇要顯示的字段,圖7-28 設(shè)置Web頁(yè)面,圖7-29 完成創(chuàng)建項(xiàng)目文件,圖7-30 向?qū)ё詣?dòng)生成的WebModule1模塊,圖7-31 顯示結(jié)果,返回本節(jié),7.5 ISAPI DLL和CGI之間的相互轉(zhuǎn),(1)將編寫好并且調(diào)試成功的project5.dll創(chuàng)建成一個(gè)模板,以便在Win_CGI中使用(如圖7-32所示)。 (2)關(guān)閉project5項(xiàng)目,在主菜單中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論