[JSP]History clearen

Pagina: 1
Acties:

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
Ik heb al wat gezocht en heb wat info gevonden, maar die was van 2 jaar oud, dus ik dacht maar maar een nieuwe topic.

Ik werk dus met Struts/jsp en heb een login.jsp in een frame die ik LEFT noem.
In left laat ik dus de gebruiker inloggen en ik sla in de LoginAction de username en password op in een extra bean die ik USERINFOBEAN noem. Deze zet ik in de sessie en op de volgende JSP pagina (loginOK.jsp) gebruik ik:
code:
1
<jsp:useBean name="uib" class="com.deathchant.UserInfoBean" scope="session">

en vervolgens gebruik ik
code:
1
<bean:write name="uib" property="username">

om de username uit te lezen. Bijvoorbeeld: "Hello" + username

het probleem is als volgt:
Ik heb een knop LOGOFF op deze loginOK.jsp. Daarmee roep ik de LogoffAction aan die
code:
1
session.invalidate();
doet en forward naar de login.jsp pagina.
Als dit is gebeurd en klik dan op de VORIGE knop, krijg ik de loginOK.jsp weer te zien. Daarop staat nog steeds dat ik ben ingelogd, terwijl de sessie afgelopen is. En als ik dan op de loginOK.jsp iets submit (een functie ZOEKEN) , krijg ik een NullPointerException.

Ik wil uberhaupt niet dat de gebruiker dit ziet. Als de sessie wordt beeindigd wil ik dat hij naar het begin scherm gaat, met alles gecleared. Dus net alsof de user de applicatie voor het eerst opstart.

Weet iemand hoe ik dit klaar krijg ? Misschien door de history te clearen?
Alvast bedankt

[ Voor 32% gewijzigd door Deathchant op 29-04-2004 14:33 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Je zou de expire tijd van de pagina op -1 kunnen zetten. Zou kunnen dat de gebruiker dan een "Pagina is verlopen" melding krijgt. Anders moet je ergens een form submitten, dan krijgen ze die melding zeker. Echter met 2x back klikken zijn ze er dan alsnog.

Gebruikers die op de back toets drukken houden zich echter niet aan de manier waarop de applicatie gebruikt moet worden dus echt druk zou ik mij er niet om maken.

  • bodiam
  • Registratie: December 2001
  • Laatst online: 31-12-2024
Probeer dit eens in de pagina te zetten die je niet wilt cachen:

code:
1
2
3
<% response.setHeader("Cache-Control","no-cache"); %>
<% response.setHeader("Cache-Control","no-store"); %>
<% response.setHeader("Pragma","No-cache"); %>

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
bedankt voor jullie reacties.

ik heb nu meta http-equiv gedaan ipv request.setHeader. Bedankt, ik ga die setheader ook nog proberen.

Wat doet die no-store precies en is daar ook een meta tag voor ?

[ Voor 21% gewijzigd door Deathchant op 29-04-2004 18:59 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • momania
  • Registratie: Mei 2000
  • Laatst online: 16:46

momania

iPhone 30! Bam!

Die cache kan je ook al uitschakelen in je struts-config.xml. Dat scheelt weer hacken in je jsp's ;)

Ook zou ik als ik jou was eens gaan kijken naar 'tiles' Dat scheelt weer ergenis met frames :)

Oh, en je kan beter eerst in je action die bean uit de sessie knallen en daarna pas invalidaten.
Dan is de sessie iig van leeg en dus klein. Wanneer de virtual machine het opruimd is altijd nog maar de vraag en dan blijf je met geheugen zitten dat in gebruik is, maar niet meer gebruikt wordt :)

[ Voor 44% gewijzigd door momania op 29-04-2004 19:03 ]

Neem je whisky mee, is het te weinig... *zucht*


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Meta tags voor caching e.d. werken niet goed. Die waren indertijd bedoeld voor proxy servers meen ik mijn te herinneren en niet voor brouwsers zelf.

  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ah zo dankje wel allemaal.
Ik kan niet veel vinden over de cache uitschakelen in strutsconfig.xml. Misschien kun jij ff helpen.
Thankx

[ Voor 8% gewijzigd door Deathchant op 02-05-2004 22:25 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • momania
  • Registratie: Mei 2000
  • Laatst online: 16:46

momania

iPhone 30! Bam!

Deathchant schreef op 02 mei 2004 @ 22:25:
Ik kan niet veel vinden over de cache uitschakelen in strutsconfig.xml. Misschien kun jij ff helpen.
Staat gewoon in de documentatie hoor ;)
http://jakarta.apache.org...ration.html#struts-config

Neem je whisky mee, is het te weinig... *zucht*


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
ja dankje wel. het werkt nu. Alleen moet ik nog zorgen dat de "pagina is verlopen" een mooie omvang krijg en dat ik de gebruiker kan redirecten. Ik had van een collega gehoord dat veel mensen zich mateloos irriteren aan "pagina is verlopen" :).

Ik heb ook de beans uit de sessie verwijderd voordat ik deze invalidate. Maar stel je hebt 20 objecten erin zitten, kun je dan alleen met een for-loopje de attributen verwijderen? Of is er ook zoiets als session.removeAllAttributes ?

[ Voor 36% gewijzigd door Deathchant op 03-05-2004 09:19 ]

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


Verwijderd

"Pagina is verlopen" is een melding van je browser adv de respons code. Wat je zou kunnen doen is ipv de respons code te geven zelf een mooi paginaatje te serveren.
hack ze :Y)

  • momania
  • Registratie: Mei 2000
  • Laatst online: 16:46

momania

iPhone 30! Bam!

Deathchant schreef op 03 mei 2004 @ 09:17:
Ik heb ook de beans uit de sessie verwijderd voordat ik deze invalidate. Maar stel je hebt 20 objecten erin zitten, kun je dan alleen met een for-loopje de attributen verwijderen? Of is er ook zoiets als session.removeAllAttributes ?
Het lijkt me verstandig dat je nu zelf eens in de documentatie gaat duiken want dit is wel zo makkelijk op te zoeken.

Neem je whisky mee, is het te weinig... *zucht*


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
momania schreef op 03 mei 2004 @ 09:49:
[...]

Het lijkt me verstandig dat je nu zelf eens in de documentatie gaat duiken want dit is wel zo makkelijk op te zoeken.
ik heb dat met dat caching al gevonden hoor :)

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar


  • Deathchant
  • Registratie: September 2003
  • Laatst online: 22-05 16:51

Deathchant

Don't intend. Do!

Topicstarter
er is geen standaard methode om in 1 regel alle objecten uit je sessie te verwijderen. Dan zul je iets met enum getAttributeNames moeten doen

Canon: EOS R6 | EF 16-35/4L IS USM | EF 70-200/2.8L IS II USM
Zeiss: 35/2 Distagon | 50/2 Makro-Planar | 85/1.4 Planar | 100/2 Makro-Planar | 135/2 Apo Sonnar

Pagina: 1