Una sesion es una conexion continuada de un mismo navegador a un servidor web durante un tiempo, por esa razon cuando cierras el navegador pierde la sesion, y los datos asociados. La sesion se mantiene durante un cierto tiempo, despues del cual se cierra la sesion, puedes controlarlo con el método setMaxInactiveInterval().
La pregunta a la que te refieres, la unica solucion que veo es almacenando los datos en la cookie, el problema puede surguir si el usuario no admite cookies.
No respondo a la pregunta, pero espero haberte aclarado un poco la duda que tenias.