WWW サーバから Java のプログラムを実行する際には 2つの大きな問題があり ます:
Java のプログラムを実行するためには,コマンドライン上でJava ランタイム・ インタプリタを実行し,これに初期クラス(実行するプログラム)を与えなけれ ばなりません. ところが,HTML の FORM を使う場合,WWW サーバにコマンドラインを教える ことはできません.
Java のプログラムが必要とする環境変数は,明示的に渡してやらなければな
りません.
C言語のgetenv()
関数のような方法はありません.
これらの問題を解決するため,Java インタプリタが必要とする情報を与える ための CGI シェルスクリプトを作りました.
このシェルスクリプトは HTTP デーモンと 実行する Java CGI プログラムの やりとりを管理します. このスクリプトは,まず実行するプログラムの名前をサーバが与えたデータか ら展開します. 次に全ての環境変数をテンポラリファイルに集めます. それから,環境変数についての情報ファイルの名前とプログラムの名前をコマ ンドラインに指定してJava インタプリタを実行します.
ローカルパスについての方針の決定 の節で設定およびインストールされています.
Java CGI を使う FORM では以下のように FORM のアクションを指定します:
<form action="/cgi-bin/java.cgi/CGI_Test" method="POST">ここで,
/cgi-bin/
はローカルの CGI ディレクトリであり,
java.cgi
はWWW上での Java の実行を可能にする Java フロントエンド
です.そして,CGI_Test
は実行する Java プログラムの名前の例です.