Ja, davsclaus har ret -- det er endda lige ud af landevejen. Du laver din egen session klasse
public class NotifySession extends javax.servlet.http.HttpSession implements javax.servlet.http.HttpSessionBindingListener { public void valueBound(HttpSessionBindingEvent event) { System.out.println(\"En lille ny\"); }
public void valueUnbound(HttpSessionBindingEvent event) { System.out.println(\"Du er vaek\"); } }
Saa skal du bare soerge for, at bruge denne session; hvordan det goeres er ret server specifik, men kig evt serverens API igennem.
--- You can use the HttpSessionBindingListener interface for this. If you set an attribute into the HttpSession, and this attribute object implements HttpSessionBindingListener, then the servlet engine will call valueUnbound() when the session expires. We use this to keep track of sessions across the server. ---
Altså lav en class som theill foreslår. Lav en singleton klasse som instanciere theill\'s klasse og tilføj denne klasse i HttpSession. (Betyder blot at thiell\'s klasse kun bliver oprettet en gang, evt. en static class kan også benyttes)
Så vil denne klasse blive notified når en session opstår/dør. Når du så skal have udksrevet antallet af online brugre kan du tilgår theill\'s klasse fra HttpSession og spørge den hvor mange brugere der er online.
Hvis du skal have hjælp til selve koden, så forsøg at lave lidt selv, og spørg evt. igen her.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.