Que es un servlt

Solo disponible en BuenasTareas
  • Páginas : 25 (6036 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de noviembre de 2010
Leer documento completo
Vista previa del texto
¿Qué es un Servlet?
Los servlets son módulos que extienden la funcionalidad de los servidores orientados a peticiones y respuestas, tales como los servidores de web. Por ejemplo, un servlet puede recibir los datos de una forma HTML y guardarlos en una base de datos.

Un servlet es una clase del lenguaje de programación Java que es utilizada para extender las habilidades de los servidores queguardan aplicaciones a las cuales se accede mediante el modelo petición respuesta. A pesar de que los servlets pueden responder a cualquier tipo de respuesta, estos son comúnmente utilizados para extender las aplicaciones almacenadas en servidores web. Para estas aplicaciones, la tecnología Servlet Java define las clases servlets especificas para HTTP.
Los paquetes javax.servlet yjavax.servlet.http proporcionan interfases y clases para escribir servlets. Todos los servlets deben implementar la interfase Servlet, que define los métodos del ciclo de vida. Cuando se implementa un servicio genérico, se puede utilizar o extender la clase GenericServlet proporcionada con la API Servlet Java. La clase HttpServlet proporciona métodos, como doGet y doPost, para el manejo de servicios específicosHTTP-specific.
Ciclo de vida de un servlet
El ciclo de vida de un servlet está controlado por el contenedor en donde el servlet ha sido desplegado. Cuando una petición es mapeada a un servlet, el contenedor realiza los siguientes pasos.
1. Si una instancia del servlet no existe, el contendor web:
1. Carga la clase servlet.
2. Crea una instancia de la clase servlet.
3.Inicializa la instancia del servlet llamando al método init, La inicialización es cubierta en Inicializando un Servlet.
2. Invoca el método service, pasando los objetos request y response. Los métodos de servicio son tratados en Escribiendo métodos de servicio.
Si el contenedor necesita quitar el servlet, este finaliza el servlet llamando el método destroy. La finalización es discutida enFinalizando un servlet.
Manejando eventos del ciclo de vida de un Servlet
Se pueden monitorizar y reaccionar a eventos en el ciclo de vida de un servlet definiendo objetos listener cuyos métodos serán invocados cuando un evento life-cycle se suceda. Para utilizar estos objetos listener se debe definir y especificar la clase listener.
Definiendo la clase Listener
Se define una clase listenercomo una implementación de la interfase listener. La Tabla 4-2 siguiente lista los eventos que pueden ser monitorizados y la interfase correspondiente que debe ser implementada. Cuando un método listener es invocado, este pasa un evento que contiene información apropiada a el evento. Por ejemplo, los métodos en la interfase HttpSessionListener le son pasados un HttpSessionEvent, que contiene unaHttpSession.

Tabla 4-2 Eventos del ciclo de vida de un servlet
Objeto | Evento | Interfase Listener y clase Event |
Contexto Web (vea Accediendo al contexto Web) | Inicialización y destrucción | javax.servlet.ServletContextListener y ServletContextEvent |
| Atributo agregado, eliminado o remplazado | javax.servlet.ServletContextAttributeListener y ServletContextAttributeEvent |
Session(Vea Manteniendo el estado del cliente) | Creación, invalidación, activación, desactivación y tiempo afuera | javax.servlet.http.HttpSessionListener, javax.servlet.http.HttpSessionActivationListener, y HttpSessionEvent |
| Atributo agregado, eliminado o reemplazado | javax.servlet.http.HttpSessionAttributeListener y HttpSessionBindingEvent |
Request | Un componente Web ha comenzado a procesaruna petición a servlet | javax.servlet.ServletRequestListener y ServletRequestEvent |
| Atributo agregado, eliminado o remplazado | javax.servlet.ServletRequestAttributeListener y ServletRequestAttributeEvent |
La clase tut-install /javaeetutorial5/examples/web/bookstore1/src/java/com/sun/bookstore1/listeners/ ContextListener crea y elimina los accesos a la base de datos y cuenta los objetos...
tracking img