Per poter effettuare una cosa del genere (anche se, davvero, mi riesce difficile coglierne l'utilità in questo momento, se non per scopi di manutenzione) è necessario operare in modo diverso.
Devi creare una mappa (va benissimo HashMap), da memorizzare come attributo del ServletContext (lo potresti fare all'inizializzazione del ServletContext stesso, creando l'apposito ServletContextListener).
codice:
public void contextInitialized(ServletContextEvent sce) {
HashMap<String,HttpSession> sessioni = new HashMap<String,HttpSession>();
cse.getServletContext().setAttribute("sessioni", sessioni);
}
Successivamente, alla creazione di una sessione (anche questo rintracciabile tramite l'apposito HttpSessionListener) recupererai l'ID della sessione appena creata e lo userai come chiave nella HashMap, dove inserirai l'oggetto HttpSession:
codice:
public void sessionCreated(HttpSessionEvent hse) {
String idSessione = hse.getSession().getId();
HashMap<String,HttpSession> sessioni = (HashMap<String,HttpSession>) hse.getSession().getServletContext().getAttribute("sessioni");
sessioni.put(idSessione, hse.getSession());
}
A questo punto, ovunque tu voglia accedere alle altre sessioni, passerai per il ServletContext, recupererai l'attributi "sessioni" (che è la tua mappa) e otterrai la specifica sessione accedendo alla mappa con la chiave apposita (che sarà l'id della sessione da recuperare).
E' un "lavoraccio", ma del resto non capisco a cosa ti possa servire accedere alle sessioni altrui...
Ciao.