從 web 伺服器執行 Java 程式有兩個主要的問題:
你必需執行 Java 的執行時刻(run-time)解譯器並且以命令列的方式提供初始類別(程式執行所需). 在一個 HTML form 裡面沒有辦法提供命令列給 web 伺服器.
Java 程式所需的每個環境變數都必需被傳入.
(在 Java 程式中)沒有類似 C 語言的 getenv()
函數.
為了處理這些困難,我寫了一個 CGI 指令稿程式,提供 Java 解譯器所需的資訊.
這個指令稿管理 HTTP 伺服器與你希望使用的 Java CGI 程式之間的互動. 它從 server 端提供的資料中取出你想要執行程式的名稱. 它將所有的環境變數資料將髹到一個暫存檔裡.然後,它將這個檔案以及程式名稱加命令列中, 執行 Java 的執行時刻解譯器.
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 程式名稱的例子.