Avatar billede rennebo Nybegynder
17. november 2000 - 17:01 Der er 1 kommentar og
2 løsninger

Session i servlets

Hvis du kender lidt til ASP så er det her spørgsmål meget nemt forklaret.

I global.asa i ASP kan man sætte sin Session_OnEnd, til bl.a. at logge en bruger der klikker på x\'et af.
Hvordan klares det samme i Java Servlets?

Skulle du ha\' et eksempel på hvordan man ellers håndterer sessions i java ville jeg da være glad for at se det, men det er ikke det primære
Avatar billede davsclaus Nybegynder
21. november 2000 - 20:41 #1
Jeg vil mene at du kan bind\'e en listener til HttpSession, så du får en event når f.eks. sessionen lukkes.

Du bør kikke i java API\'et til javax.servlet.http

Hvis jeg husker det så kikker jeg lige i nogle java bøger som vi har på arbejdet som omhandler servlet\'s
Avatar billede theill Nybegynder
25. november 2000 - 11:31 #2
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.
Avatar billede davsclaus Nybegynder
25. november 2000 - 12:58 #3
Jeg fandt lige dette hurtigt på deja news:

---
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester