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

Java Discussion :

wait et notify


Sujet :

Java

  1. #21
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par thelvin Voir le message
    En principe pour ce genre de besoin on se contente de faire des requêtes AJAX en boucle jusqu'à ce que le traitement ait été fait. Si on n'aime pas ça, on se dirigera plutôt du côté des websockets.
    Solution que j'ai déjà proposé à l'auteur (cf: Long Polling et Websocket).
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  2. #22
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    On m'a aussi parler des Threads Groupes.

    Sinon voici ma servlet:
    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
     
    public class MaServlet extends HttpServlet {
    	 public void init(ServletConfig config) throws ServletException { // TODO
     
    	 }
     
    	protected void service(HttpServletRequest request, HttpServletResponse response)
    			throws ServletException, IOException {
     
    //Lecture des données envoyer par le client http codé en java
    String donnee = "";
     
    BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));
     
    while(reader.ready()){
            donnee = donnee + reader.readLine();
    }
    reader.close();
     
    if(request.getSession().getAttribute("utilisateur") == null && request.getParameter("url")==null) {
            //Création du message et envoie à la couche suivante
            getServletContext().getRequestDispatcher("/attente.jsp").forward(request, response);
    }else {
    	switch(request.getParameter("url")){
    		case "connexion" :
    				String login = request.getParameter("login");
    				String mdp= request.getParameter("mdp");
                                    //Création du message et envoie à la couche suivante
                                    getServletContext().getRequestDispatcher("/attente.jsp").forward(request, response);
     
    			break;
    		case "AJAX":
    				System.out.println("REQUETE AJAX");
    				MonObjet page = new MonObjet();
     
    				synchronized(page){
    					page.notify();
    					while(page.getPage() == null){
    						try {
    							page.wait();
    						} catch (InterruptedException e) {
    							e.printStackTrace();
    						}
    					}
    				}
    				response.setContentType("text/xml");
    				response.setHeader("Cache-Control", "no-cache");
    				response.getWriter().write("<message>"+page.getPage()+"</message>");
    			break;
    		case "JAVA":
    				Action action = new Action(donnee);
    				page= action.getPage();
    				synchronized(page){
    				page.notify();
    				}
     
    				break;
    			}
            } 
    	}
    }
    Dès que mon lecteur reçoit un truc, il invoque un client http qui envoie une requête à la servlet, d'où url = JAVA
    Action est une classe qui permet de savoir le type de message reçu et ensuite rediriger vers la bonne classe pour faire le traitement en appelant la méthode traitement().

    classe qui gère la connexion par exemple:
    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
     
    	public MonObjet traitement() {
                    MonObjet page = new monObjet();
    		User user = new user();
                    //Récupérer et affectation du login, nom et prenom à l'objet joueur
     
                    if(user.getNom.equal(null) && user.getPrenom.equal(null){
                    page.setPage("connexion");
                    }else{
                    page.setPage("accueil");
                    }
     
                    return page;
     
    	}
    Dans ma méthode, je vais écrire dans des bean, ici User par exemple. Mais comment je vais pouvoir les récupérer dans mes jsp? Et du coup comment faire la redirection?

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Problème de wait and notify
    Par Drife dans le forum Général Java
    Réponses: 5
    Dernier message: 06/10/2011, 15h50
  2. Thread et utilisation de wait() et notify()
    Par K-you dans le forum Général Java
    Réponses: 6
    Dernier message: 13/04/2010, 11h19
  3. [Thread] wait and notify
    Par storm_2000 dans le forum Concurrence et multi-thread
    Réponses: 0
    Dernier message: 27/10/2009, 22h24
  4. Réponses: 2
    Dernier message: 03/05/2009, 12h18
  5. Wait() et notify()
    Par rhadamanthe315 dans le forum Langage
    Réponses: 1
    Dernier message: 02/11/2007, 09h01

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