Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Session

Gestire le informazioni di un utente lungo l'intera sessione di collegamento con il vostro sito
Gestire le informazioni di un utente lungo l'intera sessione di collegamento con il vostro sito
Link copiato negli appunti

Una delle funzionalità più richieste per un'applicazione Web è mantenere le informazioni di un utente lungo tutto il tempo della sua visita al sito. Questo problema è risolto dall'oggetto implicito Session che gestisce appunto le informazioni a livello di sessione, relative ad un singolo utente a partire dal suo ingresso alla sua uscita con la chiusura della finestra del browser. È possibile quindi creare applicazioni che riconoscono l'utente nelle varie pagine del sito, che tengono traccia delle sue scelte e dei suoi dati. È importante sapere che le sessioni vengono memorizzate sul server e non con dei cookies che devono però essere abilitati per poter memorizzare il così detto SessionID che consente di riconoscere il browser e quindi l'utente nelle fasi successive.

I dati di sessione sono quindi riferiti e riservati ad un utente a cui viene creata un'istanza dell'oggetto Session e non possono essere utilizzati da sessioni di altri utenti.

Memorizzare i dati nell'oggetto Session
Per memorizzare i dati all'interno dell'oggetto session è sufficiente utilizzare il metodo setAttribute specificando il nome dell'oggetto da memorizzare e una sua istanza. Per esempio, per memorizzare il nome dell'utente al suo ingresso alla pagina ed averlo a disposizione i seguito e sufficiente fare session.setAttribute("nomeUtente", nome) a patto che nome sia un oggetto di tipo stringa che contenga il nome dell'utente.

Leggere il contenuto di una variabile di sessione
La lettura di una variabile di sessione precedentemente memorizzata è possibile grazie al metodo getAttribute che ha come unico ingresso il nome della variabile di sessione con cui avevamo memorizzato il dato che ci interessa reperire. Session.getAttribute("nomeUtente") restituisce il nome dell'utente memorizzato come visto in precedenza; se non vengono trovate corrispondenza con il nome dato in ingresso, restituisce null.

Queste due sono le operazioni fondamentali e più utilizzate per la gestione della sessione, a seguito riportiamo altri metodi dell'oggetto Session che in alcuni casi potrebbero essere utili.

getAttributeNames()
restituisce un oggetto di tipo enumerativo di stringhe contenente i nomi di tutti gli oggetti memorizzati nella sessione corrente.

getCreationTime()
restituisce il tempo (in millisecondi dalla mezzanotte del primo gennaio del 1970) di quando è stata creata la sessione.

getId()
restituisce una stringa contenente il sessionID che come detto permette di identificare univocamente una sessione.

getLastAccesedTime()
restituisce il tempo (in millisecondi dalla mezzanotte del primo gennaio del 1970) dall'utima richiesta associata alla sessione corrente.

getMaxInactiveInterval()
restituisce un valore intero che corrisponde all'intervallo massimo di tempo tra una richiesta dell'utente ad un'altra della stessa sessione.

removeAttribute(nome_attributo)
rimuove l'oggetto dal nome specificato dalla sessione corrente.

Ti consigliamo anche