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 :

[ACTIVEMQ] Rafraichissement jsp


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut [ACTIVEMQ] Rafraichissement jsp
    Bonjour,

    Je développe une application web J2EE utilisant activemq. Je souhaiterai mettre à jour la page visible par l'utilisateur lors de la réception d'un nouveau message sans action préalable de sa part. Je ne vois pas comment faire pour rafraîchir la page.

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    tu dois déjà scinder la partie activemq de la partie interface. Pour mettre à jour l'interface, tu peux utiliser les servlet push (html5) http://www.oracle.com/webfolder/tech...-servlets.html ou le bon vieux javascript qui pose la question toutes les X secondes au server "je dois me rafraichir?".

    Coté activeMQ, tu peux par exemple créer un MessageDrivenBean qui, lors de la réception d'un message, envoie un évènement CDI, réceptionné par la servlet qui elle enverra le push vers le client.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut
    J'ai scindé la partie activemq de la partie interface en mettant en place un listener qui lance un lecteur de message pour la réception des messages. Si je veux utiliser javascript, comment la servlet signale un changement de comportement à l'utilisateur ?

    Est-ce que tu aurais un exemple d'implémentation avec javascript et événement CDI ?

    Merci d'avance.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    CDI permet juste à des composants internes de communiquer entre eux, rien à voir avec js. Je parlais de ça pour transférer l'info à la servlet. Un exemple avec js j'en ai pas sous la main, mais ça se résume à un timer javascript en boucle, qui appelle un service web avec XmlHttpRequest et quand la réponse change (exemple: timestamp du dernier message), il recahrge la page.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut
    Et est-ce que tu aurais un exemple d'un événement de CDI ?

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Définition de l'event
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class MonEvent {
      //ce que tu veux dedans tant que c'est Serializable
    }
    du coté émetteur de l'évènement CDI

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @Inject
    Event<MonEvent> monEventEmetteur;
    //...
    MonEvent event = new MonEvent();
    // mettre des infos dans l'event
    monEventEmetteur.fire(event);
    du coté récepteur (bean session, servlet)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void receptionEvenement(@Observes MonEvent event) {
        ...
    }

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 62
    Points : 30
    Points
    30
    Par défaut
    J'ai essayé d'implémenter l'événement CDI. Dans le cas d'une connexion à l'application, l'utilisateur saisit ses identifiants et je dois le diriger vers la bonne jsp : soit vers la page accueil ou de connexion. Mais je ne sais pas comment mettre l'utilisateur en session et faire la redirection dans la servlet (il n'y en a qu'une).

    Classe Redirection :
    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
     
    public class Redirection implements Serializable{
     private static final long serialVersionUID = 1L;
     private String redirection;
     private String message;
     
     public String getRedirection() {
      return redirection;
     }
     public void setRedirection(String redirection) {
      this.redirection = redirection;
     }
     public String getMessage() {
      return message;
     }
     public void setMessage(String message) {
      this.message = message;
     }
    }
    Emetteur :
    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
     
     Redirection redirection = new Redirection();
      @Inject
      Event<MonEvent> monEventEmetteur;
      MonEvent event = new MonEvent();
     
      if(messageErreur.equals("")){
          redirection.setRedirection("accueil");
       event.setRedirection(redirection);
       event.setUtilisateur(utilisateur);
         }else{
          redirection.setMessage(messageErreur);
          redirection.setRedirection("connexion");
          event.setRedirection(redirection);
         }
      monEventEmetteur.fire(event);
    Définition de l'event :
    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
     
    public class MonEvent {
     private Utilisateur utilisateur;
     private Redirection redirection;
     
     public Utilisateur getUtilisateur() {
      return utilisateur;
     }
     
     public void setUtilisateur(Utilisateur utilisateur) {
      this.utilisateur = utilisateur;
     }
     
     public Redirection getRedirection() {
      return redirection;
     }
     
     public void setRedirection(Redirection redirection) {
      this.redirection = redirection;
     }
    }
    Récepteur :
    Par contre, je ne vois pas comment la faire.

    Merci d'avance.

Discussions similaires

  1. Rafraichissement JSP JPF
    Par keub51 dans le forum Weblogic
    Réponses: 6
    Dernier message: 11/12/2007, 15h23
  2. probleme rafraichissement jsp
    Par couse1 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/11/2007, 11h04
  3. probleme rafraichissement jsp
    Par couse1 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 22/11/2007, 11h00
  4. Problème d'affichage d'une JSP et rafraichissement d'une page
    Par mega_info dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 05/10/2007, 15h37
  5. [JSP] Rafraichissement page mère
    Par SanNash dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 31/05/2006, 09h47

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