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

    generare id session servlet

    Buonasera a tutti,
    ho un problema. In pratica nella mia applicazione devo usare i tab generati dinamicamente tramite javascript o jquery. Vorrei che a ciascun tab venisse associato un id session differente da parte della servlet; in modo tale che la servlet veda ciascun tab come delle chiamate differenti. E' possibile?? Esiste un modo affinchè ogni tab crei una nuova istanza della servlet e quindi abbia un suo id session univoco e indipendente da quello degli altri??
    Grazie per gli aiuti

    Andrea

  2. #2
    Il sessionId lo puoi passare anche nella querystring, quindi invece di usare i dolcetti lo tieni sempre nei link, in questo modo puoi creare sessioni differenti per ogni tab.

    Lo "scope" del cookies è nell'ambiente intero del browser quindi apparterrebbe a tutte le tab aperte. La soluzione più semplice che vedo è quella della query string, però ricordare che in ogni link che stampi sulla pagina dovrai inserire l'id della sessione.
    ...

  3. #3
    ciao grazie per la risposta anche se non mi è tanto chiara. Con la queryString non ho capito infatti come creare un nuovo sessionID per ciascun tab che apro. Da quello che so la queryString è un metodo di session tracking ma non permette di creare nuove sessioni. Mi sbaglio?

  4. #4
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    E' lo stesso problema che ho sul progetto su cui lavoro.
    La sessione è una sorta di contenitore in cui puoi salvare delle informazioni per tenere memoria delle interazioni con l'utente (ti ricordo che il protocollo HTTP è "stateless": ovverosia, ogni volta che fai una richiesta al server per lui è come fosse la prima, anche se queste sono consecutive).
    Il sessionID è l'identificatore che ti permette di accedere alla TUA sessione, visto che sul server ce ne potrebbero essere tante attive, una per ogni utente connesso.
    Come diceva LordSaga, il meccanismo classico dei cookies è globale per il browser: se hai tanti tab del browser (o tante finestre dello STESSO browser) aperti sullo stesso "sito/webapp", tutti faranno riferimento alla stessa sessione, visto che il cookie è comune.
    Quello che puoi fare è suddividere "virtualmente" la sessione: diciamo che fai una partizione in sottosessioni, ognuna con un id diverso. Quindi: ogni volta che apri un nuovo "tab" (_NON_ tab del browser, giusto?) devi generare un nuovo id: puoi farlo sia con javascript lato client, sia con una chiamata ajax al server. Unica cosa: devi assicurarti che sia univoco (una semplice generazione random potrebbe non essere sufficiente).
    In tutti i link/form che escono dal tab che hai generato devi inserire questo id nella querystring: a questo punto il server sarà in grado di riconoscere le chiamate dai diversi tab e potrà fare riferimento alla "sottosessione" corretta (ad esempio, potresti chiamare tutti i tuoi attributi di sessione con la chiave "IDUNIVOCO_nomeattributo")

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.