Sophie

Sophie

distrib > Mandriva > 9.0 > i586 > by-pkgid > 0d5cd12c82d627a82c59047e1ba7b8a9 > files > 601

howto-html-fr-9.0-0.2mdk.noarch.rpm

<HTML>
<HEAD>
<TITLE>Ex&eacute;cution d'un programme Java CGI</TITLE>
</HEAD>
<BODY>
<H1>4. <A NAME="s4"></A>Ex&eacute;cution d'un programme Java CGI   </H1>
<P>
<A HREF="Java-CGI-HOWTO.html#toc4">Contenu de cette section</A></P>

<P></P>
<P></P>
<H2>4.1 <A NAME="ss4.1"></A> Difficult&eacute;s d'ex&eacute;cution de programmes Java avec le mod&egrave;le CGI    </H2>

<P>L'ex&eacute;cution d'un programme Java depuis un serveur Web pose deux types
de probl&egrave;mes majeurs :</P>
<H3>Les programmes Java ne s'ex&eacute;cutent pas comme des binaires ordinaires     </H3>

<P>Il faut lancer l'interpr&eacute;teur Java et fournir la classe principale
(le programme &agrave; ex&eacute;cuter) sur la ligne de commande. Les formulaires
HTML ne permettent pas d'envoyer directement une ligne de commande au
serveur Web.</P>
<H3>Java n'acc&egrave;de pas <EM>a priori</EM> aux variables d'environnement     </H3>

<P>Toutes les variables d'environnement requises par le programme Java
doivent lui &ecirc;tre pass&eacute;es explicitement. Il n'existe pas de m&eacute;thode
similaire &agrave; la fonction <CODE>getenv()</CODE> de <B>C</B> .</P>
<P></P>

<H2>4.2 <A NAME="ss4.2"></A> Solutions propos&eacute;es    </H2>

<P>Pour contourner ces obstacles, j'ai &eacute;crit une script shell de CGI, qui
fournit les informations n&eacute;cessaires &agrave; l'interpr&eacute;teur Java.</P>
<H3>Le script java.cgi     </H3>

<P>Ce script de shell se charge de l'interaction entre le d&eacute;mon HTTP et
le programme Java CGI que vous souhaitez utiliser. Il extrait le nom
du programme que vous souhaitez lancer &agrave; partir des donn&eacute;es fournies
par le serveur. Il r&eacute;cup&egrave;re ensuite toutes les valeurs
d'environnement dans un fichier temporaire. Enfin, il lance
l'interpr&eacute;teur Java en lui passant le nom du fichier contenant les
informations d'environnement, ainsi que le nom du programme &agrave;
ex&eacute;cuter.</P>
<P>Le script <CODE>java.cgi</CODE> a &eacute;t&eacute; configur&eacute; et install&eacute; selon les
proc&eacute;dure d&eacute;crites &agrave; la section
<A HREF="Java-CGI-HOWTO-2.html#make-programs">Decide On Your Local Path Policies</A>
.</P>
<H3>Invocation de java.cgi depuis un formulaire HTML     </H3>

<P>Mes formulaires qui utilisent les programmes Java CGI sp&eacute;cifient
l'action &agrave; effectuer de la fa&ccedil;on suivante :
<PRE>
 &lt;form action=&quot;/cgi-bin/java.cgi/CGI_Test&quot; method=&quot;POST&quot;&gt;
</PRE>
 o&ugrave;
<CODE>/cgi-bin/</CODE> est votre r&eacute;pertoire local d'ex&eacute;cutables CGI,
<CODE>java.cgi</CODE> est l'interface permettant de lancer les programmes
Java, et <CODE>CGI_Test</CODE> est un exemple de programme Java &agrave;
ex&eacute;cuter.</P>
<P></P>

<HR>
<P>
Chapitre <A HREF="Java-CGI-HOWTO-5.html">suivant</A>,
Chapitre <A HREF="Java-CGI-HOWTO-3.html">Pr&eacute;c&eacute;dent</A>
<P>
Table des mati&egrave;res de <A HREF="Java-CGI-HOWTO.html#toc4">ce chapitre</A>,
 <A HREF="Java-CGI-HOWTO.html#toc">Table des mati&egrave;res</A> g&eacute;n&eacute;rale</P>
<P>
<A HREF="Java-CGI-HOWTO.html">D&eacute;but</A> du document,
 <A HREF="#0"> D&eacute;but de ce chapitre</A></P>
</BODY>
</HTML>