In generale, come menzionato nelle altre risposte, la sessione in molti modi funge da negozio. Quindi, per interagire con una sessione di un'altra classe che è al di fuori del framework Servlet/JSP, è necessario procurarsi il riferimento alla sessione in questione. Ci sono alcuni modi per ottenerlo:
1) Passaggio della sessione come parte di un parametro del metodo (già menzionato in altre risposte) 2) Associazione della sessione a una variabile locale del thread sull'esecuzione del thread corrente (consultare ThreadLocal). Questo metodo ha il vantaggio di non dichiarare parametri specifici sulla firma del metodo della classe che deve utilizzare la sessione. Inoltre, se il thread chiamante passa attraverso una libreria e quindi chiama di nuovo una classe specifica, ad es. Servlet-> YourClass0 -> Apache Some Library -> YourClass1, la sessione sarà disponibile anche su YourClass1.
Tuttavia, il thread locale deve essere cancellato anche quando il thread in esecuzione ritorna attraverso il componente iniziale (diciamo servlet) altrimenti potrebbero esserci perdite di memoria.
Inoltre, fare riferimento al proprio framework specifico per il trattamento delle sessioni, il suddetto meccanismo funziona correttamente in Tomcat.
La ragione per cui non voglio usare un servlet è perché non so come usarli, quindi voglio solo una classe. Se è possibile fornire un codice di esempio che ... – griegs
Oh! va bene. cosa stai facendo fino ad allora? Voglio dire che tipo di applicazione stai cercando di sviluppare. –
Cercando di sviluppare un'applicazione web e voglio un posto centralizzato per gestire la mia sessione. Ho pensato che ho semplicemente importato una libreria per accedere alla sessione, ma ora penso di dover passare l'httpsession alla mia classe – griegs