Por parte del usuario se comunica con dos tipos de eventos: por url y botones.
Por parte de la aplicación puede haber una serie de eventos.
- Unos relacionados con la aplicación. (ServletContext)
- Por la sesión.
- Por la solicitud. (request)
- ServletContextListener. - Cuando la aplicación arranca, salta un evento.
- HttpSessionListener. - Oir la entrada de un usuario.
- ServletRequestListener. -Interceptar la petición y realizar operaciones.
Zoo mejorado:
Mejorar nuestro ejercicio del zoo aplicando un listener de sesión y dar de alta en el web.xml el listener.
El objetivo del ejercicio es que un listener de sesión escuche que se creó una sesión y coloque en una variable de sesión un listado vacío, listado que recogerá el servlet principal si se accede a él sin ningún animal introducido, para que no sea nulo.
Para añadir un listener a un web.xml sólo hará falta introducir un par de etiquetas (una dentro de otra): listener y listener-class. Usando el famoso Control+espacio en el Eclipse nos aparecerán todas las etiquetas posibles a colocar, así que será fácil reconocerlo.
Si queremos colocar una variable de tipo aplicación, en el escuchador (de tipo aplicación, por supuesto xD) usaremos:
arg0.getServletContext().setAttribute("Nombre", Objeto);
En Nombre pondremos un nombre que podamos reconocer para el Objeto que le pasemos, como hariamos con el nombre de una variable.
Por supuesto, en nuestro servlet principal, cuando queramos recojer el valor de esa variable de aplicación usaremos un request.getServletContext().getAttribute("Nombre");
En el escuchador de sesión haremos lo mismo, pero en vez de "getServletContext" esta vez será "getSession()" en la secuencia de comandos.
Contador de visitas y Chat:
Los siguientes ejercicios es poner en práctica los eventos escuchadores de sesión y de aplicación.
El contador de visitas se centra en el evento de aplicación que crea una variable global de aplicación que se va incrementando cada vez que se accede a la página mediante un escuchador de tipo ServletRequestListener.
El Chat es más de lo mismo. Utilizaremos un formulario de entrada que va introduciendo en una variable de aplicación un texto que se mostrará para todos los usuarios.
No hay comentarios:
Publicar un comentario