Hola bienvenidos a este ejercicio.
A continuación vamos a revisar el tema de manejo de sesiones utilizando el objeto HTTPS ello están listos.
Vamos bien vamos a acelerar nuestro proyecto si tenemos alguno abierto damos un derecho y damos un clocks
posteriormente vamos a crear un nuevo proyecto.
En fin mi proyecto lleva a Wild.
Puedo Application hilamos siguen Next y el nombre del proyecto va a ser ejemplo http: Saison con doble
s posteriormente la ubicación del proyecto es kurus servlet el nombre del grupo hoy día se me X con
GM globalmente en la versión 1.0 y el nombre del paquete lo dejamos vacío damos sigue next dejamos los
valores por Defour y damos iDEN finalizar
bien ahora vamos a renombrar nuestro proyecto damos clic derecho René
cambiamos el nombre y damos clic en okay.
Ahora dentro de esos paquetes vamos a quitar estos dos paquetes que nos ha agregado en automaticos y
los tenemos bien y con eso ya tenemos nuestro código.
Vamos a modificar nuestro archivo índex HTML el nombre del título va a ser ejemplo de sesiones
y tomamos este mismo texto para el título de nuestra aplicación.
Ejemplo de sesiones
posteriomente damos un salto un salto de línea y agregamos un link
agregamos el context Path ejemplo http: cesion y posteriormente el nombre del servlet que se va a llamar
sesiones servlet y el nombre del Link va a ser Link al servlet que maneja sesiones bien es todo el código
que va a tener nuestro archivo índex HTML ahora vamos a crear nuestro componente de Servlet damos ingenio
a la clase el componente se va a llamar sesiones servlet lo depositamos en el paquete web y damos clic
en Finalizar quitamos estos comentarios y convertimos la clase en un Servlet agregamos el paz con la
notación web servlet y podemos copiar este texto directamente para no tener ningún problema.
Sesiones servlet ya que es el nombre del Path que vamos a utilizar para nuestro Cerler hacemos extensible
de http: servlet importamos las clases
y ahora vamos a agregar la sobre escritura del método GET
ese tipo protected bait Nugget y definimos los argumentos
recuesto
y responsa
importamos todo el paquete de Java Servlet HTTP y Conasida estamos escribiendo correctamente el método
Duguech.
Ahora vamos a iniciar nuestro servlet lo que vamos a hacer es muy parecido al ejercicio de Contador
de visitas cuando trabajamos el concepto de cuquis.
Sin embargo ahora vamos a utilizar el concepto de la clase HTTPS.
De esta manera vamos a simplificar el manejo de sesiones utilizando el API de los cables así que vamos
a lo siguiente utilizamos nuestro objeto avispones especificamos el set contentarme
que va a ser el tipo HTML punto y coma Char set
UTD 8 y posteriormente vamos a solicitar el objeto sesión.
Definimos una variable HTTPS con
se va a llamar sesión y con ayuda del objeto request solicitamos el método GET sesión y según el Java
DOGC asociado a este método GET Saison nos va a regresar un objeto de tipo HTTPS y nos indica que regresa
la sesión actual asociada con esta petición pero si la petición no tiene asociada una sesión entonces
crea un nuevo objeto así que en automático nos va a regresar el objeto sesión y en dado caso de que
sea la primera vez va a crear este objeto de manera automática.
Si ya existe un objeto Saison debido a peticiones anteriores entonces nos va a regresar el objeto que
ya se ha creado previamente.
Así que eso nos va a facilitar el trabajo de manejo de sesiones ya que el servidor de aplicaciones se
va a encargar de más cosas simplemente nosotros tenemos que mandar a llamar.
El método exception y nos va a regresar el objeto Saison y con eso ya podemos empezar a trabajar.
Podemos agregar información a la sesión y recuperar también información de esta sesión.
Vamos a ver cómo hacer esto vamos a definir una variable llamada título
y lo que vamos a hacer ahora es solicitar un atributo a la sesión ya que de esta manera es como vamos
a poder agregar información a la sesión pero también solicitar la información así que en este caso vamos
a pedir el atributo Contador visitas a la sesión y utilizamos el siguiente código así que definimos
la variable de tipo integrar Contador visitas el atributo que le vamos a pedir a la sesión va a ser
el tipo Null.
Por lo tanto necesitamos preguntar si la variable contiene un valor nulo o no. Si utilizamos un tipo
primitivo no podemos preguntar por Nul así que por ello vamos a utilizar un tipo obvie utilizamos nuestro
objeto Schön y mandamos a llamar el método atrevio y proporcionamos el atributo que estamos buscando.
En este caso Contador visitas sin embargo este método que Chubut no regresa un tipo obvien así que tenemos
que hacer la conversión no convertimos a un tipo integral
y ahora lo que vamos a hacer es preguntar si es nulo en cuyo caso quiere decir que es la primera vez
que estamos accediendo a nuestra aplicación
así que si no no es la primera vez que accedemos a la aplicación y vamos a preguntar si la variable
Contador visitas es igual a Nul entonces vamos a inicializar el valor de la variable Contador visitas
con el valor de 1.
Recordemos que en automático se está haciendo un Autobot sin se está convirtiendo el tipo primitivo
a un tipo obvie así que le asignamos el valor de 1 y además modificamos el título agregamos el texto
bienvenido por primera vez.
De lo contrario quiere decir que es un usuario ya recurrente por lo tanto incrementamos el Contador
Contador de visitas más más esto de manera automática incrementa en 1 nuestro contador y modificamos
también el título con el mensaje Bienvenido nuevamente.
Y una vez que ya hemos hecho las modificaciones respectivas ya sea que este contador de visitas hubiera
sido nulo se inicia en 1 o si ya hemos visitado previamente esta aplicación y se ha incrementado el
contador de visitas en cualquiera de los casos vamos a agregar el nuevo valor de contador de visitas
al objeto sesión así que vamos a hacer lo siguiente agregamos el nuevo valor a la sesión así que escribimos
con ayuda del objeto sesión mandamos a llamar.
El método set atribuirla para agregar o modificar el valor que ya tuviéramos en la sesión
el atributo se llama Contador visitas y el valor es la variable Contador visitas internamente los valores
de una sesión se almacenan como un mapa así que tenemos la llave y el valor asociado.
Si ya existiera se va a reemplazar con el nuevo valor y si no existieran entonces se va a agregar esta
nueva llave con el valor que estamos indicando.
En este caso sería el valor de uno o el valor ya incrementado dependiendo del caso y por último en lo
que vamos a hacer es que mandamos la respuesta al cliente
utilizamos nuestra clase primero Eicher
mandamos a llamar el método de Ritter
y mandamos a imprimir el mensaje número de accesos al recurso
imprimimos la variable Contador visitas
imprimimos un salto de línea no estamos formando todo el documento HTML pero si quisieran hacerlo pueden
hacerlo en este caso simplemente estamos dejando solo el código necesario para mandar la respuesta y
también imprimimos el Heydi de la sesión
para conocer el Heydi de la sesión.
Podemos utilizar el método GET Heydi y nos regresa el identificador único de esta sesión y este identificador
único lo asigna de manera automática el contenedor el servidor de aplicaciones importamos esta clase
y reportamos la posible excepción
finalmente cerramos el flujo y con eso ya tenemos todo nuestro código bien vamos a probarlo.
Guardamos cambios hacemos clic en Enviar
con esto ya tenemos construido en nuestro proyecto y ahora vamos a ejecutarlo.
Y esperamos a que termine de levantarse glacis
bien conocida se ha levantado nuestra aplicación pero vamos también a la consola de Google Crom presionamos
contra Exif y o cualquier atajo que tuviéramos según nuestro sistema operativo y en este caso podemos
observar si entramos a aplicación.
Posteriormente actoras y vamos a cuquis podemos ver que se nos ha agregado una Kukín con el valor de
yeux sesión Airi y éste es el identificador de la sesión.
Vamos a eliminar todas las cookies que tengamos.
Vamos a dar clic derecho seleccionamos Lilit y también eliminamos esta cookie.
Con esto vamos a comenzar ya desde cero ahora por qué estamos haciendo esto del manejo de cookies.
Si estamos utilizando el manejo de sesiones resulta que internamente el servidor de aplicaciones va
a utilizar dos posibles opciones para el manejo de sesiones.
Una es agregar el sello en Haití en el R.L que se conoce como writing o va a utilizar una Kuki para
almacenar el valor de sesión Airi.
Cualquiera de esas dos opciones va a tomar el servidor de aplicaciones pero la primera opción por default
es el manejo de cookies y si se llega a prohibir el uso de cookies entonces para manejar el Jayce hecho
Aydin que es el identificador único de la sesión entonces va a juntar este valor a cada una de las peticiones
u R.L que hagamos al servidor así que vamos a ver qué es lo que agregan.
Damos clic sobre nuestro Link y podemos observar que el número de accesos al recurso en este caso es
el valor de 1 me faltó imprimir el título.
Vamos a hacer la modificación
es lo primero que vamos a imprimir
imprimimos directamente la variable título.
Posteriormente agregamos un salto de línea
guardamos cambios y refrescamos sin embargo debido a que ya refrescamos ya es la segunda petición.
Por lo tanto ya nos manda el mensaje de bienvenidos nuevamente y el número de accesos al recurso.
Ya tenemos el valor de 2 y el Eugui de la sesión tiene terminación a 5B y podemos observar que el Heydi
de la sesión no se adjuntó al R.L.
Esto quiere decir que esta sesión se está almacenando de alguna otra forma y la otra forma que tenemos
disponible es utilizando el concepto de cuquis.
Vamos a revisar las cuquis que tenemos y podemos observar que se ha generado una Coquí con terminación
a 5B que es precisamente el mismo valor estamos mostrando.
Esto quiere decir que el manejo de la sesión internamente el valor de yeux hecho en Haití lo generó
por medio de una Kukín y es lo que estamos obteniendo con el objeto señor.
Cuando mandamos a llamar el método GET Heydi así que la pídelo en este caso utilizó el concepto de cuquis
para almacenar este valor pero como podemos observar internamente ya no estamos utilizando en ningún
momento el manejo de cuquis.
En este ejercicio esto ya lo hace internamente el servidor de aplicaciones ya nosotros internamente
solamente vamos a interactuar con nuestra sesión con el objeto de tipo HTTP sesión y de esta manera
va a ser más sencillo interactuar con la sesión y poder agregar información relacionada a la petición
del usuario bien vamos a regresar damos clic nuevamente y podemos llevar bienvenidos nuevamente el número
de accesos al recurso.
Ya tenemos el valor de tres y el valor de la sesión.
Podemos observar este valor y podemos observar que el valor de contador de visitas ya no se almacena
en una.
Lo único que se almacena en una cookie es el valor de la sesión y sesión Heydi pero ya internamente
el valor de contador de visitas se almacenó en un objeto de tipo HTTPS con el cual almacena información
a través de un mapa.
Así que agrega los valores de llave y posteriormente valor.
De esta forma es como estamos obteniendo la información pero esto ya no se va a guardar como una cookie
del lado del cliente sino que internamente el servidor de aplicaciones va a mantener este objeto de
tipo HTTPS.
Ahora durante cuánto tiempo vamos a almacenar esta información en el servidor.
Para ello tenemos el archivo dentro de la web INF se ha creado el archivo web XML de manera automática
y también nos ha agregado este Tag config y Saison Time Out.
En este caso el valor de 30 significa 30 minutos así que si no hacemos una petición al cliente durante
30 minutos entonces el objeto HTTPS se va a eliminar y se va a crear una nueva sesión.
En dado caso de que volvamos a utilizar nuestra aplicación así que la sesión por default dura 30 minutos.
Incluso si quitamos esta configuración si dejamos así nuestro archivo también va a seguir funcionando
y el valor por default es que la sesión dura 30 minutos.
Pero la inactividad ya que si estamos utilizando constantemente la aplicación y no pasan 30 minutos
de inactividad entonces la sesión se va a mantener activa durante todo el tiempo que estemos utilizando
la aplicación y si pasan 30 minutos de inactividad entonces se va a eliminar el objeto HTTPS.
Se elimina la Kukín y por lo tanto si volvemos a hacer una petición a la aplicación se va a crear un
nuevo objeto de tipo Saison incluso también como hemos comentado ese archivo web XML podríamos eliminarlo
esos dos archivos Elebits XML ya que lóbrega en automático para el manejo de ser ahí context LePen Injection
pero ese archivo se ve en el tema de Java empresarial y el archivo de web XML también se puede eliminar
ya que al día de hoy es opcional utilizar este archivo.
Sin embargo vamos a dejarlo para que tengan la referencia de este archivo y en dado caso de que sea
necesario también pueden realizar configuraciones sobre este archivo.
Pero de momento no vamos a realizar ninguna otra modificación así como el archivo puede seguir funcionando
en nuestra aplicación
así que con esto ya estamos realizando el seguimiento de un usuario pero ahora utilizando el concepto
de HTTPS.
Ahora si abrimos un nuevo tabulador vamos a ver qué sucede
ponemos la misma R.L podemos observar que el número de recursos se sigue manteniendo en 4 si abrimos
una nueva ventana
podemos ver que sigue manteniendo el número de recursos igual a 5 así que es muy similar al manejo de
cookies.
Cuando revisamos este concepto pero si abrimos una ventana de incógnito se oculta el Aipe y por lo tanto
el servidor de aplicaciones detecta como si fuera una nueva IP y por lo tanto nos manda el mensaje de
bienvenidos por primera vez.
Número de accesos al recurso 1 y el hecho en Airy ya cambió la terminación vamos a revisar los recursos
y podemos observar que hayáis hecho Eirín ya está manejando otro número.
Si refrescamos entonces cambia el título.
Bienvenidos nuevamente y el número de accesos al recurso ya es 2 pero se sigue manteniendo el Jaish
hecho en Heydi y así las veces que estemos refrescando este recurso ya que estamos simulando que estamos
accediendo a nuestra aplicación varias veces así que funciona exactamente igual que el manejo de cookies
que explicamos elecciones anteriores simplemente que ahora debido a que estamos utilizando el objeto
Saison va a ser mucho más sencillo trabajar con información y así poder acceder a la información que
hemos agregado a la sesión asociada a la visita de un usuario y también recuperar la información asociada
a un usuario así que todo esto va a ser más simple utilizando este objeto https: bien así que con esto
hemos visto el manejo de sesiones utilizando el objeto HTTPS de la pídelo servlets todo por este vídeo
y nos vemos en la siguiente elección.
Saludos.