Los servlets son objetos que corren dentro y fuera del contexto de un contenedor de servlets (ej: Tomcat) y extienden su cuidado.

El servlet es una clase en el lenguaje de programación Java, utilizada para ampliar las capacidades de un servidor . Aunque los servlets pueden responder a cualquier tipo de solicitudes, que se utilizan comúnmente para extender las aplicaciones alojadas por servidores web, por lo que se pueden considerar como los applets de Java que se ejecutan en servidores en lugar de en los navegadores web. Este tipo de servlets son la contraparte Java de otras tecnologías de contenido dinámico Web, como PHP y ASP.NET.

La palabra servlet deriva de otra anterior, applet, que se refería a pequeños programas que se ejecutan en el contexto de un navegador web. Por contraposición.

El uso más común de los servlets es generar páginas web de forma dinámica a partir de los parámetros de la petición que envíe el navegador web.

> Ciclo de vida

Cada servlet tiene el mismo ciclo de vida:

1.-Un servidor carga e inicializa el servlet.

2.-El servlet maneja cero o más peticiones de cliente.

3.-El servidor elimina el servlet.

– Inicializar un Servlet

Cuando un servidor carga un servlet, ejecuta el método init del servlet. La inicialización se completa antes de manejar peticiones de clientes y antes de que el servlet sea destruido.

Aunque muchos servlets se ejecutan en servidores multi-thread, los servlets no tienen problemas de concurrencia durante su inicialización. El servidor llama sólo una vez al método init al crear la instancia del servlet, y no lo llamará de nuevo a menos que vuelva a recargar el servlet. El servidor no puede recargar un servlet sin primero haber destruido el servlet llamando al método destroy.

– Interactuar con Clientes

Después de la inicialización, el servlet puede manejar peticiones de clientes. Estas respuestas son manejadas por la misma instancia del servlet por lo que hay que tener cuidado con acceso a variables compartidas por posibles problemas de sincronización entre requerimientos concurrentes.

– Destruir un Servlet

Los servlets se ejecutan hasta que el servidor los destruye, por cierre el servidor o bien a petición del administrador del sistema. Cuando un servidor destruye un servlet, ejecuta el método destroy del propio servlet. Este método sólo se ejecuta una vez y puede ser llamado cuando aún queden respuestas en proceso por lo que hay que tener la atención de esperarlas. El servidor no ejecutará de nuevo el servlet, hasta haberlo cargado e inicializado de nuevo.