Rechercher : dans
Par :

Lancer un .jar depuis un script cgi perl

Dernière réponse le 27 avr 2009 à 10:02:40 Sydreai63, le 26 avr 2009 à 22:31:53 
 Signaler ce message aux modérateurs

Bonjour,

mon problème est que je n'arrive pas à lancer un .jar à partir d'un cgi écrit en perl (apache2), voici le code de mon cgi:

#!/usr/bin/perl

print "content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>Résultats: Sondes créées</TITLE></HEAD>\n";
print "<BODY>\n";
$ENV{QUERY_STRING}=~m/nomorga=(.*?)&idgene=(.*?)&nbrsondes=(.*?)&lngrsondes=(.*?)&sel=(.*?)&an=(.{4})/;
my $idorga=$1;
my $idgene=$2;
my $nbrsondes=$3;
my $lngrsondes=$4;
my $sel=$5;
my $an=$6;
my $arguments=$1." ".$2." ".$3." ".$4." ".$5." ".$6;
my $commande="java -jar \"/home/maroudel/NetBeansProjects/ProjetWS/dist/ProjetWS.jar\"";
my $commargs=$commande." ".$arguments;
print "Voici la ligne de commande pour exec:<br /><br /> $commargs";
print "</BODY>";
system ("java -jar \"/home/maroudel/NetBeansProjects/ProjetWS/dist/ProjetWS.jar\" hsa 10048 8 50 5.0 0.05");

j'obtiens bien la page web avec mes prints, mais rien en se passe d'autre.

Quand je lance la commande "java -jar \"/home/maroudel/NetBeansProjects/ProjetWS/dist/ProjetWS.jar\" hsa 10048 8 50 5.0 0.05" directement dans un terminal, elle fonctionne et m'affiche ma page web avec mes résultats ( codé dans la .jar).

J ai essayé de remplacer system par exec, ce qui n'a rien donné.
J ai ausi essayé de mettre exec("commande") avant mon print "Voici la ligne de commande pour exec:<br /><br /> $commargs";, ce qui a pour effet de tuer le processus et donc de ne rien afficher.

J'aimerais savoir si vous auriez une solution à me soumettre!
Merci

Configuration: Linux
Firefox 3.0.9

Meilleures réponses pour « Lancer un .jar depuis un script cgi perl » dans :
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Script au démarrage et à l'arrêt de Windows VoirL'astuce est valable pour Windows XP, Vista et 7 ; mais la méthode varie suivant l'édition de votre Windows (professionnelle ou familiale). Pour les éditions professionnelles ou intégrales Lancer l'éditeur de stratégie du groupe local : Menu...
Introduction à la programmation des CGI VoirPrésentation de l'interface CGI Un script CGI (Common Gateway Interface, traduisez interface de passerelle commune) est un programme exécuté par le serveur web (on dit généralement « côté serveur »), permettant d'envoyer au navigateur de...
L'affichage de données sur le navigateur avec les CGI VoirBut d'un script CGI Les scripts CGI ont pour but d'afficher des pages Web générées par un programme informatique, d'où la dénomination de pages web dynamiques pour les pages créées par ce moyen. Toutefois, étant donné que le serveur renvoie telles...
CGI - Réception et traitement des données VoirEnvoyer des données à un script CGI L'envoi de données à un script CGI se fait par l'intermédiaire d'un formulaire HTML. Les formulaires HTML se créent à l'aide de la balise contenant des boutons, des champs, des listes et/ou des cases à...

1

lami20j, le 26 avr 2009 à 22:41:31

Salut,

Essai

system ("java", "-jar", "/home/maroudel/NetBeansProjects/ProjetWS/dist/ProjetWS.jar", "hsa 10048 8 50 5.0 0.05"); 
En fait system prends en argument une liste.
Il faut que tu sépare les éléments de la commande
system("nom commande", "option1", "option2",...., "arg1", "arg2",...);


106485010510997108

Répondre à lami20j

2

Sydreai63, le 26 avr 2009 à 22:48:36

Meme probleme, j ai toujours une page qui s'affiche avec mes prints, mais rien d'autre ne se passe.

Répondre à Sydreai63

3

lami20j, le 26 avr 2009 à 22:55:00

Re,

Ben, tu n'as que faire des tests, tout en tenir compte de ça

<ital>En fait system prends en argument une liste.
Il faut que tu sépare les éléments de la commande

system("nom commande", "option1", "option2",...., "arg1", "arg2",...);/ital> 106485010510997108

Répondre à lami20j

4

 Sydreai63, le 27 avr 2009 à 10:02:40

Ha, j'ai compris!
En fait, j'avais bien testé la ligne de commande que tu m'avais donné, le seul truc, c'est que "hsa 10048... sont aussi des arguments, il m a suffit de suivre ton conseil et de les mettre chacun entre quote!
Merci bien!

Répondre à Sydreai63