Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guillermo Romn a
Fac. Informtica(UPM) a
28 de octubre de 2010
28 de octubre de 2010
1 / 22
Indice
1 2 3
Introduccin o Conceptos bsicos a J2EE, Java Enterprise Edition Servlets JSPs Utilidades J2EE
Pgina de Error a Scopes JavaBeans Filtros de acceso
28 de octubre de 2010
2 / 22
Introduccin o
Objetivos del Seminario
Dar una visin general de la Programacin Web o o Conceptos bsicos Aplicacin Web a o Servidores de Aplicaciones Algunos componentes J2EE
Servlets JSPs JavaBeans
28 de octubre de 2010
3 / 22
Conceptos bsicos a
Cliente
Navegador o Browser HTML (HyperText Markup Language) Javascript URL (Uniform Resource Locator) Http (Hypertext Transfer Protocol)
28 de octubre de 2010
4 / 22
Conceptos bsicos a
Cliente
Navegador o Browser HTML (HyperText Markup Language) Javascript URL (Uniform Resource Locator) Http (Hypertext Transfer Protocol)
Servidor
Servidor Web Servidor de aplicaciones Servlets, JSP EJBs, JSF, Spring, AJAX
28 de octubre de 2010
4 / 22
Conceptos bsicos a
28 de octubre de 2010
5 / 22
28 de octubre de 2010
6 / 22
Pginas dinmicas a a
Generan el contenido dependiendo de las peticiones Pueden usar BBDD, otros servicios, para generar los contenidos Ejecutan en el servidor antes de enviarlo al cliente Para el cliente son iguales que las anteriores Para el servidor las diferencias son abismales...
28 de octubre de 2010
6 / 22
Servidores
Pginas estticas: Apache a a
Sirve contenido esttico (HTML o cheros) a Redirige las pginas que no es capaz de servir a
28 de octubre de 2010
7 / 22
Servidores
Pginas estticas: Apache a a
Sirve contenido esttico (HTML o cheros) a Redirige las pginas que no es capaz de servir a
Scripting: PHP
PHP no utiliza un servidor de aplicaciones y tampoco lo ejecuta Apache Procesa y ejecuta en el momento de la peticin o
28 de octubre de 2010
7 / 22
Servidores
Pginas estticas: Apache a a
Sirve contenido esttico (HTML o cheros) a Redirige las pginas que no es capaz de servir a
Scripting: PHP
PHP no utiliza un servidor de aplicaciones y tampoco lo ejecuta Apache Procesa y ejecuta en el momento de la peticin o
28 de octubre de 2010
8 / 22
Componentes
Sun (ahora Oracle) dene los interfaces de los componentes pero se pueden encontrar mltiples implementaciones de los componentes u
Servlets, JSPs EJBs (Enterprise JavaBeans) Naming (JNDI: Java Naming and Directory Interface) JDBC (Java DataBase Connectivity) XML JMS (Java Message Service) Persistencia
Guillermo Romn (Fac. Informtica(UPM)) a a Introduccin a Java J2EE o 28 de octubre de 2010 8 / 22
META-INF public-html
28 de octubre de 2010
9 / 22
Primeros pasos
Estructura del Proyecto
Descargar la versin Eclipse IDE for Web Developers o Crear un Proyecto Web (Dynamic Web Project) Establecer el directorio WEB-INF/classes como directorio destino Aadir al Classpath las librer del servidor de aplicaciones (p.e. n as Tomcat) Enlazado simblico desde el directorio webapps de Tomcat o
Publicacin de un Servlet o
Creacin de un Servlet o
Se implementa en una clase Java que hereda de HttpServlet
doGet (request, response) doPost (request, response)
La clase HttpServlet tiene que estar accesible en el classpath del proyecto Se dene en web.xml <s e r v l e t > < s e r v l e t name>HolaMundo</ s e r v l e t name> < s e r v l e t c l a s s >t e s t . H o l a S e r v l e t </ s e r v l e t c l a s s > </ s e r v l e t > < s e r v l e t mapping> < s e r v l e t name>HolaMundo</ s e r v l e t name> <u r l p a t t e r n >/Hola </ u r l p a t t e r n > </ s e r v l e t mapping>
Guillermo Romn (Fac. Informtica(UPM)) a a Introduccin a Java J2EE o 28 de octubre de 2010 11 / 22
28 de octubre de 2010
12 / 22
JSPs
Ventajas y desventajas Servlets
El despligue de los cambios es largo, suele requerir reiniciar el servidor Para la generacin de cheros binarios es muy util o Generar HTML en un Servlet es poco claro Cada nuevo Servlet implica un cambio en el web.xml El despligue de los cambios es largo, suele requerir reiniciar
28 de octubre de 2010
14 / 22
Scopes
Request
Los datos de la request unicamente viven durante la peticin o Si se quieren mantener entre dos request es necesario volverlos a enviar
28 de octubre de 2010
15 / 22
Scopes
Request
Los datos de la request unicamente viven durante la peticin o Si se quieren mantener entre dos request es necesario volverlos a enviar
Session
La sesin la crea el navegador al establecer una conexin o o Se mantiene durante todas las conexiones del mismo navegador Permite almacenar objetos utiles durante toda la conexin o
28 de octubre de 2010
15 / 22
Scopes
Request
Los datos de la request unicamente viven durante la peticin o Si se quieren mantener entre dos request es necesario volverlos a enviar
Session
La sesin la crea el navegador al establecer una conexin o o Se mantiene durante todas las conexiones del mismo navegador Permite almacenar objetos utiles durante toda la conexin o
Application
Se genera al desplegar una aplicacin en el servidor de aplicaciones o Los datos se comparten para todos los clientes conectados Ojo: Los atributos estticos se comportan de la misma forma a
Guillermo Romn (Fac. Informtica(UPM)) a a Introduccin a Java J2EE o 28 de octubre de 2010 15 / 22
JavaBean
Concepto
Son clases normales que unicamente disponen de atributos (privados), getters y setters Viven en alguno de los scopes (o mbitos) de la aplicacin a o J2EE dispone de componentes para que sean accedidos de una forma ms sencilla con algunas etiquetas a Los datos que se encuentran accesibles en una aplicacin se o encuentran en JavaBeans, que a su vez se encuentran en alguno de los scopes El objetivo de la Web ser cargar, mostrar, solicitar, presentar a JavaBeans Pueden anidarse objetos Puede ser un objeto de tipo Collection (ArrayList, Vector, HashMap, ...)
Guillermo Romn (Fac. Informtica(UPM)) a a Introduccin a Java J2EE o 28 de octubre de 2010 16 / 22
Log4Java
Motivacin o
La gestin de los logs es clave en la programacin Web o o
Un servidor est 24x7 horas funcionando, por tanto es necesario a disponer de un registro de lo que va sucediendo Es fundamental para el anlisis post-mortem a
Caracter sticas
Se trata de una de las librer ms extendidas para la programacin as a o web con J2EE Permite congurar de forma sencilla donde se escribirn los mensajes a de la aplicacin o Permite establecer el nivel de log que se quiere mostrar La conguracin se realiza (por defecto) en el chero log4j.xml o Permite identicar un vocamente una transaccin para poder trazarla o
Guillermo Romn (Fac. Informtica(UPM)) a a Introduccin a Java J2EE o 28 de octubre de 2010 18 / 22
Caracter sticas
Dene una serie de tags (etiquetas) para realizar las acciones ms a comunes en la programacin Web o
Acceder a los datos de un Bean en cualquier scope Acceder a objetos anidados o colecciones Recorrer una coleccin de objetos o Implementar un if-then-else
Distribucin de aplicaciones o
Ficheros contenedores
Normalmente no se publican las aplicaciones con el directorio desplegado Se genera un chero WAR (Web Application Resource) para su distribucin o Tiene la misma estructura comentada anteriormente pero comprimida en formato zip El chero contiene tanto los cheros jsp, class, html, properties, ... El servidor de aplicaciones lee este formato y lo descomprime en directorios temporales Los cheros WAR pueden estar contenidos en cheros EAR (Enterprise Application Resource)
28 de octubre de 2010
20 / 22
Otros Conceptos
Otras tecnolog J2EE as
EJBs (Entreprise Java Beans) JMS (Java Message Service) Servicios Web JDBC
Frameworks
Struts JSF (Java Server Faces) AJAX Spring Hibernate
28 de octubre de 2010
21 / 22
28 de octubre de 2010
22 / 22