Ahoj
o session sa mozes dozvediet zaujimave veci cez metody :
HttpServletRequest.getRequestedSessionId() the session id specified by
this request, or null if the request did not specify a session id ,
alebo HttpSession.isNew() true if the session has been created by the
server but the client has not yet acknowledged joining the session;
false otherwise .
Takze mozu nastat tri situacie :
1. Uzivatel prave prisiel na stranku - session is new,
requestedSessionId == null .
2. Uzivatel ma platnu session - session != new
3. Prvy request po expirovanej session - session is new,
requestedSessionId != null
prve dva pripady su jasne. treti pripad - zobrazis mu spravu , ze jeho
session expirovala a posles ho napriklad na home stranku.
Problem s tretim pripadom je, ze ked ked ma niekto linku s JSESSIONID (
napriklad bookmark, google ) a niekto na nu klikne, tak nastane treti
pripad aj ked sa jedna o novu session.
Mnohe frameworky ti riesia vyrabanie objektov pre session takze tam je
nova session dost transparentna.
Rasto
tomasjur...@email.cz wrote:
Dobrý den
do HttpSession webové aplikace si obecně většinou ukládám info o uživately,
stavy aplikace, jiné objekty, ...
Pokud dojde k expiraci dané session, například z důvodu dlouhé nečinnosti na
straně uživatele, aplikace vyhodí vyjímku NullPointerException, protože došlo
ke ztrátě objektů v dané session.
Jak se toto řeší? Při expiraci session a ztrátě objektů v session uložených mám
uživatele někam přesměrovat?
děkuji za cenou radu
Tomáš Jurman