下一页 上一页 目录

4. 执行 Java CGI 程序

4.1 在 CGI 模型下运行 Java 程序的障碍

从 Web 服务器运行 Java 程序主要有两个问题

您无法像运行普通可执行文件一样运行 Java 程序。

您需要运行 Java 运行时解释器并在命令行上提供初始类(要运行的程序)。对于 HTML 表单,没有向 Web 服务器发送命令行的规定。

Java 不具有对环境的通用访问权限。

Java 程序需要的每个环境变量都必须显式传入。没有类似于 C getenv() 函数的方法。

4.2 克服运行 Java CGI 程序中的问题

为了解决这些障碍,我编写了一个 shell CGI 程序,它提供了 Java 解释器所需的信息。

java.cgi 脚本。

这个 shell 脚本管理 HTTP 守护进程和您希望使用的 Java CGI 程序之间的交互。它从服务器提供的数据中提取您想要运行的程序的名称。它将所有环境数据收集到一个临时文件中。然后,它使用包含环境信息的文件名和添加到命令行的程序名来运行 Java 运行时解释器。

java.cgi 脚本已配置并安装在决定您的本地路径策略中。

从 HTML 表单调用 java.cgi。

我使用 Java CGI 程序的表单按如下方式指定表单操作

<form action="/cgi-bin/java.cgi/CGI_Test" method="POST">
其中 /cgi-bin/ 是您的本地 CGI 二进制目录,java.cgi 是允许我们在 Web 上运行 Java 程序的 Java 前端,而 CGI_Test 是要运行的 Java 程序名称的示例。


下一页 上一页 目录