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 :

[servlet]affichage des messages d'avancement de l'éxécution


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut [servlet]affichage des messages d'avancement de l'éxécution
    Bonjour,

    peut-être le titre de mon topic ne vous dit rien.
    au fait, mon problème est le suivant:

    j'ai développé une classe Java qui éxécute plusieurs tâches. il y a des tâches parrallèles est d'autres séquentielles. j'ai utilisé des threads pour synchroniser tout ça.

    j'ai une servlet qui instancie ladite classe et veille au séquencement des threads.

    ce que je veux faire c'est afficher un message sur le navigateur au début et à la fin de chaque tâche.

    de genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //début de la tache1
    out.println("Début tache1 ...");
     
     
    //fin de la tache
    out.println("Fin de la tache1");
    au fait j'ai fait tout ça mais sur le navigateur tous les messages s'affichent à la fin de l'éxécution de la servlet.

    je ne sais si il y a un moyen d'afficher chaque message en temps réel.

    Merci

  2. #2
    Membre actif Avatar de jibbi
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 165
    Points : 205
    Points
    205
    Par défaut
    Salut

    et si tu essaie avec err.println() au lieu de out.println() ?

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il faudrait passer par le Writer de la servlet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    PrintWriter out = response.getWriter();
     
    out.write("......");
    out.flush();
     
     
    ...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    c'est exactement ce que j'ai fait mais mes messages s'affichent à la fin l'éxécution de la servlet.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    ma méthode doPost est la suivante:

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
     
                 response.setContentType("text/html");
    	PrintWriter out = response.getWriter();
     
     
    	MaClasse cl = new MaClasse("param1", "param2");
    	cl.init();
     
    	//creation des threads de chaque methode
    	//T1: Thread de la methode tache1
    	Runnable t1 = new leThread(cl, 1);
    	Thread T1 = new Thread(t1);
     
     
    	//T2: Thread de la methode tache2
    	Runnable t2 = new leThread(cl, 2);
    	Thread T2 = new Thread(t2);
     
     
               //T3: Thread de la methode tache3
    	Runnable t3 = new leThread(cl, 3);
    	Thread T3 = new Thread(t3);
     
               //T4: Thread de la methode tache4
    	Runnable t4 = new leThread(cl, 4);
    	Thread T4 = new Thread(t4);
     
                //T5: Thread de la methode tache5
    	Runnable t5 = new leThread(cl, 5);
    	Thread T5 = new Thread(t5);
     
    	//T6: Thread de la methode tache6
    	Runnable t6 = new leThread(cl, 6);
    	Thread T6 = new Thread(t6);
     
    	//T7: Thread de la methode tache7
    	Runnable t7 = new leThread(cl, 7);
    	Thread T7 = new Thread(t7);
     
                //T8: Thread de la methode tache8
    	Runnable t8 = new leThread(cl, 8);
    	Thread T8 = new Thread(t8);
     
     
    	out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
    	out.println("<HTML>");
    	out.println("<HEAD>");
    	out.println("<TITLE>ma servlet</TITLE></HEAD>");
    	out.println("  <BODY>");
     
    	out.println("Début tache1 ...<br>");
    	T1.start();
    	out.flush();
     
    	out.println("Début tache2 ...<br>");
    	T2.start();
    	out.flush();
     
    	out.println("Début tache3 ...<br>");
    	T3.start();
     
    	    out.flush();
     
    	    while (T1.isAlive()) {;}
     
    	    out.println("Fin tache1 ...");
    	    out.println("Début tache4 ...<br>");
    	    T4.start();
     
    	    out.flush();
     
    	    while(T4.isAlive()) {;}
    	    out.println("Fin tache4 ...<br>");
    	    out.println("Début tache5 ...<br>");
     
    	    T5.start();
    	    out.flush();
     
    	    while(T2.isAlive() || T4.isAlive()) {;}
    	    out.println("Fin tache4 ...<br>");
    	    out.println("Début tache6 ...<br>");
     
    	    T6.start();
    	    out.flush();
     
    	    while(T5.isAlive()) {;}
    	    out.println("Fin tache5 ...<br>");
    	    out.println("Début tache7 ...<br>");
     
    	    T7.start();
    	    out.flush();
     
    	    while(T1.isAlive() || T2.isAlive() || T3.isAlive() || T4.isAlive() || T5.isAlive() || T6.isAlive() || T7.isAlive()) {;}
    	    out.println("Fin tache6 et tache7 ...<br>");
    	    out.println("Début tache8 ...<br>");
     
    	    T8.start();
    	    out.flush();
     
    	    while(T8.isAlive()) {;}
    	    out.println("Fin de toutes les taches ...<br>");
     
     
    	out.println("  </BODY>");
    	out.println("</HTML>");
    	out.flush();
    	out.close();
    	}

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    C'est peut-être parce qu'elle se termine très vite...
    J'ai fait le test suivant (à partir de ton code) et ça fonctionne :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    package clemessy.tools;
     
    import java.io.PrintWriter;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    public class Test extends HttpServlet
    {
        public void service(HttpServletRequest request, HttpServletResponse response)
        {
            PrintWriter out = null;
     
            try
            {
                out = response.getWriter();
                response.setContentType("text/html");
     
                out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
                out.println("<HTML>");
                out.println("<HEAD>");
                out.println("<TITLE>ma servlet</TITLE></HEAD>");
                out.println("  <BODY>");
     
                out.println("Début tache1 ...<br>");
                Thread.sleep(5000);
                out.flush();
     
                out.println("Début tache2 ...<br>");
                Thread.sleep(5000);
                out.flush();
     
                out.println("Début tache3 ...<br>");
                Thread.sleep(5000);
                out.flush();
     
                    out.println("Fin tache1 ...");
                    out.println("Début tache4 ...<br>");
                    Thread.sleep(5000);
                    out.flush();
     
                    out.println("Fin tache4 ...<br>");
                    out.println("Début tache5 ...<br>");
     
                    Thread.sleep(5000);
                    out.flush();
     
                    out.println("Fin tache4 ...<br>");
                    out.println("Début tache6 ...<br>");
     
                    Thread.sleep(5000);
                    out.flush();
     
                    out.println("Fin tache5 ...<br>");
                    out.println("Début tache7 ...<br>");
     
                    Thread.sleep(5000);
                    out.flush();
     
                    out.println("Fin tache6 et tache7 ...<br>");
                    out.println("Début tache8 ...<br>");
     
                    Thread.sleep(5000);
                    out.flush();
     
                    out.println("Fin de toutes les taches ...<br>");
     
     
                out.println("  </BODY>");
                out.println("</HTML>");
                out.flush();
            }
            catch (Exception e)
            {
     
            }
            finally
            {
                out.close();
            }
        }
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    j'ai testé sous IE et ça marche.
    par contre ça ne marche pas sous Mozilla firefox que j'utilise souvent.

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Moi j'ai fait le test avec Firefox, et ça fonctionnait...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 84
    Points : 63
    Points
    63
    Par défaut
    Non ça ne marche pas chez moi sous Mozilla Firefox

Discussions similaires

  1. affichage des message d erreures
    Par Philcmoi dans le forum JSF
    Réponses: 6
    Dernier message: 05/08/2007, 19h18
  2. [PostgreSQL] eviter l'affichage des messages d'erreur
    Par Gandalf dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/03/2007, 10h15
  3. affichage des messages reçus
    Par castelm dans le forum Outlook
    Réponses: 2
    Dernier message: 08/03/2007, 19h13
  4. Réponses: 2
    Dernier message: 05/05/2006, 14h49
  5. Réponses: 2
    Dernier message: 23/03/2006, 10h37

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