TEMARIO 1-Introducción Entorno de Desarrollo Integrado (qué es, para qué nos sirve, distintos tipos) Presentación del Netbeans (descarga, instalación, aspectos fundamentales.) Principales Servidores de aplicaciones JAVA JEE (Glassfish, Tomcat, JBoss) Conociendo el GlassFish (consola de administrador, alojamiento de aplicaciones Web) 2-Introducción a HTML Estructura de un documento HTML Creación de un documento de HTML en Netbeans Etiquetas mas utilizadas Composición de una url Formularios y enlaces Navegación entre distintas paginas de una aplicación 3-Protocolo Http Introducción al protocolo http (generalidades) Protocolo sin estado basado en arquitectura cliente-servidor Tipos de mensaje (Request, Response) Mensajes request (get, post, head, put, delete, options, trace) Mensajes Response Información de la cabecera Mensajes de Error 4-Servlet Definición de servlet El Web Container y el ciclo de vida de los servlets El ciclo request- response. La clase HttpServlet El objeto HttpServletRequest El objeto HttpServletResponse Los métodos: service(), doGet(),doPost(), processRequest() de un servlet Invocación de un servlet desde el cliente Mapeo de un servlet en la aplicación (archivo web.xml ) Envío de parámetros a servlet desde el cliente Recuperando información de cabecera de protocolo con el objeto request 5-Parámetros iniciales Parámetros iniciales en la aplicación (seteo y recuperación, ámbito de validez) Parámetros iniciales en los servlets (seteo y recuperacion, ámbito de validez) 6-Expresiones Regulares y Validación Definición de las expresiones regulares (reglas de formación) Clases java que implementan las expresiones regulares (Pattern, Matcher) Validación mediante expresiones regulares Definir expresiones regulares en los parámetros iniciales del servlet 7-Ámbitos de almacenamiento en una aplicación Web Ámbitos de la aplicación (request, session, application) El ámbito del request (objeto HttpServletRequest, almacenamiento, lectura, eliminación, y validez de los datos durante la aplicación) El ámbito sesión (objeto Session, almacenamiento, lectura, eliminación y validez de los datos durante la aplicación) La sesión de un usuario (tiempo de vida de una sesión) Manejo del tiempo de vida de una sesión desde el servidor y desde la aplicación El ámbito de aplicación (obejto servletContext, almacenamiento, lectura, eliminación, y validez de los datos) Implementación de contador de visitas 8-Introducción al JSP Definición de Jsp Comparando el Servlet con un JSP La clase HttpJspPage Estructura de un JSP (_jspInit, _jspDestroy, _jspService) Escritura de código java en un JSP (scriplets) Tags JSP 9-Patrón de Diseño Modelo Vista Controlador Patrones de arquitectura. Introducción al Modelo Vista Controlador Componente Controlador Componente vista Componente Modelo (interacción con la base de datos) 10-Persistencia de Objetos Formas de persistir objetos (serialización, Mapeo objeto relacional, Base de datos orientada a objetos, Bases de datos objeto relacionales) Mapeo de Objetos a Base de Datos Relacionales. Frameworks ORM (Hibernate, TopLink, OpenJPA) Java Persistence API (JPA) Clases de entidad. (Requerimientos) Customización de persistencia mediante anotaciones en las Entity Class Ciclo de vida de una instancia Entity Contexto de persistencia y su clase administradora (EntityManager) Base de datos Derby Unidad de Persistencia en la aplicación Framework ORM (TopLink) 11-Relaciones entre objetos y su correspondencia en la base de datos Asociación y composición de objetos Relaciones en la práctica Herencia entre objetos y su correspondencia en la base de datos Configuración de atributos de mapeo( Fetch, Cascade, OneToOne,OneToMany, ManyToOne, ManyToMany) Java Persistence Query Language.( JPQL) Consulta a objetos mediante Select Definición de consultas (NamedQuery) 12-Filtros Filtros de preProcessing y PostProcessing Utilización de filtros para la validación Eliminamos código duplicado reutilizando filtros Parámetros iniciales de los filtros 13-JSP Expression Language Generando la vista dinámicamente Lenguaje de Expresión La librería de tags. (Tag Library) Custom Tag Descriptor de la librería de Tags. TLD (tag library descriptor) Comparando custom tag con scriptlet Sintaxis de los custom tag La librería estándar JSTL. La librería: Core Tag Library 14-Seguridad Introducción a la seguridad y sus aspectos (transporte, autenticación, autorización) La Seguridad en nuestra aplicación Capa de abstracción de seguridad en java (JAAS) Definición de roles de usuarios en la aplicación Vinculación de los roles con los grupos de usuarios definidos en el entorno donde se ejecuta nuestra aplicación Definición de restricciones de seguridad en los recursos de nuestra aplicación Configuración del Glassfish para crear distintos tipos de perfiles de seguridad 15-Internacionalización de la aplicación El archivo de recursos .properties y sus distintas versiones según el idioma El uso del Locale para gestionar fechas y números. Elección del idioma que desea ver el usuario La librería JSTL fmt CRONOGRAMA DE CLASES Clase 1: Introducción. Introducción a HTML Clase 2: Protocolo Http. Práctica 1 Clase 3: Servlet Clase 4: Parámetros iniciales. Expresiones Regulares y Validación Práctica 2 Clase 5: Ámbitos de almacenamiento en una aplicación Web. Práctica 3 Clase 6: Introducción al JSP. Práctica 4 Clase 7: Patrón de Diseño Modelo Vista Controlador. Práctica 5 Clase 8: Persistencia de Objetos. Práctica 6 Clase 9: Relaciones entre objetos y su correspondencia en la base de datos. Práctica 7 Clase 10: Filtros. Clase 11: JSP Expression Language. Práctica 8 Clase 12: Seguridad Clase 13: Internacionalización de la aplicación Práctica 9 Clase 14: Práctica integradora Clase 15: Examen