Newsgroup: it.comp.java
Titolo: Servlet & Session

**** Post for FREE via your newsreader at 
post.usenet.com
 ****
Ciao a tutti,
ho qualche problema di sessione con le servlet.
Ho due servlet. Nella prima qualora non sia presente una sessione viene
creata e viene settato un attributo con rispettivo valore. Sempre in questa
prima servlet se la sessione è già stata creata posso modificare il valore
del dell'attributo precedentemente impostato.
Fin qui tutto bene.
Tuttavia se accedo alla seconda servlet che deve semplicemente leggere il
valore dell'attributo ho dei problemi.
Infatti se accedo con 
http://localhost:8080/servlet/servlet2
 la prima volta
funziona tutto.
Ma se torno alla servlet uno e modifico il valore dell'attributo, tornado
alla servlet due sempre con 
http://localhost/servlet/servlet2
 ottengo il
valore vecchio dell'attributo. Per ottenere il nuovo valore devo effettuare
un refresh del browser o chiamare la servlet passando dei parametri a caso,
ad esempio:
http://localhost:8080/servlet/servlet2/?d=43534
Perché tutto ciò? Immagino che sia un problema di cache. Ciò però mi sembra
grave, come è possibile ovviare a questo problema?
Io uso tomcat 3.3.1
Grazie a tutti.
Mr. Deckard
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 *** Usenet.com - The #1 Usenet Newsgroup Service on The Planet! ***
 
http://www.usenet.com
Unlimited Download - 19 Seperate Servers - 90,000 groups - Uncensored
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

 Grazie a tutti.
Dovrebbe (almeno cosi' sembrerebbe dalla tua descrizione) essere proprio il
problema che hai evidenziato, ossia di caching.
Grave? Si, ma la colpa non e' del server, ma del browser. Se il server non
riceve la nuova richiesta, difficilmente si puo' inventare di spedire una
pagina a qualcuno.
Abbiamo una FAQ che ha avuto molto successo su jGuru:
http://www.jguru.com/faq/view.jsp?EID=377
che puo' darti qualche suggerimento. Provala e poi sappici dire...
    Regards,
        Kazuma
--
I've got nothing against God. It's his fan club I can't stand.
Alex "Kazuma" Garbagnati, 
http://www.kazuma.net
EJB & Tomcat jGuru FAQ Manager, 
http://www.jGuru.com
Tutor "Progetto Scuole", 
http://www.JIA.it
Java Italian Association - SUN - MIUR

 --
Buongiorno Kazuma,
grazie per la risposta. Ora vado a vedere la faq. Poi ti faccio sapere.
Io dicevo che mi sembra grave perché: supponiamo (caso non mio, ma caso
abbastanza comune, immagino) che la seconda serlvet debba gestire una specie
di carrello e che il codice prodotto venga passato con un GET ovvero con una
querystring. Nel mio caso se passassi una seconda volta un medesimo articolo
esso non verrebbe intercettato!!!! Sicuramente sbaglierò qualcosa io!!!
Io ho provato a passare al response anche le intestazioni Pragma e
Cache-Control, ma non ottengo nessun vantaggio. Ma forse ciò avrebbe senso
con pagine statiche (passandole attraverso i META HTTP-EQUIV....).
Bah, ora vado a vedere la faq.
Grazie mille


 --
Buongiorno Kazuma,
grazie per la risposta. Ora vado a vedere la faq. Poi ti faccio sapere.
Io dicevo che mi sembra grave perché: supponiamo (caso non mio, ma caso
abbastanza comune, immagino) che la seconda serlvet debba gestire una specie
di carrello e che il codice prodotto venga passato con un GET ovvero con una
querystring. Nel mio caso se passassi una seconda volta un medesimo articolo
esso non verrebbe intercettato!!!! Sicuramente sbaglierò qualcosa io!!!
Io ho provato a passare al response anche le intestazioni Pragma e
Cache-Control, ma non ottengo nessun vantaggio. Ma forse ciò avrebbe senso
con pagine statiche (passandole attraverso i META HTTP-EQUIV....).
Bah, ora vado a vedere la faq.
Grazie mille



Ciao Kazuma,
allora ho guardato la faq che mia hai inviato. Si tratta della soluzione che
avevo adottato. Ma non sortisce nessun effetto. L'unico modo con cui sono
riuscito a risolvere questo "problem" è utilizzando un sendRedirect.
Tuttavia se evoco "a mano" la seconda servlet non viene visualizzato il
nuovo valore della'ttributo. Devo ricorrere a un bell'F5 di IE o passare
all'indirizzo una querystring casuale!
Non


 all'indirizzo una querystring casuale!
Di che versione di IE si tratta?


         Kazuma
Sě tratta di IE 6.0.
Mr. Deckard



Ho gia' letto in giro problemi di caching con IE, ma non pensavo che si
arrivasse a questo.
Potrei suggerirti di fare delle prove per circoscrivere il problema... prima
fra tutti provare una versione piu' vecchia di IE, e poi, eventualmente,
installare al volo un 4.1.x di Tomcat e vedere se hai lo stesso probloema...
il connettore Coyote Http 1.1 di Tomcat 4.1.x e' scritto molto meglio e
magari passa qualche info in modo migliore... non saprei.



Ho appena provato con Opera 5.0 č funziona tutto a meraviglia anche a
mano!!!!
Poi ho riprovato anche con IE6.0 e funziona tutto!
possibile che per qualche ragione tomcat non avesse ricaricato la servlet
modificata?
Moh, chiedo scusa!
ma per me č un vero mistero.
Mi sa che comunque adesso passero al Tomcat 4.1.x
Eheheh
Ciao e grazie!


 Mi sa che comunque adesso passero al Tomcat 4.1.x
Fai bene...
