Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Servlet e gestione Sessioni

    Buon pomeriggio a tutti.

    Sto implementando un applicazione web con servlet java e pagine jsp.

    Nell'applicazione faccio uso di sessioni http.
    Ho settato un timeout alla sessione.

    La domanda è la seguente:

    Quando scade il timeout della sessione è possibile compiere una azione?
    Mi spiego:

    Nella sessione salvo l'username degli utenti della applicazione. Ora quando loro compiono un logout dalla applicazione io vado nel database e setto un flag boolean loggato a false.

    Il problema è che se l'utente lascia l'applicazione senza compiere il logout il campo nel database resta a true e l'utente sembrerebbe loggato anche se in realtà non lo è.

    Quello che voglio fare e chiedere è : è possibile appunto allo scadere della sessione andare a modificare questo campo con una semplice query sul db??

    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Servlet e gestione Sessioni

    Originariamente inviato da mestablesta
    Quando scade il timeout della sessione è possibile compiere una azione?
    Mi sembra di sì, tramite un apposito "listener" (HttpSessionListener). Ti suggerisco di leggere il capitolo 10 del libro gratuito da http://pdf.moreservlets.com
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    44
    Salve,

    ma perche non invalidi semplicemente la sessione quando l'utente fa logout?

    Cia cia

  4. #4
    Grazie per la risposta.

    kewell 11... certo quando l'utente faceva il logout invalidavo la sessione....
    il problema è che se se l'utente chiudeva il browser senza fare logout io restavo fregato e il campo loggato nel database restava a true....

    Vedendo il link segnalato da andbin ho risolto:

    ho messo un listener che viene attivato quando la sessione scade e sistema il campo loggato nel db a false.
    Ora che la sessione scada per tiemout o perchè la invalido io, il listener si attiva e agisce sul db!

    Grazie a entrambi!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.