Page suivantePage pr�c�denteTable des mati�res

4. Ex�cution d'un programme Java CGI

4.1 Difficult�s d'ex�cution de programmes Java avec le mod�le CGI

L'ex�cution d'un programme Java depuis un serveur Web pose deux types de probl�mes majeurs :

Les programmes Java ne s'ex�cutent pas comme des binaires ordinaires

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.

Java n'acc�de pas a priori aux variables d'environnement

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 .

4.2 Solutions propos�es

Pour contourner ces obstacles, j'ai �crit une script shell de CGI, qui fournit les informations n�cessaires � l'interpr�teur Java.

Le script java.cgi

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.

Invocation de java.cgi depuis un formulaire HTML

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.


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:14