En general, como se menciona en las otras respuestas, la sesión en muchos sentidos actúa como una tienda. Entonces, para interactuar con una sesión de otra clase que está fuera del marco de Servlet/JSP, es necesario obtener la referencia a la sesión en cuestión. Hay pocas maneras en que se puede lograr:
1) Paso de la sesión como parte de un parámetro de método (ya mencionado en otras respuestas) 2) Vinculando la sesión a una variable local de subproceso en la ejecución de subproceso actual (consulte ThreadLocal). Este método tiene la ventaja de no declarar parámetros específicos en la firma del método de la clase que necesita usar la sesión. Además, si el hilo de llamada pasa por una biblioteca y vuelve a llamar a una clase específica, p. Servlet-> YourClass0 -> Apache Some Library -> YourClass1, la sesión también estará disponible para YourClass1.
Sin embargo, el subproceso local también debe borrarse cuando el subproceso que se ejecuta retorna a través del componente inicial (por ejemplo, servlet); de lo contrario, ciertamente podría haber pérdidas de memoria.
Además, consulte su marco específico para el tratamiento de sesiones, el mecanismo anterior funciona bien en Tomcat.
La razón por la que no quiero usar un servlet es porque no sé cómo usarlos, por lo tanto, quiero solo una clase. Si puede proporcionar código de muestra aunque ... – griegs
¡Oh! bueno. ¿Qué estás haciendo entonces? Quiero decir qué tipo de aplicación estás tratando de desarrollar. –
Tratando de desarrollar una aplicación web y quiero un lugar centralizado para administrar mi sesión. Pensé que simplemente importaría una biblioteca para acceder a la sesión, pero ahora creo que necesito pasar la httpsession a mi clase – griegs