从 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 程式名称的例子.