Newsgroup: it.comp.java
Titolo: sessioni in tomcat

Ho alcuni dubbi in merito alle sessioni e Tomcat:
1. Che differenza c'č fra deploy ed installazione di un applicazione?
 
2. Quando faccio partire qualsiasi applicazione web realizzata con
JSP/Servlet e poi chiudo tuttle le finestre, la sessione dovrebbe
perdersi..
quindi la mem associata dovrebbe essere deallocata (o mi sbaglio!!). 
Perchč allora avviando Tomcat Manager nella lista delle applicazioni
deployate insieme al context-path e allo stato running viene mantenuta
traccia delle sessioni precedenti? Non dovrebbero risultare solo le
sessioni attive?
Se mi collego solo io, non risulta 1 sola sessione bensě la mia piů quelle
precedenti che ovviamente non sono piů attive.
Aspetto chiarimenti in proposito anche con riferimenti all'argomento che
si trovano in rete .
Grazie a tutti coloro mi risponderanno. 
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Ho alcuni dubbi in merito alle sessioni e Tomcat:
 
Il server non pinga sul browser per sapere che si e' chiuso.
Quindi rimangono delle sessioni fantasma per un certo tempo
c'e' poi il timeout di session che va a pulirle
dopo un certro periodo di inattivita
puoi modificare questo timeout cvhe di default e' 20minuti mi pare
ma non ricordo dove
cerca in qualche conf
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Inviato via 
http://arianna.libero.it/usenet/



quando chiudi il browser la sessione di Tomcat rimane in memoria, nel senso
che l'oggetto session non viene distrutto... lo devi fare tu manualmente e
fare un tipo di logout!
Naturalmente se non lo fai tu, lo effettua il manager di Tomcat che, dopo
trascorso il timeut, distrugge le sessioni non attive da tot. tempo!!!
Devi usare il metodo session.invalidate() per distruggere la sessione, ho
trovato un esempio sul sito 
www.html.it
Ciao


 > le finestre, quindi non senso parlare di timeout!
Come gia' Antonello ti diceva
ricorda che il client e' il browser ( IE di solito)
il server e' nel tuo caso Tomcat
1. Il client browser normalmente chiama Tomcat via URL
2.Tomcat a seconda del tipo di richiesta fa una serie di applicazioni:
normalmente eseguie una Servlet ( le jsp diventano Servlet pure loro nella
cartella work dopo la prima chiamata )
A questo punto crea anche degli oggetti interni fra i quali
la Request e la Session
per ultimo genera un HTML e lo spedisce indietro
3. Il client riceve l'HTML e lo visualizza
salvo che non ci siano applet o similari non fa altro.
4. A questo punto clent e serve non si parlano +
pensa a yahoo se dovesse parlare a milioni di broweser
5iTomcat distrugge ( non esattamente ma +o-) la request e si tiene una
session
per ogni client.
6. Se il browser richiama una qualsiasi URL su TOmcat ritrova la vecchia
Session.
7. se il brows lo chiudi e lo riapri La session e' nuova.
8. Dopo il timeout che non viene chiamato Tomcat provvede a distruggere la
Session
altrimenti si accumulerebbero e salterebbe per aria in poche ore



Il protocollo http e' di tipo stateless, il che significa che il tuo
tomcat non ha coscenza del fatto che il tuo browser sia aperto oppure
no.
ciao