Dalším možným řešením je používat perzistentní session - ideálně do
Cookies si dát jednu dočasnou sušenku se sessionId a pri změně stavu
session si ji uložit do DB. Když session vyexpiruje, podívat se do
Cookies, jestli je tam nějaké ID a pokud ano, vytvořit novou
HttpSession... . Cookies jsou relativně bezpečný způsob jak odstínit
záložky či jinak uložené přeposlané odkazy. Ano, samozřejmě je tu
trošku ideologický RESTový problém :-0, ale když už se používá
HttpSession...

2009/9/13 Rastislav Rehak <re...@eea.sk>:
> 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
>>
>>
>

Odpovedet emailem