4. Executing a Java CGI Program
4.1 Obstacles to Running Java Programs Under the CGI Model
There are two main problems in running a Java program from a web server:
You can't run Java programs like ordinary executables.
You need to run the Java run-time interpreter and provide the initial class (program to run) on the command-line. With an HTML form, there is no provision for sending a command-line to the web server.
Java does not have general access to the environment.
Every environment variable that will be needed by the Java program
must be explicitly passed in.
There is no method similar to the C getenv()
function.
4.2 Overcoming Problems in Running Java CGI Programs
To deal with these obstacles, I wrote a shell CGI program that provides the information needed by the Java interpreter.
The java.cgi script.
This shell script manages the interaction between the HTTP daemon and the Java CGI program that you wish to use. It extracts the name of the program that you want to run from the server-provided data. It collects all of the environment data into a temporary file. Then, it runs the Java run-time interpreter with the name of the file of environment information and the program name added to the command-line.
The java.cgi
script was configured and installed in
Decide On Your Local Path Policies.
Invoking java.cgi from an HTML form.
My forms that use Java CGI programs specify a form action as follows:
<form action="/cgi-bin/java.cgi/CGI_Test" method="POST">Where
/cgi-bin/
is your local CGI binary directory,
java.cgi
is the Java front-end that allows us to run Java programs
over the web
and CGI_Test
is an example of the name of the Java program to run.
Next Previous Contents