Avatar billede genvej Nybegynder
09. april 2005 - 13:39 Der er 8 kommentarer og
1 løsning

JSP slutter aldrig...selvom jeg lukker sessionen

Jeg vil gerne holde øje med hvor længe mine gæster er på min side, så jeg har lavet følgende.

<jsp:setProperty name="hello"  property="name" value="<%=request.getRemoteUser()%>" />
<jsp:setProperty name="hello"  property="adress" value="<%=request.getRemoteAddr()%>" />
<jsp:setProperty name="hello"  property="host" value="<%=request.getRemoteHost()%>" />
<% hello.insertData(); %>

<% int i=1;
  while (i==1) {  hello.insertDataAndSleep();} %>
</body>


Men selvom mine webgæster lukker sessionen drøner min løkke bare videre... hvordan gør jeg så?
Avatar billede arne_v Ekspert
09. april 2005 - 13:43 #1
Jeg vil godt tro på at

while (i==1)

kører længe.

:-)

Jeg tror at du skal have lavet en session listener !
Avatar billede arne_v Ekspert
09. april 2005 - 13:44 #2
Der er et eksempel på en sådan her:
  http://www.onjava.com/pub/a/onjava/2001/10/10/jsp.html?page=3
Avatar billede arne_v Ekspert
09. april 2005 - 13:50 #3
eller http://www.orionsupport.com/documents/0/20.html

Eksemplerne tæller kun men du kan relativt nemt ændre det til at registere
hvor længe de har været der.
Avatar billede genvej Nybegynder
09. april 2005 - 14:39 #4
hmmm... andre tips? sessionDestroyed bliver jo ikke kaldt hvis browser winduet lukkes eller anden (ikke-server-kontrolleret)handling forekommer... og så er dit billede jo rigtig dårligt
Avatar billede arne_v Ekspert
09. april 2005 - 14:43 #5
Jo - sessionDestroyed bliver kaldt når sessionen timer ud.

(og du kan sågar spørge og hvor lang tids inaktivitet der har været før
timeout)

Det er *måden* at gøre det på.
Avatar billede genvej Nybegynder
09. april 2005 - 14:52 #6
ja... jeg ved at den slutter på timeout... men der går 30 minutter default. er der ikke en måde hvor jeg kan se at han ikke længere ser min side (hmmm tror jeg heller ikke rigtig selv på, info ligger jo client-side)..
arne... state et svar og tak for hjælpen
Avatar billede genvej Nybegynder
09. april 2005 - 14:54 #7
ikke så stærk i jsp men havde en tosset idé om at clienten havde en fysisk handle på min jsp (hvilket er vrøvl ved eftertanke)
Avatar billede arne_v Ekspert
09. april 2005 - 14:57 #8
du kan kalde

event.getSession().getLastAccessedTime()

i sessionDestroyed og bruge det fremmfor System.currentTimeMillis() som slut
Avatar billede arne_v Ekspert
09. april 2005 - 14:59 #9
svar
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