Java 2 Enterprise Edition



Documentos relacionados
NIVEL 16: ESTRUCTURAS N-ARIAS RECURSIVAS Aplicaciones Web, Html y Servlets. ISIS1206 Estructuras de Datos

Servlets. Unidad: 4 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

Introducción a los servlets

Ejemplos de Servlet y JSP Web Application Development

Formato para prácticas de laboratorio

Contiene código HTML normal junto elementos especiales de JSP. Internamente, el servidor de aplicaciones las compilará a un servlet

Figura 7-1 Enlace para instalar el servidor web Apache Jakarta Tomcat

Configuración servidor Tomcat

INTRODUCCIÓN N A LAS APLICACIONES WEB Y TECNOLOGÍA A JAVA

Requisitos. Universidad ORT Arquitectura de Software

JAVA EE 5. Arquitectura, conceptos y ejemplos.

Web Tier en JAVA. Nicolás Troncoso Carrère. Valparaíso, ILI 258 Departamento de Informática Universidad Técnica Federico Santa María

JSP Básico. Índice. 2 Traducción de los JSP a servlets Acciones Introducción a JSP... 2

Sistemas de Información 12/13 Servlets y JSPs (Java Server Pages)

Curso Java Web (JSP's/Servlets)

Aplicaciones J2EE. Repasamos. Tres tipos de aplicaciones. Aplicaciones Web Java Objetos distribuidos EJBs Aplicaciones Empresariales

Curso Desarrollo Java Web con JSP, Servlets y el MVC

Escribir código HTML en los servlets es tedioso. que hay que utilizar las instrucciones print, println, etc. Es decir, HTML está dentro de java.

Práctica 1: Instalación de un servidor de aplicaciones web y diseño de la vista de una aplicación

Desarrollo y servicios web Sesión 18

Productos para desarrollar aplicaciones web: ASP, CFM, JSP y PHP

Capitulo 5. Implementación del sistema MDM

Facultad de Ingeniería Escuela de Ciencias y Sistemas Estructura de Datos Guatemala 2013 JSF + JSP + RichFaces

Tema 1. Introducción a JAVA

aplicaciones web: ASP, CFM, JSP y PHP

Introducción a JAX-WS Web Services

Proyecto ELO-330 Administración Salas del Departamento de Electrónica RC1. Gerardo Lecaros Felipe Díaz

Implementando nuestro primer servlet

Universidad Tecnológica del Valle del Mezquital. Desarrollo de Aplicaciones Web. Manual JSP

Aplicaciones Cliente - Servidor

Diplomado Java Web Programming with Servlets, JSP, JSF & Ajax

JSP JDBC SALVADORES OLAIZOLA,

Cómo puede ayudarle JBuilder en sus Desarrollos Java?

Java Básico. Empaquetamiento y despliegue de aplicaciones. Copyright

Tema 6: Arquitectura Web Multicapa

Integración Capa Web de pojo-miniportal (1)

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

Artículos técnicos Grupo Danysoft: Soporte de Servidores de Aplicaciones con JBuilder

ATLAS MANUAL DE USUARIO COMPONENTES JSF BUSINESS OBJECTS XI

ISJu: Técnicas de Programación Cartilla Teórica-Práctica Instalación del "Eclipse IDE for Java EE Developers" y el servidor "Apache Tomcat"

Agosto. Un primer JSP. Guía rápida. [ h t t p : / / w w w. o p e n b o x e r m b. c o m / j a v a. p h p ]

19. Packages o paquetes

Capítulo III. Análisis y diseño.

Tema 5. Plataforma Java EE

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Práctica 2: Instalación de un gestor de bases de datos relacionales y desarrollo de una aplicación Web con persistencia de datos

Formatos para prácticas de laboratorio

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.

Gestión Documental PREPARACION DEL ENTORNO DE DESARROLLO

Clase. geniería de la Computación. Departamento de Ciencias e Ing. Diego C. Martínez - DCIC-UNS

Java EE JavaServer Pages (JSP)

JAVA ENTERPRISE EDITION (J2EE) ARQUITECTURA TECNOLOGÍAS (1/2) (L1)

CAPÍTULO 14. DESARROLLO

Mario Muñoz Organero & Norberto Fernández * Departamento de Ingeniería Telemática

Arquitectura J2EE para aplicaciones web. Aplicaciones web con JSP. Arquitectura J2EE: Capa de Acceso Web. Arquitectura J2EE: Capa Cliente

Desarrollo de Software con

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Aplicaciones web construidas a base de componentes:

MODIFICAR Y CREAR ARCHIVOS DE UNA APLICACIÓN WEB

Manual del Protocolo XML-RPC de Mensajería Negocios

arquitectura que maneja. Encontraremos también los diferentes servidores que

Java Web Server Tabla de Contenidos

Conexión de Mysql con NetBeans

J2EE Java 2 Enterprise Edition

Práctica 4 PROGRAMACIÓN WEB CON SERVLETS Y JSP. 1. Introducción a JSP... 2

Práctica de introducción a

Sistemas de Información

SERVLETS. Aplicaciones Distribuidas

Un servlet es una clase java que implementa la Servlet interface. Un servlet corre dentro de un contexto denominado Servlet engine.

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O

CREACIÓN DE WEBSERVICES

JOOMLA MANUAL USUARIO Creación del portal

Elementos sintácticos de una JSP.

Generador GeneXus JAVA

Manual de instalación del cliente JAVA-WS

Universidad ORT - Arquitectura de Software. Requisitos

Manual de Integrador.NET

Cursos PROGRAMACIÓN DE APLICACIONES CON JAVA

Sesión 17. Servicios web RESTful

Instalación de Apache y sus módulos

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Desarrollo de Sistemas Software Basados en Servicios y Componentes

Unidad IV: Servlets. Comprender la estructura básica de los Servlets Crear servlets sencillos Presentar el ciclo de vida de un Servlet.

Servidores Web (II) Contenidos

Administración Local Soluciones

Java Servlets. Luis Fernando Llana Díaz. 17 de abril de Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de Madrid

Notas técnicas de JAVA Nro. 7 Tip Breve

Curso: Programación con JAVA SE Estándar Edition.

Modelo de Objetos Distribuidos

FRAMEWORK SPRING EN UNA APLICACIÓN WEB

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho

Tema 1. Introducción a Java EE

Transcripción:

12. J2EE Java 2 Enterprise Edition 316 12. J2EE Java 2 Enterprise Edition define el estándar para el desarrollo de aplicaciones distribuidas en arquitecturas cliente/servidor. Construido sobre la plataforma de Java 2, añade a J2SE la funcionalidad para soportar componentes Enterprise JavaBeans, Java Servlet API, Java Server Pages y XML. David Contreras Bárcena 317

12. J2EE Las aplicaciones J2EE están basadas en componentes: Clientes web, aplicaciones o applets. Componentes web en el servidor: Servlets y JSP. Componentes de negocio en el servidor: EJB. El resto de la documentación se centrará en el desarrollo de componentes web: Servlets y JSP. David Contreras Bárcena 318 12. Servlets Se trata de una tecnología server-side que describe el procesamiento de peticiones y la generación de respuestas desde y hacia un cliente web. Un servlet es una aplicación java, que se ejecuta en un servidor web, capaz de generar una página html como salida. Es la solución JAVA a la programación CGI. Servlets vs. CGI: Eficiencia: Sólo se carga en memoria una copia del programa. Para cada petición se lanza un thread. Potencia: Capaz de dialogar con el Web Server. Portabilidad. David Contreras Bárcena 319

12. Servlets Las peticiones de la página HTML las recoge el Servlet a través de un objeto HttpServletRequest. La página HTML generada como salida, se envía al cliente a través de un objeto HttpServletResponse. El proceso de recogida de los parámetros de entrada (1) y la generación de la página HTML de salida (3) es propio J2EE. El procesamiento (2) puede entenderse como código J2SE. Cliente NAVEGADOR Página HTML Parámetros entrada 1 Página HTML 3 request response SERVLET Servidor WEB Procesamiento 2 David Contreras Bárcena 320 12. Servlets - Estructura Básica import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MiServlet extends HttpServlet { public void dopost(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { 1 } 2 String s1 = request.getparameter( nombre ); String s2 = s1.touppercase(); PrintWriter out = response.getwriter(); out.println( <HTML>HOLA, + s2 + </HTML> ); 3 } public void doget(httpservletrequest request,... { this.dopost(request, response); } David Contreras Bárcena 321

12. Servlets - Ejemplo Como la salida de un Servlet es una página HTML, hay que familiarizarse con la estructura básica de una página HTML. <HTML> </HTML> <HEAD> </HEAD> <BODY> </BODY> <TITLE>Mi Servlet</TITLE> <H1>Ejemplo de Servlet</H1> public void dopost(...) { PrintWriter out = response.getwriter(); out.println("<html><head><title>mi Servlet</TITLE></HEAD>); out.println("<body><h1>ejemplo de Servlet</H1></BODY></HTML>"); } David Contreras Bárcena 322 12. JSP (Java Server Pages) JSP es una tecnología server-side que describe el procesamiento de peticiones y la generación de respuestas. Tecnología de script (código embebido en páginas HTML) interpretado en el instante de la solicitud de la página. Todo JSP tiene una conversión en Servlet, por lo que la primera vez que se solicita una página JSP, se compila, y las restantes únicamente se ejecuta. Características: Clara separación entre contenidos estáticos (HTML) y dinámicos (basado en JAVA). Reutilización de componentes y de librerías de etiquetas. Todo código JSP tiene su equivalencia en código XML. En una página JSP pueden convivir las siguientes tecnologías: HTML, DHTML, XML, XHTML, JavaBeans, JAVA,... David Contreras Bárcena 323

12. JSP (Java Server Pages) Desde un punto de vista práctico, las páginas JSP son páginas HTML con código dinámico basado en JAVA. Este código debe especificarse entre etiquetas especiales. La extensión del nuevo fichero resultante debe ser jsp. <P>Hoy hace un <% if (Math.random() < 0.5) { <P>Hoy hace un buen/mal día</p> index.html out.println( buen"); } else { out.println( mal"); } %> día</p> index.jsp David Contreras Bárcena 324 12. JSP (Java Server Pages) Principales etiquetas que delimitan el código embebido: Elemento Expresión Scriptlet Declaración Directiva page Directiva include Comentarios Sináxis <% =expresión %> <% código %> <%! código %> <%@ page atributo= valor %> <%@ include file= url %> <%-- comentarios --%> Equivalente XML <jsp:expresion> <jsp:scriptlet> <jsp:declaration> <jsp:directive.page atributo= valor > <jsp:directive.include file= url > David Contreras Bárcena 325

12. JSP (Java Server Pages) Se puede acceder directamente a las ocurrencias siguientes, ya que están predefinidos por la VM. Objetos predefinidos y clases a las que pertenecen: request (HttpServletRequest) response (HttpServletResponse) out (PrintWriter) session (HttpSession) application (ServletContext) config (ServletConfig) pagecontext (PageContext) <h1>info del cliente</h1><hr> <br>maquina Remota: <%= request.getremotehost() %> <br>protocolo: <%= request.getprotocol() %> <br>metodo: <%= request.getparameter( nombre )%> David Contreras Bárcena 326 12. JSP (Java Server Pages) Atributos de la directiva page: Directiva page <%@ page atributo= valor %> <jsp:directive.page atributo= valor > import="paquete.clase" contenttype="mime-type" isthreadsafe="true false" session="true false" buffer="sizekb none" autoflush="true false" extends=" paquete.clase " info="message" errorpage="url" iserrorpage="true false" language="java" <%@ page import = "java.util.*" %> Fecha: <%= new Date() %> David Contreras Bárcena 327

12. JSP (Java Server Pages) <%@ <%@ page page info= Ejemplo info= Ejemplo de de JSP" JSP" %> %> <%@ <%@ page page import import = "java.util.arraylist" %> %> <html><head></head><body> <% <% Persona Persona p = new new Persona( luis ); Persona( luis ); %> %> <b>persona: <b>persona: </b> </b> <%= <%= p.tostring() p.tostring() %> %> <HR> <HR> <% <% ArrayList ArrayList al al = new new ArrayList ArrayList (); (); al.add("elemento al.add("elemento 1"); 1"); al.add("elemento al.add("elemento 2"); 2"); al.add("elemento al.add("elemento 3"); 3"); out.println("<ol>"); for(int for(int i=0;i<al.size();i++) out.println("<li>" + al.get(i)); al.get(i)); out.println("</ol>"); %> %> <body></html> <body></html> David Contreras Bárcena 328 12. Servidores Para que un servidor web pueda ejecutar servlets y JSP s necesita un contenedor de éstos, compatible con las especificaciones de SUN. La diferencia entre un contenedor web y un servidor de aplicaciones, es que el primero sólo permite la ejecución de Servlets y JSP s, mientras que el segundo, además, permite ejecutar EJB (Enterprise Java Beans), cumpliendo con toda la especificación de J2EE. David Contreras Bárcena 329

12. Implementaciones J2EE Contenedores de servlets/jsp s: Tomcat (Apache Foundation): Implementación de referencia de las especificaciones de Sun.. Jetty. Contenedores de EJB: OpenEJB. Servidores de aplicaciones (J2EE): Sun Java System Application Server Platform. Incluído en la J2EE. JOnAS: Java (TM) Open Application Server. BEA WebLogic. IBM WebSphere. Oracle 9i Application Server. JBoss. (Gratuito) Sybase EAServer Application Server. Borland App Server. Orion. David Contreras Bárcena 330 12. Desarrollo de aplicaciones web con TOMCAT Para el desarrollo de estos Servlets/JSP utilizaremos el contenedor TOMCAT. Acerca de TOMCAT: Ficheros de configuración Archivos WAR Despliegue de aplicaciones David Contreras Bárcena 331

12. Ficheros de configuración context.xml Define parámetros del contexto de la aplicación web. Como se verá más adelante, toda URL especifica los siguientes elementos: http://nombreservidor/nombreaplicacionweb/index.html PROTOCOLO SERVIDOR APLICACIÓN CONTENIDO URI: Identificador Universal de Recursos URL: Localizador Universal de Recursos Permite indicar, entre otras, el nombre de la aplicación web a utilizar en la URL del navegador: http://servidor.com/webapp. David Contreras Bárcena 332 12. Ficheros de configuración web.xml - Deployment Descriptor Fichero utilizado por Tomcat al desplegar la aplicación para la configuración de la aplicación web y para establecer los vínculos necesarios para la ejecución de servlets. Generado automáticamente por todos los IDEs J2EE. Su configuración es muy importante a la hora de invocar programas Java desde la URL. Crea un alias sobre el nombre de la clase del Servlet Define el identificador en la URL para ejecutar el servlet Duración de las sesiones Ficheros de inicio de la aplicación web David Contreras Bárcena 333

12. Ficheros de configuración <welcome-file-list> - página por defecto: Permite cargar una página html o programa Java por defecto al acceder a nuestra aplicación. Al hacer referencia a la URL de nuestra aplicación desde el navegador, http://servidor.com/webapp, se cargará la página index.jsp si existe. Si no, se cargarán las siguientes de la lista. Sería equivalente, por lo tanto, a escribir la URL http://servidor.com/webapp/index.jsp <session-config> - configuración de las sesiones: Permite determinar la caducidad de las sesiones. Pasado el tiempo especificado, expirará. (No se verá en el curso) David Contreras Bárcena 334 12. Ficheros de configuración <servlet> - configuración de los servlets: Permite crear alias sobre el nombre de cada servlet. Muy práctico para evitar hacer referencia al paquete donde se encuentra la clase. Se podrá utilizar la URL http://servidor.com/webapp/app en lugar de escribir http://servidor.com/webapp/obj.app <servlet-mapping> - asociación servlet-url: Permite crear alias sobre la URL del servlet, de esta forma se indica la ruta que permite llegar al servlet. Con la URL http://servidor.com/webapp/app se ejecutará el servlet, aunque no se encuentre físicamente en el directorio raiz del servidor. Si no se crea el mapping, habría que utilizar la URL http://servidor.com/webapp/servlet/app David Contreras Bárcena 335

12. Creación de un fichero WAR Las aplicaciones web se distribuyen en un único fichero comprimido con extensión war (Web ARchive). Se basan en un sistema de compresión ZIP y se crean igual que los JAR. Todos los IDE s J2EE pueden crear estos ficheros de forma automática. Para crearlos manualmente, hay que crear una estructura de directorios (se explica más adelante) y comprimirlo en un fichero ZIP, que se renombrará a WAR, o utilizar la herramienta jar.exe. David Contreras Bárcena 336 12. Utilizando un IDE J2EE (NetBeans) Seleccionando un Proyecto Web, se trabará con la API del J2SE + la especificación de Servlets, En propiedades del proyecto se puede habilitar la opción de generación del WAR. El fichero resultante se almacenará en el directorio dist. En el directorio build se encontrará toda la estructura de directorios que debe tener el archivo war, para su creación manual. src: Fuentes Java. web: páginas html y JSP. ESTRUCTURA DE DIRECTORIOS GENERADA POR NETBEANS David Contreras Bárcena 337

12. Utilizando un IDE J2SE (JCreator) Se deberá modificar el perfil de compilación y añadir la API de la especificación de Servlets, que se encuentrea en el fichero servlet-api.jar. La API la encontremos en el directorio lib de tomcat. Para la generación del fichero WAR, seguir los pasos siguientes. David Contreras Bárcena 338 12. Estructura de un WAR WebApp: Directorio de la Aplicación. Páginas HTML y JSP. Cualquier contenido añadido (imágenes, docs, ) con su correspondiente estructura de directorios. META-INF: context.xml: Información del contexto de la aplicación web. classes: Estructura de paquetes con todas las clases (servlet y el resto). Ej: La clase App se encuentra en el paquete obj. WEB-INF: web.xml: deployment descriptor de la aplicación. Se comprimirá en el fichero ZIP el contenido del directorio WebApp sin incluir a éste. El nombre del fichero, debe coincidir con el de la aplicación. Posteriormente, el fichero ZIP, se debe renombrar a WAR. David Contreras Bárcena 339

12. Despliegue de una aplicación web Para instalar una aplicación web en el contenedor de servlets Tomcat, basta con colocar el fichero WAR en el directorio webapps. El fichero WAR debe tener el nombre de la aplicación web. David Contreras Bárcena 340 12. Despliegue de una aplicación web Una vez copiado el fichero WAR, se deberá iniciará el servidor TOMCAT (script startup.bat) En el arranque del servidor, el fichero WAR se desplegará (descomprimirá) y se tomará toda la información del fichero deployment descriptor: web.xml. A partir de este momento, se podrá visualizar todo el contenido de la aplicación web en el nuevo directorio creado. David Contreras Bárcena 341

12. Despliegue de una aplicación web Se puede verificar el contenido del directorio. Para hacer referencia a la aplicación habrá que utilizar la URL: http://localhost:8080/appweb El número de puerto puede variar con la utilización de algunos IDE s. David Contreras Bárcena 342