Solution que j'ai déjà proposé à l'auteur (cf: Long Polling et Websocket).
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
On m'a aussi parler des Threads Groupes.
Sinon voici ma servlet:
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
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; } } } }
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:
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?
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; }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager