當前位置:編程學習大全網 - 源碼下載 - 學習<<Internet應用教程>>的感受

學習<<Internet應用教程>>的感受

Internet技術的發展為編程人員提供了更廣泛的施展身手的空間。早先"Internet應用程序"這個詞僅僅只是指壹些用FTP協議下載文件或瀏覽HTML頁面的工具,而如今使用Visual Basic,不僅可以為Internet開發應用程序,而且還可以把Internet技術作為壹部分融入大型的解決方案中。

今天我們所要討論的問題是利用Visual Basic創建在面向Internet的應用中起重要作用的ActiveX組件。例如,妳所創建的ActiveX控件可以用於HTML頁面;妳開發的ActiveX文檔可以在Internet瀏覽器中使用並於其他的組件壹起和HTML頁面集成起來;另外ActiveX代碼組件(以前被稱為OLE服務器), 可以被部署在客戶端或服務器端的計算機上用於後臺的處理。

[Internet的開發環境]

Internet是壹個使用TCP/IP協議、全球性的非集中管理的計算機網絡。如果去掉全球性這壹點, 所謂"Internet技術"完全可以和本地局域網中所使用的技術壹樣。

從壹方面來看, Internet技術只是簡單地為開發人員提供了另壹個施展身手的空間。如果妳在和Web連接時使用了ActiveX組件,盡管妳具體實現的方法有可能不同,如采用了HTML和VBScript代碼以實現安全性或是其他,但是妳仍然在調用方法,設置屬性,處理事件等等。這樣,作為壹個VB開發人員所有的知識和技能都被用於了Internet的環境下。

從另外壹個方面來看,應用Internet的技術可以使妳向壹些吸引人的方向延伸妳的開發工作。例如將ActiveX組件和Internet技術綜合有以下的益處

更簡單的維護---作為Web壹部分的組件可以根據需要下載,無須用戶運行壹個setup程序進行升級;

將功能延伸至Internet---通過通用協議,用戶將看不見在Internet和Intranet之間的切換。

Internet客戶/服務器

可以借用客戶機/服務器的關系來考查Internet的開發環境,客戶端和服務器端都可以有"靜態的"和"活動的"兩種狀態。活動的客戶機或服務器可以根據其內部狀態的改變而動態地運行壹個腳本或是改變其行為;而靜態的客戶機或服務器僅僅只是對外界激勵作出反應。

Internet開發包括以下四種情形:

靜態的客戶機和靜態的服務器

靜態的客戶機和活動的服務器

活動的客戶機和靜態的服務器

活動的客戶機和活動的服務器

靜態的客戶機和靜態的服務器

靜態的客戶向靜態的服務器發送請求,服務器響應該請求並返回壹個文件。壹旦HTML頁面被下載到客戶端, 客戶機和服務器的連接就終止,直到服務器接受到下壹個請求。在使用FTP下載文件或是Usernet閱讀新聞時也會發生同樣的情形。

結合靜態客戶機的功能即為用Visual Basic中和Internet技術相關的ActiveX控件創建壹個FTP工具,壹個Web瀏覽器或是壹個新聞讀者等等。這些性能也可以被集成到壹個大的應用程序中。

靜態的客戶機和活動的服務器

假如妳正在使用壹個靜態的客戶端, 例如和壹個當前應用程序相連接的Web瀏覽器窗體, 以下載壹個HTML頁面,上面有文本框以輸入查詢內容,還有按鈕以把用戶輸入的條目作為壹個字符串發送給服務器。當妳發送完文本之後,服務器返回壹個已定制過的HTML頁面-往往是通過調用壹個DLL中的函數, 上面有妳查詢的結果。這就是壹個"活動的"服務器的例子, 它自動處理數據並根據條件返回壹個定制的結果。

創建活動服務器的途徑之壹就是通過使用Visual Basic開發的DLL並用Oleisapi2.dll實現訪問。Oleisapi2.dll包含在Windows NT Server 4.0之中,是Internet Information Server (IIS)的壹種功能,它包括了ISAPI的函數功能集。通過IIS和Oleisapi2.dll, 妳可以在Web服務器上部署DLL, 並從客戶端使用HTML頁面上的信息或調用其方法。

活動的客戶機和靜態的服務器

