Next Previous Contents

4. 執行一個 Java CGI 程式

4.1 以 CGI 模式執行 Java 程式的障礙

從 web 伺服器執行 Java 程式有兩個主要的問題:

你不能像一般執行檔一樣執行 Java 程式

你必需執行 Java 的執行時刻(run-time)解譯器並且以命令列的方式提供初始類別(程式執行所需). 在一個 HTML form 裡面沒有辦法提供命令列給 web 伺服器.

Java 程式沒有一般的方法可以取得環境變數

Java 程式所需的每個環境變數都必需被傳入. (在 Java 程式中)沒有類似 C 語言的 getenv() 函數.

4.2 執行 Java CGI 解決問題

為了處理這些困難,我寫了一個 CGI 指令稿程式,提供 Java 解譯器所需的資訊.

java.cgi 指令稿

這個指令稿管理 HTTP 伺服器與你希望使用的 Java CGI 程式之間的互動. 它從 server 端提供的資料中取出你想要執行程式的名稱. 它將所有的環境變數資料將髹到一個暫存檔裡.然後,它將這個檔案以及程式名稱加命令列中, 執行 Java 的執行時刻解譯器.

java.cgi 指令稿的設定與安裝在 決定你的本地目錄策略 一節說明.

從 HTML form 中引發 java.cgi

使用 Java CGI 程式的 HTML form 以下面的方式指定其行為:

<form action="/cgi-bin/java.cgi/CGI_Test" method="POST">
其中 /cgi-bin/ 是你本地端的 CGI 二進位執行檔目錄, java.cgi 是允許我們從 web 上執行 Java 程式的前端, 而 CGI_Test 是一個欲執行的 Java 程式名稱的例子.


Next Previous Contents