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 :

appel d'une fonction en cliquant sur un lien


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 4
    Points
    4
    Par défaut appel d'une fonction en cliquant sur un lien
    Bonjour :

    je suis nouveau en jsp, et j'aimerais appeler une petite fonction en cliquand sur un lien:

    voila ma page que j'ai fait mais ca marche pas:

    <%@ page import="java.lang.*,java.io.*" %>
    <%!
    public void execute(String lien) throws IOException
    {
    String[] cmd = new String[3];
    cmd[0] = "cmd.exe" ;
    cmd[1] = "/C" ;
    cmd[2] = lien;
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec(cmd);}

    %>
    <html>
    <head></head>
    <body>
    cliquer sur ce lien <%=execute(lien)%>



    merci de m'aider.

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Oulah ... Assez original ça

    Apparemment, tu n'as pas bien saisi l'idée d'une architecture trois tiers. Je te conseille vivement d'aller lire des cours/tutoriaux sur la question pour bien comprendre les différents niveaux d'exécution (dans ton navigateur, sur le serveur d'application)...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    oui je sais qu'il ya une architecture a 3 , mais dans mon exemple j'aimerais faire quelques chose simple et rapide pour un usage interne.

    est ce que t'es entrain de me dir que ca se fait pas ? ou une mauvaise pratique?

  4. #4
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Points : 181
    Points
    181
    Par défaut
    quand tu affiches ta jsp, affiche la source de la page et tu comprendras pourquoi ça ne peut pas fonctionner.

    tu dois d'abord comprendre le fonctionnement côté client et côté serveur.
    java s'éxécute coté serveur....

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    donc si je comprends bien il n y a pas de facon de faire fonctionner ma fonction? le probleme c'est que mon fichier executable que j'appel ce trouve cote client.

    je vois pas comment alors

  6. #6
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Si tu veux effectuer quelque chose côté client, c'est que tu es en train de faire une exécution dans ton navigateur. Le langage pour ça, c'est Javascript, pas Java...

    Effectivement, je te conseille de bien comprendre comment ça fonctionne côté serveur / côté client, en regardant des tutos et en visualisant les sources...

    Le Web, c'est compliqué, c'est du code (serveur) qui génère du code (client)...

  7. #7
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Pour résumer tu essaies d'executer un code qui

    1/ n'est pas existant, <% %> ne sert pas à faire des liens, mais à inclure du code java dans ta source

    2/ ne peut de toute manière pas fonctionner, je ne crois pas possible le fait de lancer une application depuis une page web.

    Eventuellement tourne toi vers un applet signé, lui pourrait répondre à tes attentes.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    merci beaucoup pour vos reponse:

    pour les applets j'en ai aucune idee, mais est ce que je peux reproduire mon ma fonction avec du javascript?

  9. #9
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Points : 2 331
    Points
    2 331
    Par défaut
    Je ne crois pas que javascript autorise cela.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    alors si je comprends bien j'ai pas de solution a ca?

  11. #11
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Points : 181
    Points
    181
    Par défaut
    voilà un bout de code pour lancer des applications via java.
    mais tu ne pourras le faire que dans une servlet ou une classe java qui va s'exécuter côté serveur. donc la fenêtre DOS va s'ouvrir sur le serveur d'application et pas sur le poste client sauf si ton poste est à la fois client et en même temps serveur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    # import java.io.*;
    # public class Exec {
    # public static void main(String[] args) {
    # String cmd;
    # // Win 95/98/ : pour lancer un .bat
    # // cmd = "command.com /c c:\\fichier.bat";
    #
    # // Win NT(XP...) : pour lancer un .bat
    # // cmd = "cmd /c c:\\fichier.bat";
    #
    # // Win 95/98/NT : pour lancer un .exe
    # // cmd = "command.com /c c:\\windows\\notepad.exe";
    #
    # // Win 95/98/NT : pour lancer une commande dos
    # // cmd = "cmd /c copy src.txt dest.txt";
    #
    #
    # // UNIX : pour lancer un script en precisant le shell (sh,bash)
    # // cmd = "/usr/bin/sh script.sh";
    #
    # // UNIX : pour lancer script
    # // cmd = "/path_complet/tonscript";
    #
    # // EXEMPLES .EXE : NetMeeting
    # cmd = "C:\\Program Files\\NetMeeting\\conf.exe";
    # // ainsi on peut lancer des programme tout a fait autonome
    # // on peut soit faire p.waitfor() ou pas les deux cas fonctionnent correctement
    # // je suppose aussi que c'est tout a fait vrai pour le cas d'UNIX (je ne l'ai pas tester
    #
    # try {
    # Runtime r = Runtime.getRuntime();
    # Process p = r.exec(cmd);
    # p.waitFor();//si l'application doit attendre a ce que ce process fini
    # }catch(Exception e) {
    # System.out.println("erreur d'execution " + cmd + e.toString());
    # }
    # }
    # }
    mais bon,regarde sur le web si tu peux trouver des infos. mais je ne vois pas comment accéder à une fenêtre DOS du client, java ne le permet pas contrairement au C ou C++

    même chose pour javascript je crois.

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    merci beaucoup pour vos réponses, maintenant je vais aller le faire coté servlet .

Discussions similaires

  1. appel d'une fonction en cliquant sur un bouton
    Par om_fanatics dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 22/04/2009, 09h56
  2. appel d'une fonction à chaque appui sur une touche du clavier
    Par jonnyboy dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/09/2007, 16h32
  3. changer la valeur d'une variable en cliquant sur un lien
    Par nintendoplayer dans le forum Langage
    Réponses: 2
    Dernier message: 05/08/2007, 19h09
  4. Affichage d'une page dans une autre en cliquant sur un lien
    Par ChrisMan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/05/2007, 18h41
  5. Réponses: 6
    Dernier message: 27/05/2005, 15h43

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