IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Exécuter fichier .BAT depuis page JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 11
    Points : 13
    Points
    13
    Par défaut Exécuter fichier .BAT depuis page JSP
    Bonjour,

    J'aimerais exécuter un fichier .BAT depuis ma page web au lieu de la boite de commande.

    Mon application est sous Apache Tomcat. Elle est composée de pages Html et JSP.

    Je souhaite exécuter le fichier batch depuis ma page web grâce à un bouton ou une redirection vers un lien par exemple.


    Je ne sais pas si c'est faisable.
    Mais si quelqu'un pourrait m'aider avec une indication ou autre , j'en serais très reconnaissante.

    Bien à vous.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il est sur le serveur sur .bat, ou sur le client ?
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 11
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,

    Il est sur le serveur sur .bat, ou sur le client ?

    Merci Joel d'avoir répondu,

    En fait ce fichier est issu d'un programme (Pentaho Data Integration) , son extension est .ktr. Je l'ai intégré dans un fichier .bat pour automatiser son execution .

    Seule mon application web est sous le serveur web Apache. Je dispose de pages Html et Jsp .

    Et j'aimerais consacrer une de ces pages pour permettre à l'utilisateur d'executer le fihicer .bat directement depuis la page, sans devoir l'executer de manière externe au niveau de la boite de commande.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Ce n'est donc pas un .bat qui existerait déjà et qui pourrait être sur le client. Il est donc forcément sur le serveur (enfin c'est là que tu vas le mettre) : peu importe alors que tu sois dans une application web ou pas, pour exécuter un programme externe, on utilise Runtime.getRuntime().exec(), ou ProcessBuilder. Attention, toutefois aux possibilités de conflits, en cas d'appel simultané par plusieurs utilisateurs.

    Tu trouveras le détail de leur utilisation dans ce tutoriel.

    Ensuite, 2 aspects :

    1. Piloter la méthode java du serveur pour que le bat s'exécute quand l'utilisateur fait une action (donc dans le client - en cliquant sur un lien ou un bouton par exemple)
    2. Récupérer un résultat et le rendre au client (afficher des trucs au client, ne serait-ce qu'un "machin exécuté"


    Pour le premier point, c'est exactement comme pour n'importe quelle exécution : tu peux par exemple faire simplement une jsp (ou mieux une servlet) avec le code java qui lance le bat, et invoquer cette jsp sur un lien ou un bouton dans ta page html (comme tu invoquerais une jsp pour naviguer (a/href), on poster des data (form + input submit), etc.)

    Pour le second point, il faut que le code attende le résultat de l'exécution pour l'envoyer dans le flux de retour de la jsp, exactement comme n'importe quel résultat d'exécution. Si le bat produit un résultat qui doit être présenté à l'utilisateur (dans le client donc), tu peux par exemple récupérer le résultat dans le flux de sortie standard du bat sous forme de String et l'écrire dans le flux de la jsp, en le formattant par du html/css, comme tu ferais pour n'importe quelle donnée (lue dans une base de données par exemple).

    A noter que tout ceci nécessite que le bat ne soit pas interactif, parce que dans ce cas :

    • l'interaction peut-être automatisée (tous les paramètres sont saisies d'avance et tu sais dans quel ordre les écrires dans l'entrée standard du bat) : c'est moyennement complexe ;
    • l'interaction nécessite l'intervention de l'utilisateur et ça peut être beaucoup plus complexe.


    Par ailleurs, si le .bat est censé s'exécuter dans le client, ce ne sera pas possible autrement que par une opération de téléchargement de l'utilisateur (non transparent donc) et une exécution classique : tout dépend du contexte, mais si c'est un site publique, il y a peu de chance qu'un utilisateur accepte de le faire ou alors.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Lancer un fichier.bat depuis l'exécutable jar
    Par zpico dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 23/10/2012, 17h54
  2. acceder à un fichier xml depuis une jsp
    Par rvfranck dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 04/10/2006, 18h12
  3. Problème exécution fichier.bat
    Par Barbu15-95 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 03/10/2006, 23h02
  4. [BAT] commande AT pour exécuter fichier .bat
    Par PatLogan dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 04/01/2005, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo