Cómo agregar administración de sesión en aplicaciones web usando la sesión HTTP de Java y Apache Tomcat

Puede usar la administración de sesión usando Cookies / HttpSession
o reescritura de URL.
1. Uso de cookies:
En la página de inicio de sesión
Cookie c = nueva Cookie (nombre, atributo dado);
c.addCookie (valor);
c.sendRedirect (“homepage.jsp”);
En la página de inicio
nombre = c.getValue (); // valor de la cookie
[Nota: asegúrese de que las cookies estén habilitadas en el navegador web]

2. HttpSession:
Varios atributos como HttpSession getSession () para crear una nueva sesión
y métodos como
Object getAttribute (String name), setAttribute (String name, Object name) servirá.
ServletContext getServletContext () para devolver el objeto ServletContext.

Y, para navegar a la página siguiente al iniciar sesión,
utilizar la solicitud de mapeo para permitir el uso de anotaciones
P.ej:
configure @RequestMapping (“/ homepage.htm”) en Homepage.java como lo ha llamado login.jsp.
de lo contrario, simplemente llame a la página siguiente usando “form action = homepage.jsp”.

La sesión es un estado de conversión entre el cliente y el servidor y puede consistir en múltiples solicitudes y respuestas entre el cliente y el servidor. Dado que HTTP y el servidor web no tienen estado, la única forma de mantener una sesión es cuando se pasa información única sobre la sesión (ID de sesión) entre el servidor y el cliente en cada solicitud y respuesta.

Hay varias formas a través de las cuales podemos proporcionar un identificador único en la solicitud y la respuesta.

  1. Autenticación de usuario : esta es la forma muy común en la que el usuario puede proporcionar credenciales de autenticación desde la página de inicio de sesión y luego podemos pasar la información de autenticación entre el servidor y el cliente para mantener la sesión. Este no es un método muy efectivo porque no funcionará si el mismo usuario ha iniciado sesión desde diferentes navegadores.
  2. Campo oculto HTML : podemos crear un campo oculto único en el HTML y cuando el usuario comienza a navegar, podemos establecer su valor exclusivo para el usuario y realizar un seguimiento de la sesión. Este método no se puede usar con enlaces porque necesita que se envíe el formulario cada vez que se realiza una solicitud del cliente al servidor con el campo oculto. Tampoco es seguro porque podemos obtener el valor del campo oculto de la fuente HTML y usarlo para hackear la sesión.
  3. Reescritura de URL : podemos agregar un parámetro identificador de sesión con cada solicitud y respuesta para realizar un seguimiento de la sesión. Esto es muy tedioso porque necesitamos hacer un seguimiento de este parámetro en cada respuesta y asegurarnos de que no entre en conflicto con otros parámetros.
  4. Cookies : las cookies son pequeñas piezas de información que envía el servidor web en el encabezado de respuesta y se almacena en las cookies del navegador. Cuando el cliente realiza una solicitud adicional, agrega la cookie al encabezado de la solicitud y podemos utilizarla para realizar un seguimiento de la sesión. Podemos mantener una sesión con cookies, pero si el cliente desactiva las cookies, entonces no funcionará.
  5. API de administración de sesión: la API de administración de sesión se basa en los métodos anteriores para el seguimiento de la sesión. Algunas de las principales desventajas de todos los métodos anteriores son: La mayoría de las veces no solo queremos hacer un seguimiento de la sesión, tenemos que almacenar algunos datos en la sesión que podemos usar en futuras solicitudes. Esto requerirá mucho esfuerzo si intentamos implementar esto. Todos los métodos anteriores no están completos en sí mismos, todos ellos no funcionarán en un escenario particular. Por lo tanto, necesitamos una solución que pueda utilizar estos métodos de seguimiento de sesión para proporcionar administración de sesión en todos los casos.

Para saber más con videos gratis visite: Sesión HTTP en Java Avanzado

Consulte este enlace para comprender mejor la gestión de sesiones Gestión de sesiones en Java – HttpServlet, Cookies, Reescritura de URL – JournalDev

Hay 5 formas diferentes de jugar con la sesión en Java.

1. Cookies
2. Autorización de usuario
3. Reescritura de URL
4. Campos ocultos
5. API de seguimiento de sesión

Todos se enumeran con un ejemplo en https://codedbug.com/2014/06/pla

Debe crear una sesión en su servlet de inicio de sesión y administrar la sesión en cada servlet utilizando filtros.

En su servlet de validación de inicio de sesión donde valida las credenciales de inicio de sesión, cree httpsession y compruebe si la sesión no es nula en todos los demás servlets. Si su nulo redirige a la página de error.

Mediante el uso de servlet puede obtener su sesión http en su aplicación web.