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 :

[JSP] thread ? Message d'avancement des operations en cours


Sujet :

Servlets/JSP Java

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv�
    Inscrit en
    F�vrier 2003
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2003
    Messages : 109
    Par d�faut [JSP] thread ? Message d'avancement des operations en cours
    Bonjour,

    d�sol� pour le titre, je ne savais pas quoi mettre d'autre.

    apr�s recherche vaine sur le forum, j'ai une simple question.
    Dans une page JSP, j'effectue un traitement lourd (indexation d'une centaine de fichiers PDF).
    La page met un temps long � s'affcher du fait de ce traitement.
    J'aimerais pouvoir ouvrir une pop-up par exemple, qui m'indique o� j'en suis dans mon traitement genre :
    Indexation de fichier n�2 en cours Avancement : 1%
    Indexation de fichier n�3 en cours Avancement : 3%
    Indexation de fichier n�6 en cours Avancement : 5%
    comment puis je faire ?
    quelqu'un m'a parl� de faire un thread ? est ce le seul moyen et est ce propre ? je ne m'y connais pas trop en thread

    merci � tous d'avance

  2. #2
    Membre �m�rite
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    D�tails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Par d�faut
    j'ai deja fait un truc similaire et c galere.

    le mieux ct de passer par une page temporaire avec un message et qui se recharge automatiquement toutes les x secondes.

    Et sur la nouvelle page qui s'affiche r�gulierement, tu integres une donn�es qui donne l'avancement.

    L'interet de la chose c qu'en passant un int par exemple tu peux generer une page avec une barre de progression ( en fait une image dont le int repr�sente la taille sur une dimmension ...)

    @+

  3. #3
    Membre �prouv�
    Inscrit en
    F�vrier 2003
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2003
    Messages : 109
    Par d�faut
    ok, je vois vaguement l'id�e mais j'ai pas bien compris comment implementer tout �a :
    pour l'instant ma page fait un truc du style
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    while(...){
           Appel fonction Indexation()
     
           //ici actualiser le message pour l'avancement
    }
    il faudrait actualiser le message � chauqe passage dans la boucle mais comment faire, j'ai pas bien compris...

  4. #4
    Membre �m�rite
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    D�tails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Par d�faut
    ah non ne passe pas par une boucle.

    Tu as d'un cot� ta classe qui fait l'indexation et qui sait sur quel ficher elle est ( disons le 59 eme ).

    A chaque fois qu'elle a finit l'indexation d'un fichier elle mets a jour une variable publique ou une varible priv�e accessible par un accesseur getIndex().

    Ensuite tu cr�e une page jsp simple avec un autoreload dans le header pour qu'elle se recharge toute seule (en n'oubliant pas de desactiver le cache)

    Et dans cette page lorsqu'elle s'affiche elle fait appel � la variable d'index ou au getIndex directement dans la classe d'indexation.

    Ensuite pour ce qui est graphique je te laisse faire .

    Si tu a un doute sur un truc n'h�sites pas...


    @+

  5. #5
    Membre �prouv�
    Inscrit en
    F�vrier 2003
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2003
    Messages : 109
    Par d�faut
    ok, je comprends mieux, je vais faire quelques tests et je te tiens au courant
    au fait, tant que j'y suis, comment on specifie le reload de la JSP...?
    merci en tout cas

  6. #6
    Membre �m�rite
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    D�tails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Par d�faut
    reload toutesd les 20 secondes par exemples:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <META HTTP-EQUIV="refresh" CONTENT="20">
    N'oublies pas de sp�cifier aussi que qd t arriv� a 100 % il faut repartir sur une page "normale".

    Mais ca en jsp c facile , tu tests sur le getIndex et si c 100, tu fait un RequestDispatcher.forward(une autre page)...

    pour le cache:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    dans <head>
    <META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
    <META HTTP-EQUIV="Expires" CONTENT="Tue, 26-Oct-1965 12:00:00"> 
    <META HTTP-EQUIV="Expires" CONTENT="NOW"> 
    <META HTTP-EQUIV="last modified" CONTENT="NOW"> 
    ou
    <META HTTP-EQUIV="Expires" CONTENT="0">

    @+

  7. #7
    R�dacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960

  8. #8
    Membre �prouv�
    Inscrit en
    F�vrier 2003
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2003
    Messages : 109
    Par d�faut
    merci, �a a l'air bien interessant, je vais peut �tre me replier sur cette solution car jen'arrive pas � faire marcher la methode de RandomX, il ne m'affiche le message qu'une fois le traitement termin� ..?!

  9. #9
    R�dacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Par d�faut
    je pense que la methode de randomX et celle de l'article ne font qu'un

  10. #10
    Membre �m�rite
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    D�tails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Par d�faut
    hue j'ai lu tres rapidement mais c pas exactement pareil mais ca m'a l'air pas mal comme m�thode.

    Disons qu'au moins la solution est complete l�.

    @+

  11. #11
    Membre �prouv�
    Inscrit en
    F�vrier 2003
    Messages
    109
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2003
    Messages : 109
    Par d�faut
    merci � vous deux m�me si maintenant, je n'en n'est plus besoin, en fait mais en tout cas, je saurais le faire la prochaine fois

  12. #12
    Membre �clair�
    Avatar de iubito
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activit� : D�veloppeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Par d�faut
    la m�thode pr�sent�e plus haut.
    Comment faire pour lancer le traitement.
    Par exemple, au premier chargement de la page, instancier ma classe statique (c bien �a statique?) qui se d�brouille pour traiter tous les fichiers.
    Ensuite � chaque reload on r�cup�re une variable public de la classe.
    Et quand c'est fini, on peut d�sinstancier la classe ?

    Le probl�me, si plusieurs utilisateurs lancent la m�me page (bien �videmment sur des donn�es diff�rentes, mais m�me genre de traitement)... comment faire pour l'instance de ma classe ? parce que si elle est statique, y'a qu'une seule instance pour tout le monde, non?

    ou alors peut-�tre qu'il faut que je l'instancie au d�marrage du serveur et que je ne l'arr�te jamais...

  13. #13
    Membre �m�rite
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    D�tails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Par d�faut
    ben non pas statique justement sinon tu tombes sur le probleme que tu souleves.

    Chaque utilisateur cr�e son thread s'en sert et le met � null qd c fini....

    si tu regardes bien il y a une methode start et une methode stop ( c un thread )


    @+

  14. #14
    Membre �clair�
    Avatar de iubito
    Homme Profil pro
    D�veloppeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activit� : D�veloppeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Par d�faut
    mais alors ce que je capte pas, c comment il retrouve la classe, quand la jsp fait un des multiples rechargement ?

  15. #15
    Membre �m�rite
    Avatar de RanDomX
    Profil pro
    sans
    Inscrit en
    Mars 2003
    Messages
    579
    D�tails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : sans

    Informations forums :
    Inscription : Mars 2003
    Messages : 579
    Par d�faut
    il le recupere dasn la session utilisateur:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    <jsp:useBean id="task" scope="session"
        class="com.devsphere.articles.progressbar.TaskBean"/>

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [servlet]affichage des messages d'avancement de l'�x�cution
    Par moabomotal dans le forum Servlets/JSP
    R�ponses: 8
    Dernier message: 09/05/2007, 15h08
  2. [JSP SERVLET]Moment d'expiration des objets du scope Request
    Par Little_Goldo dans le forum Servlets/JSP
    R�ponses: 6
    Dernier message: 25/08/2005, 13h18
  3. Commande date. Faire des opération sur l'heure?
    Par fidififouille dans le forum Linux
    R�ponses: 9
    Dernier message: 23/08/2004, 15h16
  4. afficher la signature des opérations dans XDE
    Par ChristopheH dans le forum Rational
    R�ponses: 1
    Dernier message: 24/05/2004, 15h41
  5. [JSP][Tomcat] : forcer la compilation des jsp.
    Par Ekros dans le forum Tomcat et TomEE
    R�ponses: 5
    Dernier message: 29/04/2004, 11h27

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