Download Java Servlet - Programación Orientada a Objetos 2

Document related concepts
no text concepts found
Transcript
Sun Microsystems
 Los servlets son objetos que corren dentro del
contexto de un contenedor de servlets y extienden su
funcionalidad. También podrían correr dentro de un
servidor de aplicaciones, que, además de contenedor
para servlet, tendrá contenedor para objetos más
avanzados, como son los EJB (son una de las API que
forman parte del estándar de construcción de
aplicaciones empresariales)
 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, 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.
Historia
 La especificación original de Servlets fue creada por
Sun Microsystems (la versión 1.0 fue terminada en
junio de 1997). Comenzando con la versión 2.3, la
especificación de Servlet fue desarrollada siguiendo el
Proceso de la Comunidad Java (Java Community
Process).
Aspectos tecnicos
 Un servlet es un objeto que se ejecuta en un servidor o
contenedor JEE, especialmente diseñado para ofrecer
contenido dinámico desde un servidor web,
generalmente HTML. Otras opciones que permiten
generar contenido dinámico son con los lenguajes ASP,
PHP, JSP (un caso especial de servlet) y Python.
Forman parte de JEE (Java Enterprise Edition), que es
una ampliación de JSE (Java Standard Edition).
 Un servlet 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).
Ciclo de vida
 El ciclo de vida de un Servlet se divide en los siguiente
puntos:
 El cliente solicita una petición a un servidor vía URL.
 El servidor recibe la petición.
 Si es la primera, se utiliza el motor de Servlets para cargarlo y
se llama al método init().
 Si ya está iniciado, cualquier petición se convierte en un
nuevo hilo. Un Servlet puede manejar múltiples peticiones de
clientes.
 Se llama al método service() para procesar la petición
devolviendo el resultado al cliente.
 Cuando se apaga el motor de un Servlet se llama al método
destroy(), que lo destruye y libera los recursos abiertos.
Clases y objetos necesarios
 Podemos crear un Servlet haciendo uso del paquete




javax.servlet.
Clase HttpServletRequest
Representa la comunicación desde el cliente hacia el
servidor. El flujo de entrada será del tipo
ServletInputStream y permite acceder a la cabecera
HTTP y a los datos del cliente.
Clase HttpServletResponse
Representa la comunicación desde el servidor hacia el
cliente, donde el flujo será del tipo
ServletOutputStream.