La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.

Presentaciones similares


Presentación del tema: "Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones."— Transcripción de la presentación:

1 Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones

2 Java 2 Enterprise Edition Es una arquitectura para implementar aplicaciones empresariales usando Java y tecnologías de Internet Provee un modelo de desarrollo de aplicaciones basado en componentes. Usa un modelo para el desarrollo de aplicaciones distribuidas basado en múltiples capas o multitiered: la lógica de la aplicación se divide en componentes que se instalan en equipos diferentes de acuerdo al tier al que pertenecen.

3 Java 2 Enterprise Edition Está constituído por un conjunto de tecnologías estándares: Servlets, JSP, EJB, JDBC, JTA, JMS, JNDI, RMI-IIOP, JCA, etc. Las soluciones J2EE no están atadas a productos ni a interfaces de programación de ningún fabricante.

4 Java 2 Enterprise Edition La especificación J2EE define las siguientes componentes: Componentes Cliente: Páginas HTML, Applets y Aplicaciones Cliente Java Componentes Web: Servlets y JSP (JavaBeans, Custom Tags) Componentes Empresariales: Enterprise JavaBeans

5 Java 2 Enterprise Edition En la arquitectura J2EE todas las componentes se ejecutan en el entorno de un contenedor. Un Contenedor es un ambiente de ejecución que provee la conectividad con la red, el gerenciamiento del ciclo de vida de las componentes, seguridad, y servicios especiales como transaccionalidad, persistencia, pooling, etc.

6 Servlets Un servlet es un programa escrito en Java que se ejecuta en un servidor. Es un servidor chico, especializado. Java, provee una API para escribir servlets. Esta API define un modelo de clases e interfaces para soporte de servicios genéricos de Internet. Los servlets más frecuentemente usados son los HTTP servlets. Los HTTP servlets reciben requerimientos HTTP del web browser, procesan y le devuelven resultados como respuestas HTTP.

7 Servlets Los HTTP servlets requieren de un Contenedor de Servlets o Contenedor Web donde ejecutarse. Los servlets son objetos gerenciados por el Contenedor Web. Los servlets tienen un ciclo de vida similar al de un applet no visual. Tomcat de Apache.org, es uno de los Contenedores Web open source más popularmente usados.

8 Contenedor El Contenedor Web está construído sobre la plataforma Java 2 (J2SE TM), implementa la API de servlets y todos los servicios requeridos para procesar pedidos HTTP. El Contenedor Web es responsable de: la conectividad con la red capturar los requerimientos HTTP, traducirlos a objetos que el servlet entienda, entregarle dichos objetos al servlet quien los usa para producir las respuestas y generar una respuesta HTTP en un formato correcto gerenciar el ciclo de vida del servlet manejar de errores proveer seguridad

9 Contenedor El Contenedor Web interactúa con los servlets invocando a los métodos de gerenciamiento o métodos callback. Estos métodos definen la interface entre el Contenedor y los servlets (API de servlets). Cada fabricante tiene su propia implementación de la API de servlets.

