JAVA AVANZADO

Sotuyo Espinosa Alejandra
Programación con Java

J2EE 

J2EE JavaΠ2 Platform, Enterprise Edition
Introducción Aplicaciones Multicapas 


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

API¶s de J2EE (servlets, jsp, jms, jta, jdbc, etc.) 

Servidor de Aplicaciones TOM CAT
Introducción Instalación Ejecución de programas

Programación con Java

J2EE  Objetivo: Introducción a J2EE Programación con Java .

 Las apliaciones web estan basadas en clientes (navegadores) y servidores (HTTP).Introducción En los 90¶s inicia la Word Wide Web con la distribución de información basado en hipertexto.  Programación con Java .

 Programación con Java . Enterprise Edition (J2EE) define el estándar para desarrollar componentes empresariales basados en multicapa.J2EE La plataforma de Java. escalables y que se integran fácilmente datos y aplicaciones heredadas.  Simplifica la construcción de aplicaciones empresariales estables.

 IBM Web Sphere.Servidor de aplicaciones Cumple los estándares del j2EE. Tomcat. Jboss . Programación con Java . etc. Iplanet .

Cada WAR contiene los servlets y/o el JSP. se empaquetan en web application archives (WAR) . Sin embargo un archivo eXtensisible del descriptor del despliegue (XML) debe también ser creado.el descriptor componente del despliegue se almacena en el directorio web-inf. Programación con Java . web. y archivos relacionados del recurso. El directorio WEB-INF que contiene el siguiente: las clases del Servidor (los componentes de Servlets. Los componentes de la web. Los archivos estáticos del HTML y JSP se almacenan en el nivel superior del directorio de la WAR. un descriptor del despliegue. Los JAR auxiliares se deben almacenar en el directorio de WEB-INF/lib. de JavaBean y los archivos relacionados de la clase de Java) se deben almacenar en el directorio de WEB-INF/classes. El WAR tiene el mismo formato que un JavaARchive (JAR). en detalle.Aplicaciones      Los componentes de J2EE se empaquetan por separado y unen en un Enterprise Archive (EAR) para el despliegue dentro del servidor de aplicaciones.xml -.

cgi /bin .Startup.  Programación con Java .  /conf ± Archivos de configuración.  /logs ± Archivos de logs.Servidor de Aplicaciones TOM CAT  http://tomcat.apache.org/download -41.  /webapps ± Aplicaciones. shutdown y otros scripts.

Aplicaciones Web Http Servlet Request Web Web Components Components Web HTTP Request Web Cliente Http Servlet Response HTTP Response Components Programación con Java .

Establecer parámetros de respuesta. Devolver documentos al cliente. Buscar información respecto a una petición. para : Leer información del cliente. Programación con Java . Generar resultados.Servlet  Programa que se ejecuta en el servidor web.

