Canciones
Jamir Antonio Avila Mojica
jamir.avila@gmail.com
Contenedor Web
Agenda
●
–
Contenedor Web
Servlets
●
Fundamentos
– – – – – –
Introducción Protocolo HTTP Ciclo de vida Ejemplo Colaboración entre servlets Sesiones
● ●
Listeners de eventos del ciclo de vida de Servlets Filtros Introducción JSTL
–
Páginas JSP
● ●Servlets
●
Un servlet es una extensión pequeña y conectable a un servidor web que permite agregar nuevas funcionalidades a este último.
Proceso Principal Solicitud
Thread
JVM Servlet 1 Servlet 2
Solicitud Solicitud
Thread Thread
Servlets
La API Servlet encapsula el protocolo HTTP, de esta manera el programador es aislado de los detalles de bajo nivel del protocolo, con lo quese facilita la escritura de aplicaciones Web. – Esto no significa que no se deba conocer el protocolo. ● En las aplicaciones empresariales, el contenedor web se encarga de la generación de la información dinámica mientras que el servidor web procesa todas las solicitudes a contenido estático: – Servidor Web – Contenedor Web
●
Servlets
Contenedor Web Contenedor de EJBs
Servidor WebMotor de Base de Datos
Servlets
●
●
El protocolo HTTP es un protocolo a nivel de aplicación para sistemas de información hipermedia distribuidos y colaborativos. Es un protocolo genérico que no tiene estado, puede ser usado para muchas tareas diferentes al hipertexto, como servidores de nombres y sistemas de administración de objetos distribuidos. El protocolo HTTP ha sido usado por laWorld-Wide Web desde 1990. La versión más reciente es la 1.1.
Servlets
El protocolo define varios tipos de mensajes: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT. Una solicitud GET tiene la siguiente forma: G ET recurso H TTP/1.1 CRLF H ost: nom bre_del_host CRLF CRLF El servidor responde con: H TTP/1.1 200 O k CRLF ...
Servlets
●
Los códigos de mensaje del servidor indican elresultado de la solicitud:
Informativo: ● Operación éxitosa: ● Redirección: ● Error del cliente: ● Error del servidor:
●
1XX 2XX 3XX 4XX 5XX
Servlets
Java Virtual Machine Contenedor
Cargar
Servlet n
doGet() doHead() doPost()
Solicitud
init() Servlet 2 service()
doPut() doDelete()
Solicitud
destroy()
Descargar
Servlet 1
doOptions() doTrace()
Servlets
En laAPI servlets, la interfaz HttpServletRequest maneja todo lo relacionado con las solicitudes HTTP de los clientes; mientras que la interfaz HttpServletResponse se encarga de las respuestas HTTP. package javax.servlet.http; public interface HttpServletRequest {...} public interface HttpServletResponse {...} void service(HttpServletRequest request, HttpServletResponse response);
Servlets
packagejavax.servlet.http; public interface HttpServletRequest extends ServletRequest { Cookie[] getCookies(); String getHeader(String); Enumeration getHeaderNames(); String getMethod(); String getQueryString(); HttpSession getSession(); Enumeration getParameterNames(); String getParameter(String); } //... Otros métodos
Servlets
package javax.servlet.http; public interface HttpServletResponseextends ServletResponse { void addCookie(Cookie); void addHeader(String); boolean containsHeader(String); String encodeURL(String); void setHeader(String); HttpSession getSession(); } //... Otros métodos
Servlets
●
●
Las aplicaciones web J2EE: servlets, páginas JSP, páginas HTML, imágenes, archivos de propiedades, etc; se distribuyen también en un único archivo denominado WAR. El archivodescriptor de una aplicación Web tiene como nombre web.xml y se ubica en la carpeta WEB-INF
Servlets
import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class DemoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html");...
Regístrate para leer el documento completo.