javaavanzadog2_clase3 sesiones

Upload: neider-leonardo-avendano-rodriguez

Post on 10-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    1/27

    Programacin con Java

    JAVA AVANZADO

    Sotuyo Espinosa Alejandra

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    2/27

    Programacin con Java

    J2EE J2EE Java 2 Platform, Enterprise Edition

    Introduccin

    Aplicaciones Multicapas Aplicaciones WEB (Estructura de un WAR) Aplicaciones de negocio (Estructura de un EAR)

    APIs de J2EE (servlets, jsp, jms, jta, jdbc, etc.)

    Servidor de Aplicaciones TOM CAT

    Introduccin Instalacin

    Ejecucin de programas

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    3/27

    Programacin con Java

    J2EE Objetivo:

    Introduccin a J2EE

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    4/27

    Programacin con Java

    Introduccin En los 90s inicia la Word Wide Web con

    la distribucin de informacin basado en

    hipertexto.

    Las apliaciones web estan basadas en

    clientes (navegadores) y servidores

    (HTTP).

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    5/27

    Programacin con Java

    J2EE La plataforma de Java, Enterprise Edition

    (J2EE) define el estndar para desarrollar

    componentes empresariales basados enmulticapa.

    Simplifica la construccin de aplicacionesempresariales estables, escalables y que

    se integran fcilmente datos yaplicaciones heredadas.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    6/27

    Programacin con Java

    Servidor de aplicacionesCumple los estndares del j2EE.

    IBM Web Sphere, Iplanet , Tomcat, Jboss

    , etc.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    7/27

    Programacin con Java

    Aplicaciones Los componentes de J2EE se empaquetan por separado y unen en un

    Enterprise Archive (EAR) para el despliegue dentro del servidor deaplicaciones. Los componentes de la web, en detalle, se empaquetan enweb application archives (WAR) . Cada WAR contiene los servlets y/o el

    JSP, un descriptor del despliegue, y archivos relacionados del recurso. El WAR tiene el mismo formato que un JavaARchive (JAR). Sin embargo

    un archivo eXtensisible del descriptor del despliegue (XML) debe tambinser creado.

    Los archivos estticos del HTML y JSP se almacenan en el nivel superiordel directorio de la WAR. El directorio WEB-INF que contiene el siguiente:las clases del Servidor (los componentes de Servlets, de JavaBean y losarchivos relacionados de la clase de Java) se deben almacenar en eldirectorio de WEB-INF/classes.

    Los JAR auxiliares se deben almacenar en el directorio de WEB-INF/lib.

    web.xml -- el descriptor componente del despliegue se almacena en eldirectorio web-inf.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    8/27

    Programacin con Java

    Servidor de Aplicaciones TOM CAT

    http://tomcat.apache.org/download

    -41.cgi/bin - Startup, shutdown y otros scripts.

    /confArchivos de configuracin.

    /logsArchivos de logs.

    /webapps Aplicaciones.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    9/27

    Programacin con Java

    Aplicaciones Web

    Web

    Cliente

    HTTP Request

    HTTP Response

    Http Servlet

    Request

    Http ServletResponse

    Web

    ComponentsWeb

    ComponentsWeb

    Components

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    10/27

    Programacin con Java

    Servlet Programa que se ejecuta en el servidor

    web, para :

    Leer informacin del cliente.

    Buscar informacin respecto a una peticin.

    Generar resultados.

    Establecer parmetros de respuesta.

    Devolver documentos al cliente.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    11/27

    Programacin con Java

    Servlet Se extiende de la clase HttpServlet.

    Ejemplo:

    package com.sofwareaf.com.mx.as.test;

    import javax.servlet.http.*;import javax.servlet.*;

    import java.io.*;

    public class HolaMundo extends HttpServlet {

    public void doGet(HttpServletRequest request,HttpServletResponse response)throwsServletException,IOException{

    response.setContentType("text/html");

    PrintWriter out=response.getWriter();String doc="HOLA MUNDO";

    out.println(doc);

    }

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    12/27

    Programacin con Java

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    13/27

    Programacin con Java

    HTTPEl Word Wide Web permite publicar y acceder a recursos o

    servicios.El protocolo de transferencia de http define lasformas en que los navegadores interactan con los

    servidores web. Interacciones peticin-respuesta

    Tipos de contenido. El cliente hace una peticinincluyendo el tipo de contenido que prefiere y el servidortomando esto en cuenta devuelve el tipo de contenido

    para que el navegador sepa procesarlo. Un recurso por solicitud.

    Control de acceso simple.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    14/27

    Programacin con Java

    Ciclo de vida del Servlet Init. Slo se ejecuta cuando se crea el

    servlet.

    Service. Cada que se realiza una peticin

    al servlet este verifica el tipo de peticin

    (doGet, doPost,doPut, doDelete, etc.).

    Destroy . Para eliminar la instanciacargada.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    15/27

    Programacin con Java

    RequestContiene informacin pasada entre el cliente y el

    servidor. Implementa la interfaz servletRequestdefine mtodos para obtener la siguienteinformacin:

    Parmetros, tpicamente para pasar informacinentre cliente y servidor.

    Atributos, tpicamente para pasar informacin

    entre componentes. Informacin del protocolo de comunicacin.

    Informacin relevante para localizacin.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    16/27

    Programacin con Java

    ResponseContiene informacin del servidor al cliente.

    Implementa la interfaz servletResponse

    Regresa un flujo de salida para el cliente. Para enviar caracteres ocupar PrintWriter regresado de la respuesta del mtodo getWriter.

    Usar ServletOutputStream regresado de getOutputStream para enviar datos binarios.

    Indica el tipo de contenido para la respuesta.

    Indica el buffer de salida con el mtodosetBufferSize(int).

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    17/27

    Programacin con Java

    Invocar otro recurso WebUn componente puede invocar el siguiente

    camino:

    Directamente

    Obtener un objeto RequestDispacher usando

    el mtodo getRequestDispacher(URL) del

    request, despues invocar el mtodo forward.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    18/27

    Programacin con Java

    Mantener el estado del Cliente Si la aplicacin requiere de diversas peticiones

    desde un cliente y requiere mantenerinformacin del usuario, existe un API paramantener sesin y provee mecanismos paraimplementar la sesin.

    La sesin es representada por el objetoHttpSession, puedes obtenerla invocando el

    mtodo getSession de un objeto request, elcual regresara la sesin asociada a la peticin ysi no existe una este crea una.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    19/27

    Programacin con Java

    Asociar un Objeto a una Sesin Tu puedes asociar atributos objeto-valor

    asociados a una sesin; ya que los

    atributos son accesibles por algunoscomponentes web que son parte del

    mismo contexto web y la peticin es parte

    de la misma sesin.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    20/27

    Programacin con Java

    Manejo de SesionesA causa de que un cliente no requiere de

    una sesin larga, cada sesin esta

    asociada a un time-out , el time-out puedeser modificado y consultado con los

    mtodos: setMaxInactiveInterval y

    getMaxInactiveInterval

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    21/27

    Programacin con Java

    Finalizar sesiones Cuando un cliente termina la interaccin,

    se usara el mtodo para invalidar una

    sesin del lado del servidor y removeralgunos datos de sesin.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    22/27

    Programacin con Java

    Alcance de Objetos.

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    23/27

    Programacin con Java

    Java Server Pages Permite crear fcilmente aplicaciones web

    con contenido esttico y dinmico.

    Contiene dos tipos de texto :

    Datos estticos ( como: HTML,XML,SVG.)

    Elementos JSP (contenido dinmico).

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    24/27

    Programacin con Java

    Traduccin y Compilacin Durante la traduccin cada tipo de datos en el JSP es tratado diferente. Los

    datos estticos son traducidos dentro del flujo de respuesta. Los elementosJSP son tratados como sigue: Las directivas son usadas para controlar como el contenedor web traduce y

    ejecuta la pagina JSP.

    Declaraciones del tipo en el cuerpo de la clase del servlet fuerade cualquier mtodo existente.

    Los scriptlets son insertados dentro de la clase del JSP. se inserta dentro del mtodo _jspService del servlet.

    Las expresiones del lenguaje son pasadas como parmetros para expresionesevaluadas en el JSP.

    jsp: [set|get]Property son convertidos a llamadas a mtodos de componentesJavaBeans.

    jsp[include|forward] son convertidos a invocaciones de Java Servlet API

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    25/27

    Programacin con Java

    JavaBeans Componentes Clase java que puede ser fcilmente ser

    reutilizada

    Como utilizar en el JSP:

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    26/27

    Programacin con Java

    Variables predefinidas Existen variables predefinidas, los ms

    importantes son:

    Request (HttpServletRequest) Response (HttpServletResponse)

    Session (HttpSession asociado a la peticin)

    out (el PrintWriter utilizado para enviar el resultado al cliente)

    Session HttpSession asociado con la peticin.

    Aplication ServletContext se obtiene invocando los mtodos

    getServletConfig().getContext().

  • 8/8/2019 JavaAvanzadoG2_Clase3 Sesiones

    27/27

    Programacin con Java

    Manipulando erroresAlgunas excepciones pueden ocurrir

    cuando se ejecuta un JSP para controlar

    estos errores podemos incluir la siguientedirectiva.