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 :

Problème Jsp et execution de commande dos


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 22
    Par défaut Problème Jsp et execution de commande dos
    bonjour,

    je suis en train de me faire un java bean dont une fonction execute Access (qui s'ouvre,execute sa moulinette et se ferme). Le but est de l'appeler à partir d'une page JSP à partir d'un lien.

    Quand je test le javabean en l'executant depuis un objet java avec un main sur le serveur avec une déclaration du genre :
    MonBean B=new Monbean(); B.appelAccess();

    ça passe et access est démarré.

    Mais quand je fais une JSP qui appel le bean, celle ci s'execute correctement puisque le trace les message system.out.println() dans les logs de tomcat mais Access ne se démarre pas et donc mon jsp se fige en attendant que le process se termine... La javabean lui aussi se fige en attendant qu'access se termine.

    La question est : pourquoi ça marche avec un java mais pas une page jsp?? y'aurait il des droits à configurer pour Apache tomcat afin qu'il puisse démarrer des programmes tiers??

    merci d'avance pour votre aide

  2. #2
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Ou veux-tu executer ca sur le client ou sur le serveur ?
    Si c est client, a mon avis il faut des droits tres particluliers ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 22
    Par défaut
    tout se passe sur le serveur, la jsp doit me permettre de faire tourner la moulinette access installé sur le serveur et de proposer en dl les fichiers généré par la moulinette.

    javabean,tomcat et access sur le serveur. rien chez les clients (sauf le navigateur bien fur ^^)

  4. #4
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Si tu fais ca par exemple, ca permet d executer une commande systeme:

    Runtime.getRuntime().exec( "dir" );

    mais a ta place je le ferais dans la servlet et pas dans la jsp.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 22
    Par défaut
    niark j'vais essayer d'être plus clair:

    j'ai ma jsp qui ne fait qu'afficher un message et qui lance la fonction exec() de ma javabean. La fonction exec() execute la commande (avec les try qui vont bien):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    System.out.println("avant");
    String commande = "\"c:\msacess /x ag1&ag2\" "  
    Process conf= Runtime.getRuntime().exec(commande);
    conf.waitfor();
    System.out.println("apres");
    Le souci, c'est que quand j'appel exec() par l'intermédiaire d'un programme java "de base" (placé sur le serveur) avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monBean B=new monBean();
    B.exec();
    tout marche correctement : "avant" s'affiche, Access est bien lancé, il genere ses fichiers et se ferme, "apres" s'affiche

    Mais quand c'est mon jsp qui l'appel en tant que javabean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <jsp:useBean id="B" class="monBean" ... >
    "avant" s'affiche, puis la jsp attend indéfiniment le conf.waitfor() car Access ne se lance pas!

    Pourtant il s'agit de la meme classe, la seul chose qui a changé est l'appelant donc je ne comprend pas pourquoi dans un coup il se lance et l'autre non...
    Une javabean n'a pas le droit d'exécuter ce type de commande? ça m'étonnerai quand même

  6. #6
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    etrange en effet
    Est- ce que tu as un message d erreur particulier ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 22
    Par défaut
    nan rien.
    Le log tomcat me dit les messages out.println comme dit dans le post précédent sans message d'erreur. C'est juste que le apres n'apparait pas dans les traces (logique).
    Le jsp tourne sans fin.

    y'a t il un autre endroit où l'on pourrait rescencer les erreurs?

  8. #8
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    dans l log du plugin d eclipse :
    probablement la :
    [workspace eclipse]\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\logs

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 22
    Par défaut
    euh j'ai pas le plugin eclipse pour faire les jsp et je ne suis pas sur le serveur, j'up mes pages à chaque fois pour les tester :/

  10. #10
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    aie ca se complique ....

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 22
    Par défaut
    y'a t il des commandes "jsp" qui permettrait d'afficher les erreurs que le module eclipse aurait afficher? (pas le simple printstack des block try catch)

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/02/2009, 18h00
  2. executer une commande dos a partir d'une page WEB
    Par wagga84 dans le forum Langage
    Réponses: 1
    Dernier message: 15/03/2006, 11h09
  3. [VB]Problème d'exécution d'une commande dos...
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 21
    Dernier message: 17/02/2006, 12h28
  4. Réponses: 21
    Dernier message: 08/08/2005, 11h57
  5. [Debutant(e)][Système]Executer une commande DOS
    Par iceman dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 18/05/2004, 14h30

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