2012-12-20 8 views

risposta

14

HttpSession session = request.getSession(); All'interno del metodo del servizio che chiediamo per la sessione e ogni cosa diventa automaticamente, come la creazione dell'oggetto HttpSession. Non è necessario generare l'ID di sessione univoco. Non è necessario creare un nuovo oggetto Cookie. Tutto avviene automaticamente dietro le quinte.

Non appena si chiama il metodo getSession() dell'oggetto richiesta, viene creato un nuovo oggetto della sessione dal contenitore e un ID sessione univoco generato per mantenere la sessione. Questo ID di sessione viene ritrasmesso all'oggetto di risposta in modo tale che ogni volta che il client effettua una richiesta, deve anche allegare l'ID di sessione all'oggetto requsest in modo che il contenitore possa identificare la sessione.

request.getSession(false): questo metodo controlla se la Sessione esiste già per la richiesta o meno. Se esistesse, restituirà la Sessione già esistente. Se Session non esiste già per questa richiesta, allora questo metodo restituirà NULL, il che significa che questo metodo dice che la richiesta non ha una Sessione in precedenza.

+0

ma perché il loro cambiamento valore se io uso tag di ancoraggio per reindirizzare a un'altra pagina – lata

+0

quando si reindirizza allora hai perso la sessione così via tutti gli script È necessario utilizzare session_start() all'inizio di ogni script –

+0

sì, non sono in grado di recuperare il valore della sessione e il suddetto cambiamento di due valori quando reindirizzo ad un'altra pagina – lata

14

Insomma -

request.getSession().getId() - restituisce una stringa che contiene l'identificativo univoco assegnato a questa sessione. L'identificatore è assegnato dal contenitore servlet ed è dipendente dall'implementazione.

request.getSession(false) - restituisce oggetto sessione o null se non c'è alcuna sessione corrente.

5

La prima riga restituirà il "id di sessione" sul server. La seconda riga restituirà l'oggetto della sessione. Quindi, ciò che verrà stampato su system.out sarebbe request.getSession(false).toString();

L'implementazione predefinita di toString restituisce "ID oggetto". Object id in termini di sessione non è uguale a session id. La sessione può essere serializzata e replicata attraverso il cluster, quindi su ciascun nodo del cluster su ogni JVM può avere il proprio ID oggetto (ma dovrebbe avere lo stesso ID di sessione).

Calling sessione get con booleano è spiegato qui: http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#getSession(boolean)

2
request.getSession().getId() 

returs l'ID della sessione.

Request.getsession(false) restituisce l'oggetto sessione già esistente. Non restituirà nulla che restituisce null, se la sessione non esiste. Considerando che con true parametro creerà un nuovo oggetto sessione e restituirlo se nessuna sessione esiste

1
request.getSession().getId(); 

Tornerà unico id stringa assegnata alla già iniziato la sessione. La generazione dell'id è specifica del venditore come apache, jboss ecc.

request.getSession(false); 

Si tornerà oggetto di sessione associato a particolari richiesta se oggetto di sessione è associata verrà restituito o tornerà null se la sua non è avviato dal server.

0
request.getSession().getId(); 

questo restituirà l'id di una sessione esistente.

Request.getsession(false) 

restituirà la sessione se esiste, altrimenti restituirà null in caso contrario.

e Request.getsession (false) significa: dammi la sessione se esiste, altrimenti non creare una nuova istanza (e quindi restituire null).

3
request.getSession() 

Questo metodo controllerà per la sessione esistente, se esiste il suo ritorno in caso contrario creare una nuova sessione per la richiesta.

request.getSession().getId(); 

Ciò restituirà l'identificativo univoco per quella sessione.

request.getSession(false); 

Questo metodo richiede l'boolean metodo value.This verificare se v'è una sessione attuale esistente per quell'utente (richiesta), se esiste, restituire quella sessione altrimenti restituisce il null cioè non creerà nuova sessione.

Solo per aggiungere ulteriori informazioni per la sessione.

request.getSession(true); 

Questo metodo verifica per la sessione corrente esistente per quell'utente (richiesta) e se la sessione esiste tornerà quella sessione o altrimenti creare nuova sessione per quell'utente.

request.getSession() works like request.getSession(true) 

Riferimento: http://docs.oracle.com/javaee/1.4/api/javax/servlet/http/HttpServletRequest.html#getSession%28boolean%29

+0

cosa verrà restituito se non ci sono sessioni e lo facciamo: 'request.getSession (true) .getId();' – Abhi

0
request.getSession().getId(); 

restituisce l'identificativo univoco assegnato a questa sessione. E ha restituito il tipo di stringa.

request.getSession(false) 

restituisce l'oggetto HttpSession se già esiste altrimenti restituisce null.