Documentacion: Servlets

Los servlets son objetos que corren dentro del contexto de un contenedor de servlets (en nuestro caso Tomcat, de Apache) y extienden su funcionalidad. También podrían correr dentro de un servidor de aplicaciones (ej: OC4J Oracle) que además de contenedor para servlet tendrá contenedor para objetos más avanzados como son los EJB (Tomcat sólo es un contenedor de servlets).

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

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. Un ejemplo muy claro en nuestra web, es comprobar los parámetros de login de los usuarios, haciendo que luego la web responda en función a los posibles errores que esto puede generar.

Aspectos técnicos

Un servlet es un objeto que se ejecuta en un servidor o contenedor JEE, fue especialmente diseñado para ofrecer contenido dinámico desde un servidor web, generalmente es HTML. Otras opciones que nos permiten generar contenido dinámico son con los lenguajes ASP, PHP, JSP (un caso especial de servlet) y Python.

Los servlets forman parte de JEE (Java Enterprise Edition), que es una ampliación de JSE (Java Standard Edition), por lo que necesitaremos para utilizarlos un 'jdk'.

Un servlet es un objeto Java que implementa la interfaz javax.servlet.Servlet o hereda alguna de las clases más convenientes para un protocolo específico (ej: javax.servlet.HttpServlet). Al implementar esta interfaz el servlet es capaz de interpretar los objetos de tipo HttpServletRequest y HttpServletResponse quienes contienen la información de la página que invocó al servlet.

Entre el servidor de aplicaciones (o web content) y el servlet existe un contrato que determina cómo han de interactuar. La especificación de éste se encuentra en los JSR (Java Specification Requests) del JCP (Java Community Process).

La especificacion en la que están basados nuestros servlets es la 2.2, existiendo algunas más modernas, pero con igual funcionalidad, para lo que nosotros la empleamos.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License