3
Existen muchas definiciones posibles para el concepto de Servlet, a continuación expondremos algunas de las muchas que hay: Según la tecnologia: "Un Servlet es una clase en lenguaje Java usada para ampliar la funcionalidad de los servidores web a los que se accede via modelo de programación request-response." Según la arquitectura: un Servlet es un componente Web que se ejecuta dentro de un contenedor web y genera contenido dinámico. Según la programación: Los Servlets son pequeñas clases Java independientes de la plataforma compiladas en bytecode que pueden ser cargadas dinámicamente y ejecutadas dentro de un servidor web. La funcionalidad de los Servlets se resume en lo siguiente: 1. Leer los datos enviados por el cliente. 2. Extraer cualquier información útil incluida en la cabecera HTTP o en el cuerpo del mensaje de petición enviado por el cliente. 3. Generar dinámicamente resultados. 4. Formatear los resultados en un documento HTML. 5. Establecer los parámetros HTTP adecuados incluidos en la cabecera de la respuesta (por ejemplo: el tipo de documento, cookies, etc.) 6. Enviar el documento final al cliente. Las ventajas más destacables del uso de Servlets son las siguientes: Es integrable con páginas JSP y se pueden usar filtros. Instancia permanentemente cargada en memoria por cada Servlet. Cada petición se ejecuta en un hilo, no en un proceso. Con los Servlets, hay n threads pero sólo una copia de la clase Servlet. Los Servlet también tienen más alternativas que los programas CGI para optimizaciones como mantener abiertas las conexiones de las bases de datos. Los Servlets están escritos en Java y siguen un API bien estandarizado. Puede ser utilizados sobre cualquier SO. y en la mayoría de servidores Web. Por ser Java ofrece: máquina virtual, chequeo de tipos, gestión de memoria, excepciones, seguridad, etc.

JSP Y SERVLET (1)

Embed Size (px)

DESCRIPTION

j2ee

Citation preview

Page 1: JSP Y SERVLET (1)

Existen muchas definiciones posibles para el concepto de Servlet, a continuación expondremos algunas de las muchas que hay:

Según la tecnologia: "Un Servlet es una clase en lenguaje Java usada para ampliar la funcionalidad de los servidores web a los que se accede via modelo de programación request-response."

Según la arquitectura: un Servlet es un componente Web que se ejecuta dentro de un contenedor web y genera contenido dinámico.

Según la programación: Los Servlets son pequeñas clases Java independientes de la plataforma compiladas en bytecode que pueden ser cargadas dinámicamente y ejecutadas dentro de un servidor web.

La funcionalidad de los Servlets se resume en lo siguiente:

1. Leer los datos enviados por el cliente.2. Extraer cualquier información útil incluida en la cabecera HTTP o en el cuerpo del

mensaje de petición enviado por el cliente.3. Generar dinámicamente resultados.4. Formatear los resultados en un documento HTML.5. Establecer los parámetros HTTP adecuados incluidos en la cabecera de la respuesta

(por ejemplo: el tipo de documento, cookies, etc.)6. Enviar el documento final al cliente.

Las ventajas más destacables del uso de Servlets son las siguientes:

Es integrable con páginas JSP y se pueden usar filtros.

Instancia permanentemente cargada en memoria por cada Servlet. Cada petición se ejecuta en un hilo, no en un proceso.Con los Servlets, hay n threads pero sólo una copia de la clase Servlet. Los Servlet también tienen más alternativas que los programas CGI para optimizaciones como mantener abiertas las conexiones de las bases de datos.Los Servlets están escritos en Java y siguen un API bien estandarizado.Puede ser utilizados sobre cualquier SO. y en la mayoría de servidores Web.Por ser Java ofrece: máquina virtual, chequeo de tipos, gestión de memoria, excepciones, seguridad, etc.Actúan como capa intermedia entre l apetición que proviene del navegador Web u otro cliente HTTP y Bases de Datos o Aplicaciones en el servidor HTTP.

Page 2: JSP Y SERVLET (1)

CICLO DE VIDA

1. Inicializar el servletCuando un servidor carga un servlet, ejecuta el método init del servlet. El proceso de inicialización debe completarse antes de poder manejar peticiones de los 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.

2. Interactuar con los clientes

Después de la inicialización, el servlet puede dar servicio a las peticiones de los clientes. Estas peticiones serán atendidas por la misma instancia del servlet, por lo que hay que tener cuidado al acceder a variables compartidas, ya que podrían darse problemas de sincronización entre requerimientos simultáneos.

3. Destruir el servlet

Los servlets se ejecutan hasta que el servidor los destruye, por cierre del 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.

Page 3: JSP Y SERVLET (1)

JSP

JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como Páginas de Servidor Java. Es, pues, una tecnología orientada a crear páginas web con programación en Java.

Las páginas JSP están compuestas de código HTML/XML mezclado con etiquetas especiales para programar scripts de servidor en sintaxis Java. Por tanto, las JSP podremos escribirlas con nuestro editor HTML/XML habitual.

El motor de las páginas JSP está basado en los servlets de Java -programas en Java destinados a ejecutarse en el servidor-, aunque el número de desarrolladores que pueden afrontar la programación de JSP es mucho mayor, dado que resulta mucho más sencillo aprender que los servlets.

En JSP creamos páginas de manera parecida a como se crean en ASP o PHP -otras dos tecnologías de servidor-. Generamos archivos con extensión .jsp que incluyen, dentro de la estructura de etiquetas HTML, las sentencias Java a ejecutar en el servidor.