當客戶機擁有處理能力時稱之為活動的客戶機。活動的客戶機擁有本地處理任務的能力,而不是請求服務器幫助處理。在客戶機/服務器應用中,本地處理的能力不僅提高了任務完成的速度,而且減輕了服務器的負擔。

活動客戶機的情形有很多種。例如,用Visual Basic構建的ActiveX文檔幾乎可以包括所有傳統應用的功能。當妳把它放到壹個容器中時, 例如Internet Explorer, 妳的客戶端就完全擁有了傳統Visual Basic中所有的動態功能。客戶端也可以通過在壹個HTML頁面中使用VBScript調用ActiveX控件或DLL實現。

活動的客戶機和活動的服務器

如果采用活動客戶機和活動服務器的模式可以充分發揮優勢: 分布式的功能便於擴展,靈活的解決方案可以充分利用系統和網絡資源。

在三層結構的客戶機/服務器環境中開發部署的應用中,其組件分布於整個網絡上, 總起來完成提供用戶界面, 實現業務準則和數據訪問的功能,而且由於可以充分利用客戶端和服務器端的處理能力,可以實現更復雜的數據訪問功能。

壹個活動的服務器可以負責跟蹤客戶提交的查詢表格,提交查詢並返回結果。壹個活動的客戶機則負責將返回的結果展現給用戶, 然後將改變的內容返回給服務器。另外通過Internet組件的下載,當用戶訪問Web站點時, 可以自動更新客戶端提交查詢和處理結果的準則。

[在Web上使用ActiveX組件]

ActiveX組件為Internet技術帶來了新的功能。通過Internet組件的下載,超連接,菜單協商等各種功能,將ActiveX組件和Internet集成起來,內容和應用程序之間的界線也越來越模糊。另外由於在站點上(在客戶機和服務器之間)分布功能函數,我們可以創建更具擴展性和靈活性的站點。

在Internet應用程序中使用ActiveX文檔

使用ActiveX文檔, 我們可以開發和Internet/Intranet站點的其他元素緊密集成的Visual Basic的應用程序。利用這些組件開發出來的應用程序,用戶可以透明地在HTML頁面和ActiveX文檔之間遷移。

可以把ActiveX文檔作為Visual Basic為Internet提供的應用。幾乎所有現在用標準應用程序完成的工作都可以用ActiveX文檔實現。

作為HTML頁面中的壹個元素,如果在用戶的客戶機上沒有安裝ActiveX文檔, 當用到它們時, 可以自動地從網上下載;如果客戶機上的版本比較舊, 也可以可以自動升級。ActiveX文檔的許多特性提供了很好的安裝,導航性能,並可以保證很好的持續壹致性:

Internet組件的下載---妳可以創建壹個到妳的ActiveX文檔的連接,使瀏覽器可以自動找到並下載所有需要的組件。

超連接對象---在壹個超連接感知的包容器中,妳可以使用Visual Basic的超連接對象的屬性和方法以跳轉到壹個給定的URL或是通過歷史的記錄清單進行導航。

菜單和協商---由於可以從Word或Excel中獲得文檔,Visual Basic的ActiveX文檔提供了將其菜單嵌入瀏覽器中的菜單的功能。例如當文檔被裝載入Internet Explorer中後,瀏覽器的菜單將和妳為該ActiveX文檔創建的菜單混合。

PropertyBag---當妳在Internet Explorer中部署壹個ActiveX文檔時, 妳可以通過PropertyBag對象保持數據的壹致性。

下面我們來看壹看如何在Internet Explorer中部署壹個ActiveX文檔。假設我們要通過壹個HTML頁面中的超連接連接到這個ActiveX文檔上:

1. 用HTML創建引用這個ActiveX文檔的連接。

由於ActiveX文檔將在Internet Explorer中取代HTML頁面,所以有必要將組件的OBJECT標簽放在另壹個HTML頁面中。當跳轉到該頁面後,壹旦ActiveX文檔被裝載,它就會立刻消失。

2. 用HTML為瀏覽器提供下載、註冊以及導航到這個ActiveX文檔的途徑。

在OBJECT標簽中應該說明ActiveX文檔的類ID和CODEBASE屬性。

3. 在同壹頁面上, 使用VBScript指示Internet Explorer立刻通過相應的.vbd文件導航到該ActiveX文檔上。