10 Servlets ¿Que permiten hacer? Leer datos de los usuarios (generalmente desde una página HTML) Leer toda la información del protocolo HTTP (datos de sesión, información del navegador, etc.) Generar un resultado de la página (este proceso puede involucrar acceso a base de datos, a otras clases, servidores, etc.) Darle formato al resultado (generalmente HTML) Fijar los parámetros de respuesta de HTTP (puedo decirle al navegador que el resultado será HTML, graficos, etc. Enviarle de vuelta al cliente el resultado.

11 Mi primer servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MiPrimerServlet extends HttpServlet { – public void doGet(HttpServletRequest request, – HttpServletResponse response) – throws ServletException, IOException { – // Use "request" para leer los headers HTTP – // (p.e. cookies) y formularios HTML (p.e. datos que ingresa – // el ususario). – // Use "response" para especificar respuestas, codigo y – // encabezados HTTP (p.e. content type, cookies) – PrintWriter out = response.getWriter(); – // Use "out" para enviar contenido a un navegador – out.println("hola a todos"); – } }

12 Mi primer servlet con HTML – response.setContentType("text/html"); – PrintWriter out = response.getWriter(); – // Use "out" para enviar contenido a un navegador – out.println(" "); – out.println(" Mi primer servlet "); – out.println(" "); – out.println(" Hola a todos "); – out.println(" "); – }

13 El ciclo de vida de un servlet Cuando se llama o invoca a un servlet por primera vez el contendor lo instancia y lo usa, los llamados siguientes son threads de la misma instancia. Cuando se invoca por primera vez se llama al método init(). Aquí es donde vamos a inicializar los parámetros generales del servlet. En las siguientes peticiones se crearán nuevos hilos de la misma instancia y se invoca al método service() y este invocará a los métodos doGet, doPost, etc. Con cada petición nueva al servidor el mismo creará un hilo (o thread) del servlet y a continuación invocará al método que corresponda dependiendo del requerimiento que le hayamos hecho. Finalmente cuando se deja de usar un servlet y se descargue de memoria antes de ello se ejecutará el método destroy()

14 Métodos doGet() y doPost() – public void doGet(HttpServletRequest request, – HttpServletResponse response) – throws ServletException, IOException { – // Use "request" para leer los headers HTTP – // (p.e. cookies) y formularios HTML (p.e. datos que ingresa – // el ususario). – // Use "response" para especificar respuestas, codigo y – // encabezados HTTP (p.e. content type, cookies) – PrintWriter out = response.getWriter(); – // Use "out" para enviar contenido a un navegador – out.println("hola a todos"); – } Los métodos doGet() y doPost() son los métodos que se encargan de manejar los requerimientos HTTP via get y post. Es donde estaremos mas del 95% del tiempo trabajando.

15 Cookies Que es una cookie? – Una cookie, en inglés es una ficha identificatoria que se le da a una persona cuando guarda una prenda de ropa en un guadaropa y después la pasa cuando busca su prenda. – En java es un objeto de la clase Cookie del paquete javax.servlet.http – Las cookies son parte del mensaje HTTP en formato nombre de campo y su valor. – El dato de una cookie es un String. Si se quiere guardar algún tipo de dato diferente debe previamente convertirse a ese formato. – Una cookie la crea el servlet y es enviada del servidor al cliente, luego el cliente le envia la cookie al servidor la próxima vez que le pida una página.

16 Cookies Como escribir una cookie – Crear un objeto cookie – Darle valor a sus atributos – Enviarla Como leer una cookie – Recoger o juntar las cookies – Buscar la que queremos – Leer el valor

17 Cookies - escritura Creación: – Cookie cuqui=new Cookie("nombre","valor"); Modificación: – cuqui.setValue("otro valor"); – cuqui.setMaxAge(4000); Enviar: – response.addCookie(cuqui); Despues de enviar todas las cookies que necesitemos crearemos el PrintWriter para escribir la página – PrintWriter out=response.getWriter();

18 Cookies - lectura Recoger las cookies – Cookie cuqui=null; – Cookie [] arregloDeCuquis=request.getCookies(); – cuqui=arregloDeCuquis[0]; Leer el nombre de las cookies – cuqui.getName(); Leer el valor de las cookies – String valor=cuqui.getValue();

19 Sesiones Se utilizan para almacenar información de cada cliente que se conecta a una aplicación web desarrollada con tecnología Servlets/JSP. El protocolo HTTP es un protocolo sin estado, por lo tanto no permite saber si las peticiones que se le hace al servidor proviene desde un cliente o varios. Las sesiones permiten subsanar ese problema. El contenedor de Servlets es el que permite almacernar la información de los clientes.

20 Sesiones Una sesión es un objeto de la clase HttpSession que se crea en el contenedor y es identificada a través de un SESSION_ID, ese ID se "entrega" a los clientes utilizando una cookie. Cuando una sesión se crea se le asigna a un cliente, y cada vez que el cliente pide una página nueva al servidor entrega su cookie para poder identificar a que sesión pertenece. En una sesión se almacenan objetos.

21 Sesiones – Como utilizarlas Crear la sesión – HttpSession sesion=request.getSession(true); Guardar datos en una sesión – Integer guardar=new Integer(8); – sesion.setAtribute("numero",guardar); Leer datos de la sesión – Integer leer = (Integer) sesion.getAttribute("numero"); Finalizar la sesión – sesion.invalidate();


Descargar ppt "Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones."

Presentaciones similares


Anuncios Google