[jsp] session var wordt niet meegenomen

Pagina: 1
Acties:

  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
onderstaand voorbeeld is sterk vereenvoudigd, maar als ik een een session.setAttribute krijg ik deze variabele niet door met session.getAttribute

1.jsp
Java:
1
2
3
4
5
6
7
<%@ page session="true" %>
<%
  session.setAttribute( "naam", "test" );
  java.lang.String naam = (java.lang.String)session.getAttribute( "naam" );
%>
<p><%=naam%></p>
<a href="2.jsp">naar 2.jsp</a>

2.jsp
Java:
1
2
3
4
5
6
<%@ page session="true" %>
<%
  java.lang.String naam = (java.lang.String)session.getAttribute( "naam" );
%>
<p><%=naam%></p>
<a href="1.jsp">naar 1.jsp</a>


outputs zijn:
1: test
2: null

ik heb al gekeken naar apache settings, met name de useDirtyFlag optie in server.xml, maar hier kan ik niks mee doen. Ik weet ook dat ik het in een bean kan zetten, maar dat is nu even niet terzake. waar kan dit nog meer aan liggen?

  • Standeman
  • Registratie: November 2000
  • Laatst online: 18:45

Standeman

Prutser 1e klasse

Ik neem aan dat je een linkje hebt van 1.jsp naar 2.jsp (of de adresbalk gebruikt) en niet bijv. je browser opnieuw opstart..

Kijk eens of de cookies worden gebruikt met de isCookieSupportDetermined() methode en de isUsingCookies() methode

[ Voor 46% gewijzigd door Standeman op 24-03-2006 13:08 ]

The ships hung in the sky in much the same way that bricks don’t.


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Sessiecookies disabled en geen url rewriting? Dat rewriten zal je zelf moeten aanroepen, dat gaat niet vanzelf (zonder framework).

  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
Standeman schreef op vrijdag 24 maart 2006 @ 13:06:
Ik neem aan dat je een linkje hebt van 1.jsp naar 2.jsp (of de adresbalk gebruikt) en niet bijv. je browser opnieuw opstart..
zie hierboven
Kijk eens of de cookies worden gebruikt met de isCookieSupportDetermined() methode en de isUsingCookies() methode
ik heb hier de api voor me, maar die zijn niet meer te gebruiken volgens mij.
hoe zou ik dat nog meer kunnen checken.

wat kan ik met url rewriting? hier lees ik erover, maar ik denk dat ik dat niet nodig heb.

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Da's een andere url rewriting ;)

Java:
1
<a href="<%= response.encodeURL("1.jsp");  %>">1</a>

[ Voor 28% gewijzigd door Gert op 24-03-2006 14:12 ]


  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
ok gert dat werkt inderdaad op m'n 1.jsp -> 2.jsp voorbeeldje.
maar moet dit altijd, of is dit een workaround voor mijn probleemp?

edit:

ik lees hier http://www.jguru.com/faq/view.jsp?EID=1045 het volgende. mijn probleem lijkt me nu wel duidelijk. maar voor mijn beeldvorming:

-- How can I enable session tracking for JSP pages if the browser has disabled cookies? --

Klopt het dus dat een gebruiker clientside (browser) toestemming kan geven of er serverside sessioncookies worden opgeslagen?

[ Voor 62% gewijzigd door Krooswijk.com op 24-03-2006 14:25 ]


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Ja, ze worden niet serversided opgeslagen, cookies zijn altijd clientside.

Dus ja, dat encodeUrl is altijd nodig tenzij je gebruikers verplicht sessie-cookies toe te staan.

  • Krooswijk.com
  • Registratie: Mei 2000
  • Laatst online: 17-08-2024
Gert schreef op vrijdag 24 maart 2006 @ 14:33:
Ja, ze worden niet serversided opgeslagen, cookies zijn altijd clientside.

Dus ja, dat encodeUrl is altijd nodig tenzij je gebruikers verplicht sessie-cookies toe te staan.
ok, verschil clientside cookie <-> serverside session cookie is duidelijk

ik ben nog even bezig geweest, maar het vreemde feit wil nu, dat ik 3 pagina's heb.
op pagina 1 doe ik een setAttribute, welke in pagina 2 feilloos wordt uitgelezen, maar in pagina 3 een null retourneert. dit terwijl er in de tussentijd niks gebeurd met de session variabelen (gaat gewoon om het weergeven van de gebruikersnaam). waar kan dit aan liggen. het gebeurd allemaal ruimschoots binnen de session timeout, dus dat is het niet. zijn er jsp tags die een session.invalidate( ) kunnen veroorzaken? ik bedenk maar iets geks...
Pagina: 1