com.println(doc).as.sofwareaf.setContentType("text/html"). } Programación con Java .getWriter().Servlet   Se extiende de la clase HttpServlet.HttpServletResponse response)throws ServletException. out.mx. import javax.io. String doc="<html><head></head><body><h>HOLA MUNDO</h></body></html>". Ejemplo: package com.servlet.servlet.IOException{ response.http. import javax. import java.*.test. PrintWriter out=response.*. public class HolaMundo extends HttpServlet { public void doGet(HttpServletRequest request.*.

Programación con Java .

HTTP El Word Wide Web permite publicar y acceder a recursos o servicios.  Interacciones petición-respuesta  Tipos de contenido.  Un recurso por solicitud. El cliente hace una petición incluyendo el tipo de contenido que prefiere y el servidor tomando esto en cuenta devuelve el tipo de contenido para que el navegador sepa procesarlo.  Control de acceso simple. Programación con Java .El protocolo de transferencia de http define las formas en que los navegadores interactúan con los servidores web.

Para eliminar la instancia cargada.).  Programación con Java .Ciclo de vida del Servlet Init.  Service.doPut.  Destroy . etc. doPost. Cada que se realiza una petición al servlet este verifica el tipo de petición (doGet. doDelete. Sólo se ejecuta cuando se crea el servlet.

 Información del protocolo de comunicación.  Información relevante para localización. típicamente para pasar información entre cliente y servidor. Programación con Java . Implementa la interfaz servletRequest define métodos para obtener la siguiente información:  Parámetros. típicamente para pasar información entre componentes.  Atributos.Request Contiene información pasada entre el cliente y el servidor.

Programación con Java . Para enviar caracteres ocupar PrintWriter regresado de la respuesta del método getWriter. Usar ServletOutputStream regresado de getOutputStream para enviar datos binarios.   Indica el tipo de contenido para la respuesta. Implementa la interfaz servletResponse  Regresa un flujo de salida para el cliente.Response Contiene información del servidor al cliente. Indica el buffer de salida con el método setBufferSize(int).

Invocar otro recurso Web Un componente puede invocar el siguiente camino:  Directamente Obtener un objeto RequestDispacher usando el método getRequestDispacher(³URL´) del request. despues invocar el método forward. Programación con Java .

el cual regresara la sesión asociada a la petición y si no existe una este crea una. puedes obtenerla invocando el método getSession de un objeto request.Mantener el estado del Cliente   Si la aplicación requiere de diversas peticiones desde un cliente y requiere mantener información del usuario. La sesión es representada por el objeto HttpSession. Programación con Java . existe un API para mantener sesión y provee mecanismos para implementar la sesión.

Programación con Java . ya que los atributos son accesibles por algunos componentes web que son parte del mismo contexto web y la petición es parte de la misma sesión.Asociar un Objeto a una Sesión  Tu puedes asociar atributos objeto-valor asociados a una sesión.

cada sesión esta asociada a un time-out .Manejo de Sesiones  A causa de que un cliente no requiere de una sesión larga. el time-out puede ser modificado y consultado con los métodos: setMaxInactiveInterval y getMaxInactiveInterval Programación con Java .

se usara el método para invalidar una sesión del lado del servidor y remover algunos datos de sesión.Finalizar sesiones  Cuando un cliente termina la interacción. Programación con Java .

Alcance de Objetos. Programación con Java .

) Elementos JSP (contenido dinámico).Java Server Pages Permite crear fácilmente aplicaciones web con contenido estático y dinámico.  Contiene dos tipos de texto :  Datos estáticos ( como: HTML.XML. Programación con Java .SVG.

jsp[include|forward] son convertidos a invocaciones de Java Servlet API Programación con Java .Traducción y Compilación  Durante la traducción cada tipo de datos en el JSP es tratado diferente. Los scriptlets son insertados dentro de la clase del JSP. Declaraciones del tipo <%! Código %> en el cuerpo de la clase del servlet fuera de cualquier método existente. Las expresiones del lenguaje son pasadas como parámetros para expresiones evaluadas en el JSP.  <% código> se inserta dentro del método _jspService del servlet.  <%=expesion de java%> jsp: [set|get]Property son convertidos a llamadas a métodos de componentes JavaBeans. Los elementos JSP son tratados como sigue: Las directivas son usadas para controlar como el contenedor web traduce y ejecuta la pagina JSP. Los datos estáticos son traducidos dentro del flujo de respuesta.

JavaBeans Componentes Clase java que puede ser fácilmente ser reutilizada  Como utilizar en el JSP:  Programación con Java .

Variables predefinidas  Existen variables predefinidas. los más importantes son:       Request (HttpServletRequest) Response (HttpServletResponse) Session (HttpSession asociado a la petición) out (el PrintWriter utilizado para enviar el resultado al cliente) Session HttpSession asociado con la petición. Programación con Java .getContext(). Aplication ServletContext se obtiene invocando los métodos getServletConfig().

<%@ page erroePage=³pagi.Manipulando errores Algunas excepciones pueden ocurrir cuando se ejecuta un JSP para controlar estos errores podemos incluir la siguiente directiva.jsp ´%>  Programación con Java .