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.
Top Related