//Logo Image
作者:詹德鉅(2002-12-15);推薦:徐業良(2002-12-15)

執行伺服端DOSWINDOWS的執行檔

本文描述如何撰寫一動態伺服器網頁,使用者可於網路客戶端(Client)執行伺服端(Server)DOSWINDOWS的執行檔,並且將執行結果下載到客戶端。

1.         動態伺服器網頁

在網際網路(Internet)的世界中最重要的參與者,無疑的是網頁提供者與上網者。網頁提供者將其製作好的網頁放在伺服器上,而上網者則是準備好上網的機器,然後透過網際網路來瀏覽網頁製作者所提供的網頁,在習慣上,我們把放置網頁的那一端稱為伺服端,而上網的那一端稱為客戶端。

「超文字標示語言(HyperText Markup Language, HTML)」是構成網頁最基礎的要素,它是一種語言,但並不算是“程式”語言,HTML所定義的範疇僅侷限於如何表現文字、圖片,以及如何建立文件之間的連結,而程式則是經過規劃的一連串命令(或稱為“敘述”),這樣的命令可用來驅使作業系統或應用程式執行某些工作。由於HTML並不是程式語言,因此由HTML所構成的文件並不會因時因地產生變化,所以便有「靜態(Static)網頁」之稱。

為了讓網頁具備動態變化的能力,需將程式加到單純的HTML文件中。網頁程式的執行可以分成在客戶端的瀏覽器執行及在伺服端的伺服器執行兩種狀態,如圖1所示,如果程式在瀏覽器上執行,例如VB Script程式,則伺服器必須把程式碼傳下來,而瀏覽器也要聰明到可以執行伺服器所傳下來的程式,如果程式在伺服端執行,則伺服器只要把執行的結果傳下來即可,而「動態伺服器網頁(Active Server Page, ASP)」就是一種在伺服端執行的程式。

1. 網頁程式的執行

ASP技術的程式碼屬於單純的文字檔案,並不需要額外程式進行編譯,只需Web伺服器支援ASP技術,就可以在HTML文件加上ASP程式碼進行網頁設計。ASP技術的動力來源並不是程式碼本身,而是ASP提供的物件,因為擁有功能強大的內建物件模型,整個ASP技術才能真正發揮強大的功能。ASP技術的內建物件並不多,包含以下六種:Response物件、Request物件、Server物件、Session物件、Application物件、和ASPError物件。每一個物件又分別有多種屬性(Properties)、方法(Methods)、事件(Events)、及資料集合(Collections)

安裝Windows 2000 ServerProfessional作業系統中的網路伺服器“Internet Information Services 5, IIS 5”元件後,就會建立一個“預設的Web站台”,其主目錄設在“C:\Inetpub\wwwroot\”,視情況需要主目錄位置亦可任意變更。這個Web站台預設為Web應用程式,在此主目錄下擁有“指令”權限可以執行ASP程式,欲執行“DLL”“.exe”檔案則需賦予目錄“執行”權限。

2.         實例說明

這一節中以實例說明以ASP程式執行伺服端DOSWINDOWS的執行檔。本實例執行檔“example.exe”位於伺服器的D磁碟中(D:\www\MySite\test\example.exe),在同一目錄下另外建有一個純文字檔“input.txt”,此純文字檔提供執行檔執行時所需的參數,在DOSWINDOWS模式下執行“example.exe”可以產生一個純文字檔“output.txt”儲存執行結果。

(1)   本實例執行檔“example.exe”的內容為計算變壓器的一次電流與二次電流,執行過程首先在純文字檔“input.txt”輸入3個參數值如100011400、和220,分別代表變壓器容量100kVA、一次電壓11400V和二次電壓220V。然後執行“example.exe”,程式會從純文字檔“input.txt”索取事先輸入的3個參數值,將代表容量的1000乘上100011400再除得到一次電流為50.64476A;將代表容量的1000乘上1000220再除得到二次電流為2624.319A。接著程式會建一個命名為“output.txt”的純文字檔,儲存一、二次電流計算結果值50.644762624.319

本實例以個人電腦在DOSWINDOWS模式下操作,文字檔”input.txt”輸入內容如圖2所示,執行結果文字檔”output.txt”內容如圖3所示。

2. “input.txt”輸入內容

3. “output.txt”儲存內容

將本實例以ASP程式透過網際網路執行,程式可分為“WebInput.htm””WebOutput.asp” 兩個檔案,“WebInput.htm”程式的內容應用VB Script的表單(Form)傳送資料,並且連結”WebOutput.asp”,其原始程式碼如圖4所示。

4. “WebInput.htm”程式碼

”WebOutput.asp”是由三段主要程式構成,第一段程式內容為在伺服端D磁碟目錄(D:\www\MySite\test\)中建一個如圖2所示的文字檔“input.txt”,並且將客戶端所輸入的參數寫入該檔案中。本段程式應用ASP的內建物件「Server物件」和「Request物件」以及VB Script的「寫入(Write)」功能,其原始程式碼如圖5所示。

5. “WebOutput.asp”第一段程式碼

第二段程式則是利用外部元件「ASPExec」建立一個可執行執行檔的物件「Executor」,然後利用此物件執行伺服端的執行檔“example.exe”,並且將是否順利執行執行檔“example.exe”的訊息顯示於瀏覽器視窗上。本段程式應用ASP的內建物件「Server物件」和「Response物件」以及VB Script的「應用(Application)」、「參數(Parameter)」和「顯示視窗(ShowWindow)」等功能,其原始程式碼如圖6所示;

6. “WebOutput.asp”第二段程式碼

第三段程式內容為讀取文字檔“output.txt”的內容,並且將其顯示在瀏覽器視窗上。本段程式應用ASP的內建物件「Server物件」和「Response物件」以及VB Script的「開啟檔案(OpenTextFile)」和「讀取檔案(ReadAll)」功能,其原始程式碼如圖7所示。

7. “WebOutput.asp”第三段程式碼

8所示為本實例透過網際網路上網操作時的網頁參數輸入介面內容,上網者瀏覽此網頁時可以依網頁所提供的應用程式執行功能,如變壓器電流計算的功能,自由輸入各項要求參數,如容量、一次電壓及二次電壓等,輸入參數後以滑鼠點傳送鍵即可得到執行結果輸出內容如圖9所示。

8. 網頁參數輸入介面內容

9. 網頁執行結果輸出內容

3.         結論

本文提供客戶端執行伺服端的DOSWINDOWS的執行檔實例,包含網頁輸入介面與結果輸出網頁。藉由這種模式網頁提供者只需要將執行檔套入原始程式碼中,加上撰寫簡單易懂的網頁輸入介面與結果輸出網頁即可。其應用範圍具有延伸性,端看所應用的執行檔而定。

4.         參考資料

Active Server Pages 網頁製作教本,王國榮著,旗標出版股份有限公司發行,中華民國914月出版。

Active Server Pages 3.0 網頁設計範例教本,陳會安著,學貫行銷股份有限公司出版,20014月初版一刷。

網頁設計,林邦傑著,知城數位科技股份有限公司出版,200111月初版。