viernes, 27 de abril de 2012

Java Servlet


Servlet
Un servlet es una clase de Java que se utiliza para extender las capacidades de lo servidores que alojan aplicaciones accesibles a través de un modelo de programación request-response.  Aunque los servlets pueden responder a cualquier tipo de solicitud, se utilizan comúnmente para extender las aplicacioens alojadas en servidores web.
Los paquetes javax.servlet y javax.servlet.http proveen interfaces y clases para escribir servlets. Todos los servlets deben implementar la interface Servlet que define los métodos del ciclo de vida. Cuando implementamos un servicio genérico, se puede utilizar o extender la clase GenericServlet con la API Java Servlet. La clase HTTPServlet proporciona métodos, tales como doGet y doPost, para el manejo de los servicios específicos de HTTP.

Ciclo de vida del Servlet
El ciclo de vida del servlet está controlado por el contenedor en donde el servlet ha sido desplagado. Cuando una solicitud es mapeada a un servlet, el contenedor realiza los siguientes pasos:

      1.  Si una instancia del servlet no existe, el contenedor web
a.       Carga la clase servlet
b.      Crea una instancia del servlet
c.       Inicializa la instancia del servlet llamando al método init.
      2.   Invoca al método service, pasando objetos request y response.

Si el contenedor necesita remover el servlet, llama al método destroy.

Manejando eventos en el ciclo de vida del Servlet
Se puede monitorear y reaccionar ante los eventos en el ciclo de vida del servlet,  definiendo objetos listener cuyos métodos sean invocados cuando el evento ocurra. Para usar estos objetos listener, se debe definir y especificar la clase listener.

Definiendo la clase Listener
Se define una clase listener como una implementación de una interfaz listener. La siguiente tabla muestra los eventos que pueden ser monitoreados y las correspondientes interfases que deben ser implementadas.  Cuando un método listener es invocado, se le pasa un evento que contiene información apropiada para el evento. Por ejemplo, los métodos en la interfase HttpSessionListener son pasados a HttpSessionEvent, que contiene a HttpSession.


No hay comentarios:

Publicar un comentario

Gracias por dejar su comentario. Carpe diem!