Avatar billede r9 Nybegynder
22. april 2002 - 22:20 Der er 11 kommentarer og
1 løsning

jspDestroy() ?

Hejsa igen...

Når jeg logger ind via min login-side sætter jeg en værdi til true i en database.
Når jeg så logger ud igen, sætter jeg jeg værdien til false. Det virker også fint.

MEN hvis en bruger lukker browseren, så bliver værdien aldrig sat til false, og man kan ikke logge ind igen.

Kan man ikke kalde en metode når sessionen dør, og på den måde sætte værdien i db?

F.eks. JspDestroy?

Eller kan det ikke lade sig gøre?
Avatar billede tower.dk Nybegynder
22. april 2002 - 22:20 #1
Du er her : Eksperten : Generelt : Site vurdering : Se min site og vurderet!!!!!! :



Se min site og vurderet!!!!!!    30 point fra tower.dk
HEJ EKSPERTEN!!!

Nu har tower [DOT] dk endelig en opdate klar (igen!!!).

JEG er stor fane af tower.dk og vil nu også gerne lave det.

Så nu har jeg nu fået taget mine sammen og lavet dette siden.

JEG HÅBER I VILLE VISE MIG JERES MENINGEN!

mvh.
Janus Kristensen AKA tower.dk 

Du er her : Eksperten : Generelt : Site vurdering : Se min site og vurderet!!!!!! :



Se min site og vurderet!!!!!!    30 point fra tower.dk
HEJ EKSPERTEN!!!

Nu har tower [DOT] dk endelig en opdate klar (igen!!!).

JEG er stor fane af tower.dk og vil nu også gerne lave det.

Så nu har jeg nu fået taget mine sammen og lavet dette siden.

JEG HÅBER I VILLE VISE MIG JERES MENINGEN!

mvh.
Janus Kristensen AKA tower.dk 


Du er her : Eksperten : Generelt : Site vurdering : Se min site og vurderet!!!!!! :



Se min site og vurderet!!!!!!    30 point fra tower.dk
HEJ EKSPERTEN!!!

Nu har tower [DOT] dk endelig en opdate klar (igen!!!).

JEG er stor fane af tower.dk og vil nu også gerne lave det.

Så nu har jeg nu fået taget mine sammen og lavet dette siden.

JEG HÅBER I VILLE VISE MIG JERES MENINGEN!

mvh.
Janus Kristensen AKA tower.dk 


Du er her : Eksperten : Generelt : Site vurdering : Se min site og vurderet!!!!!! :



Se min site og vurderet!!!!!!    30 point fra tower.dk
HEJ EKSPERTEN!!!

Nu har tower [DOT] dk endelig en opdate klar (igen!!!).

JEG er stor fane af tower.dk og vil nu også gerne lave det.

Så nu har jeg nu fået taget mine sammen og lavet dette siden.

JEG HÅBER I VILLE VISE MIG JERES MENINGEN!

mvh.
Janus Kristensen AKA tower.dk 


Du er her : Eksperten : Generelt : Site vurdering : Se min site og vurderet!!!!!! :



Se min site og vurderet!!!!!!    30 point fra tower.dk
HEJ EKSPERTEN!!!

Nu har tower [DOT] dk endelig en opdate klar (igen!!!).

JEG er stor fane af tower.dk og vil nu også gerne lave det.

Så nu har jeg nu fået taget mine sammen og lavet dette siden.

JEG HÅBER I VILLE VISE MIG JERES MENINGEN!

mvh.
Janus Kristensen AKA tower.dk 


Du er her : Eksperten : Generelt : Site vurdering : Se min site og vurderet!!!!!! :



Se min site og vurderet!!!!!!    30 point fra tower.dk
HEJ EKSPERTEN!!!

Nu har tower [DOT] dk endelig en opdate klar (igen!!!).

JEG er stor fane af tower.dk og vil nu også gerne lave det.

Så nu har jeg nu fået taget mine sammen og lavet dette siden.

JEG HÅBER I VILLE VISE MIG JERES MENINGEN!

mvh.
Janus Kristensen AKA tower.dk
Avatar billede r9 Nybegynder
22. april 2002 - 22:24 #2
hvad sker der?
Avatar billede disky Nybegynder
22. april 2002 - 22:46 #3
r9, det er dumt at gemme det i databasen, gem det på Session stacken med en

session.setAttribute() istedet, den dør nemlig samtidigt med at en browser bliver lukket.

Eller rettere sagt alle browser sessions har deres unike 40 tegns ID, så en ny browser har et nyt nummer.

Det er klart den bedste af de to løsningen.
Avatar billede r9 Nybegynder
22. april 2002 - 22:55 #4
>>disky

grunden til at jeg gør det på denne måde, er at jeg kun vil have ên person logget ind på min side af gangen. (kun under test).
Avatar billede r9 Nybegynder
22. april 2002 - 22:56 #5
kan jeg styre det med session.setAttribute() ?
Avatar billede disky Nybegynder
22. april 2002 - 23:17 #6
Fra din jsp side har du en variable der hedder 'pageContext'

på den kan du kalde en metode:

pageContext.setAttribtu(NAME,VALUE,SCOPE);

Scope sætter du så til application scope, så findes den kun en gang for alle sessions.
Avatar billede disky Nybegynder
22. april 2002 - 23:23 #7
Det kunen f.eks. være:

pageContext.setAttribute("UserLoggedIn", new Boolean(true), pageContext.APPLICATION_SCOPE);

så kan du hente den attribute fra andre sider og se om den er true.

For så at se om en session dør (tager normalt 30 min, hvis browser bare lukket)

Så skal du bruge en HttpSessionListener, som du låser på den session der har fået access, så kan du se om den er blevet destroyed.

Se evt. på discussion boardet på www.javasoft.com der er helt sikkert folk med eksempler på hvordan man skal gøre.
Avatar billede disky Nybegynder
22. april 2002 - 23:26 #8
Avatar billede r9 Nybegynder
25. april 2002 - 14:41 #9
>>disky

Jeg har dette øverst i alle min sider:

<%
boolean status = JM.getLoginStatus();

if(status==false)
{
response.sendRedirect("index.jsp");
}

%>


Så kan man ikke bare skrive www.mitdomæne/menu.jsp
men man skal logge ind først.

MEN når man har været logget ind en gang, og trykker på tilbage knappen til login-siden, kan man nu blot skrive den ønskede jsp-fil i browseren og den hopper direkte der over!!

Dette er jo ikke smart. Hvordan løser jeg det?
Avatar billede r9 Nybegynder
28. april 2002 - 21:58 #10
hov - jeg kan jo bare bruge

response.setDateHeader("Expires", 0);
    response.setHeader("Pragma", "no-cache");

    if (request.getProtocol().equals("HTTP/1.1"))
    {
        response.setHeader("Cache-Control", "no-cache");
    }
Avatar billede r9 Nybegynder
28. april 2002 - 21:59 #11
jeg lukker.
Avatar billede disky Nybegynder
28. april 2002 - 22:06 #12
yep lige netop,

Gæt hvem der engang har postet det kode :))
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