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