Ještě bych doplnil: K pozornosti vřele doporučuji interface HttpSessionActivationListener, HttpSessionAttributeListener, HttpSessionBindingListener a HttpSessionListener.
Perzistetním session bych se osobně vyhýbal obloukem, pokud tedy nejde o maličkou aplikaci pro pár uživatelů. A to nikdy nevíte předem :-)) No flame, prosím! To co ale nejvíce potřebujete je obyčejný Filter, který při příchodu uživatele zkontroluje session, a pokud je nová, přesměruje ho na nějakou startovací stránku. Mirek -----Original Message----- From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On Behalf Of Oto Buchta Sent: Monday, September 14, 2009 8:51 PM To: Java Subject: Re: expirace HttpSession 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 >> >> >