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