在Internet應用程序中使用ActiveX控件

ActiveX控件為妳的HTML頁面帶來了活力。通過HTML和VBScript, 妳可以在壹個HTML頁面上使用ActiveX控件, 設置它們的屬性,調用它們的方法並處理它們的事件。壹個包含控件的的HTML頁面仿佛壹個Visual Basic的設計窗口。ActiveX控件可以提供更多的交互式的,生動的用戶界面特性,使HTML頁面變得更加有活力。

壹般需要通過HTML和VBScript的綜合手段引用並控制ActiveX控件的行為。使用HTML為瀏覽器提供下載,註冊並引用ActiveX控件引用的途徑。在HTML代碼的OBJECT標簽中需要包括:

控件的類別ID, 以使程序能在Windows的註冊表中找到它們;

ID的屬性,以便在VBScript中引用該控件(類似於Visual Basic中的Name屬性);

CODEBASE屬性,告訴瀏覽器如果組件不在客戶機上該去哪兒找;

PARAM NAME標簽,設置控件的屬性參數。

然後用VBScript編寫處理單擊事件的代碼,使每壹個控件被單擊後,程序可以作相應的動作。

Visual Basic專業版中還包括了三個已預先設計好的用於包裹Internet相關技術的控件, 使妳能夠擴展已有的應用程序,它們是:

Internet Transfer Control---包裹了三種通用的Internet協議:HTTP, FTP和Gopher;

WebBrowser Control---包含了許多通過Internet Explorer可以獲得的功能;

WinSock Control---使妳可以連接到壹臺遠程的機器, 然後通過UDP或TCP交換數據。

通過使用這些控件, 妳可以添加從FTP站點自動下載文件的功能,還可以為Visual Basic IDE提供Web瀏覽器的Add-in。

在Internet應用程序中使用ActiveX代碼組件

無論是在客戶端或是在服務器端, 都可以使用ActiveX代碼組件(.dll或.exe文件), 從而為HTML頁面添加功能。

在客戶端部署代碼組件, 由於用戶的命令無須通過網絡傳輸回服務器,可以大大提高運行速度。服務器端的組件同樣也可以有顯示用戶界面可視化元素的功能。通過下載壹個DLL, 我們可以在HTML頁面上添加用戶界面的元素,如壹個登錄對話框; 還可以提供幕後的客戶端處理能力,例如壹個伴隨VBScript的函數庫。

客戶端的部署工作類似於對ActiveX控件的使用,妳同樣需要使用HTML和VBScript代碼引用並編寫代碼組件。下面給出了壹個用HTML和VBScript代碼編寫調用DLL以顯示登錄對話框的實例:

1. 使用HTML創建壹個窗體,其中包含壹個按鈕以調用登錄對話框:

Click here to login in:

2. 用HTML為瀏覽器提供下載,註冊及引用ActiveX組件的途徑:

Classid="clsid:2F390484-1C7D-11D0-8908-00A0C90395F4"

id="Login"

codebase="Login.cab#version=1,0,0,0">

3. 用VBScript調用組件中的方法以顯示登錄對話框:

組件自身中將包含用於形成登錄字符串的代碼,並將它發送給服務器用於驗證。

另壹種將DLL和Internet技術結合的方法是將它部署在服務器端。如果妳有Internet Information Server (IIS)-包含在Windows NT Server 4.0中, 妳可以通過Visual Basic關盤中的Tools目錄下的Oleisapi2.dll調用Visual Basic中內置的DLL函數。

Oleisapi2.dll中包含了ISAPI中的所有函數。妳可以把DLL部署在HTTP服務器上, 並通過HTML頁面上發送的信息調用其方法。Oleisapi2.dll作為客戶請求到DLL之間的中介。由於代碼是基於HTML的,這些請求僅僅是簡單的URL。

通過服務器端的DLL可以由客戶提供的參數定制返回給客戶的HTML頁面,還可以管理數據庫的連接,對接受到的請求和返回的結果進行整理和編組

  • 上一篇:為什麽人人都可以投票,壹個人人網賬號只能投壹次?求解答
  • 下一篇:決勝新能源下半場 奇瑞汽車發布新能源戰略
  • copyright 2024編程學習大全網