L'exécution d'un programme Java depuis un serveur Web pose deux types de problèmes majeurs :
Il faut lancer l'interpréteur Java et fournir la classe principale (le programme à exécuter) sur la ligne de commande. Les formulaires HTML ne permettent pas d'envoyer directement une ligne de commande au serveur Web.
Toutes les variables d'environnement requises par le programme Java
doivent lui être passées explicitement. Il n'existe pas de méthode
similaire à la fonction getenv()
de C .
Pour contourner ces obstacles, j'ai écrit une script shell de CGI, qui fournit les informations nécessaires à l'interpréteur Java.
Ce script de shell se charge de l'interaction entre le démon HTTP et le programme Java CGI que vous souhaitez utiliser. Il extrait le nom du programme que vous souhaitez lancer à partir des données fournies par le serveur. Il récupère ensuite toutes les valeurs d'environnement dans un fichier temporaire. Enfin, il lance l'interpréteur Java en lui passant le nom du fichier contenant les informations d'environnement, ainsi que le nom du programme à exécuter.
Le script java.cgi
a été configuré et installé selon les
procédure décrites à la section
Decide On Your Local Path Policies.
Mes formulaires qui utilisent les programmes Java CGI spécifient l'action à effectuer de la façon suivante :
<form action="/cgi-bin/java.cgi/CGI_Test" method="POST">où
/cgi-bin/
est votre répertoire local d'exécutables CGI,
java.cgi
est l'interface permettant de lancer les programmes
Java, et CGI_Test
est un exemple de programme Java à
exécuter.