Informática III Ing. Wilson Rojas Reales Esp. Seguridad de la Información Universidad de los Andes Correo: rojaswilson@
Views 72 Downloads 0 File size 3MB
Informática III
Ing. Wilson Rojas Reales Esp. Seguridad de la Información Universidad de los Andes Correo: [email protected] Cel: 310 584 1388 / 316 274 7117
Ing. Wilson Rojas Reales
Las páginas JSP están compuestas de código HTML / XML mezclado con etiquetas especiales y fragmentos de código escritos en Java. Una página JSP puede ser escrita en un editor de texto, lo cual quiere decir que podemos incluir lógica de negocio (no recomendable) en la misma página. El motor de las páginas JSP, está basado en los servlets de Java. El código se almacena en un archivo con extensión jsp que incluye dentro de la estructura de etiquetas HTML, las sentencias Java a ejecutar.
Ing. Wilson Rojas Reales
Ing. Wilson Rojas Reales
Para qué escribir Servlets si podemos elaborar páginas JSP’s ??? El motivo de crear servlets es utilizarlos como controlador, esa es la función principal de un servlets. Cuando una página JSP es invocada, el servidor la traduce en un Servlet, el resultado es un archivo con extensión java que será compilado en su correspondiente .class Objetos implícitos: pageContext, request, response, application, config, session, out, page, exception
Ing. Wilson Rojas Reales
Directives: are instructions to the JSP container that describe what code should be generated. They have the general form:
The specification describes three standard directives available in all compliant JSP environments: page include taglibg
Ing. Wilson Rojas Reales
The attributes are any of those listed: language import session isErrorPage errorPage And more…
Ing. Wilson Rojas Reales
Merges the contents of another file at translation time into the .jsp source input stream, much like a #include “C” preprocessor directive. The syntax is:
Examples:
Ing. Wilson Rojas Reales
JSP provides a simple means for accessing the value of a Java variable or other expression and merging that value with the HTML in the page. The Syntax is:
where exp is any valid java expression.
Example: The current time is:
Ing. Wilson Rojas Reales
Is a set of one or more Java language statements intended to be used to process an HTTP request. The syntax is:
Ing. Wilson Rojas Reales
Like scriptlets, declarations contain Java language statements, the syntax is:
Declaration sections can be used to declare class or instance variables, methods, or inner classes.
Ing. Wilson Rojas Reales
• Ejemplo 01: para ejecutar el archivo basta con acceder desde el navegador a la página. Este ejemplo, simplemente muestra un formulario que solicita login y password. E Incluye la página jsp: fecha.jsp. Usted deberá acceder a la página de la siguiente forma: http://localhost:8080/jsp/ejemplo01/Ejemplo.jsp • Sería un grave error acceder a la página Ejemplo.jsp sin la existencia de la página fecha.jsp (para este primer ejemplo, puesto que podemos controlar el acceso a una página que no exista). Observe que en el formulario se hace un llamado (método action) a otra página JSP llamada: Mostrar.jsp
Ing. Wilson Rojas Reales
Ing. Wilson Rojas Reales
Ing. Wilson Rojas Reales
•
Las páginas JSP de una aplicación pueden ser configuradas, como los servlets mediante el descriptor del despliegue web.xml
•
A diferencia de los Servlets, no es obligatorio su uso, aunque SI es aconsejable.
•
Para ello, es necesario utilizar el elemento , el cual puede aparecer una o varias veces en el archivo web.xml
Ing. Wilson Rojas Reales
• Toda aplicación web tiene 4 partes: • • • •
Un directorio público Un fichero WEB-INF/web.xml Un directorio WEB-INF/classes Un directorio WEB-INF/lib
• El área pública es la raíz de la aplicación, excepto el directorio WEB-INF • El directorio WEB-INF es un área privada • web.xml es el descriptor de despliegue • classes contendrá clases java (incluyendo las clases compiladas de los servlets) • lib contiene cualquier “jar” necesario para la aplicación
Ing. Wilson Rojas Reales
Ing. Wilson Rojas Reales
Ing. Wilson Rojas Reales
Ing. Wilson Rojas Reales
Ing. Wilson Rojas Reales
Ing. Wilson Rojas Reales
Ing. Wilson Rojas Reales
• Un JavaBean es una clase java. La ventaja de utilizar esta clase de componentes es que pueden ser insertados fácilmente en cualquier página JSP, facilitando así la separación de la lógica de negocio, que incluiremos en los componentes, de la capa de presentación. • Un JavaBean puede implementar la interfaz Serializable, con un constructor sin argumentos y un conjunto de propiedades. • En la carpeta de ejemplos, encontrará internamente otra carpeta denominada beans con un ejemplo que ilustra como crear y utilizar un componente JavaBean • A continuación se explica el ejemplo.
Ing. Wilson Rojas Reales
• En la página Saludo.jsp se crea un objeto (bfecha) de su clase (beans.BeanFecha) a través de la etiqueta jsp:useBean
Ing. Wilson Rojas Reales
• La clase BeanFecha.java (Parte 1)
Ing. Wilson Rojas Reales
• La clase BeanFecha.java (Parte 2)
Ing. Wilson Rojas Reales
• La clase BeanFecha.java (Parte Final)
Ing. Wilson Rojas Reales
• Una forma (existen otras) sencilla de manipular las excepciones es haciendo uso de los atributos isErrorPage y errorPage de la directiva page. • Si deseamos capturar una excepción para su posterior tratamiento, una página jsp deberá incluir la siguiente línea:
• La línea anterior indica al motor JSP que cuando ocurra una excepción que no sea capturada, ejecute la página error.jsp • la página error.jsp deberá incluir la directiva page así:
Ing. Wilson Rojas Reales
Ing. Wilson Rojas Reales
• En este ejemplo, se debe tener en cuenta la siguiente configuración: • Utilizaremos un archivo de BD de Access. • Debe crear el DSN • Este ejercicio, realiza la conexión a un archivo de Access, muestra información de una tabla. • Se valida el ingreso del usuario. Si no existe, se regresa a la página inicial. Si existe se redirecciona a la página correspondiente. • El ejercicio NO está completo al 100%. EL estudiante si así lo desea, deberá construir las demás páginas JSP. Además, es un ejemplo académico para entender el funcionamiento de algunas sentencias.
Ing. Wilson Rojas Reales
• El archivo de Access, se denomina hotel.mdb y la tabla utilizada para este ejercicio:
Ing. Wilson Rojas Reales
• La configuración ODBC desde el panel de Control de Windows:
Ing. Wilson Rojas Reales
• La página inicial de acceso al ejercicio y un ingreso exitoso:
Ing. Wilson Rojas Reales
El siguiente paso en el desarrollo web
El objetivo de la tecnología JSF (Java Server Faces) es desarrollar aplicaciones WEB de forma parecida a como se construyen aplicaciones locales con Java Swing, AWT, SWT o cualquier otra API similar.
Los dos componentes principales son: • Una librería de etiquetas para JSP • Una API para manejo de eventos, validadores, etc.
Permite a los desarrolladores pensar en términos de componentes, eventos, backing beans y otras interacciones, en vez de hablar de peticiones, respuestas y marcas.
JSF promete reutilización, separación de roles, facilidad de uso de las herramientas.
JSF tiene una meta específica: hacer el desarrollo web más rápido y fácil.
JSF (en J2EE) es similar a ASP .NET: • Interfaz de usuario dirigida por eventos, • Abstracción del protocolo HTTP
HTML Controles en ASP .NET
De validación De servidor
Tienen correspondencia en JSF
Servlets • Inconvenientes:
Poco legible Mantenimiento costoso El diseñador gráfico debe saber Java A cada cambio: recompilar, empaquetar, desplegar.
• Uso actual de los servlets: Controlador en la arquitectura MVC Preprocesamiento de peticiones
Java Server Pages (JSP) • Páginas HTML con scripts (por defecto Java) • Se traduce a un servlet en la primera petición • Semánticamente equivalente a los servlets • Facilitan el desarrollo y mantenimiento
JSP 1.x • Facilidad para manejo de JavaBeans
JSP 1.x • Otras etiquetas estándar de JSP
N/A
JSTL (Ejemplo sin scriptlets, con JSTL)
Librería básica
Etiqueta N/A
Lenguaje de expresiones Iterador
JSP 2.0 • Evolución de JSP 1.2 • Separación completa de roles • Todavía se habla de cabeceras, sesión, … • Elementos principales:
Lenguaje de expresiones (EL) Ficheros de etiquetas SimpleTag vs Tag Mejorada la sintaxis XML
JSP 2.0 • Lenguaje de expresiones (EL)
Mismo EL que JSTL, pero soportado nativamente Meta: que lo use gente que no sabe programar Inspirado en JavaScript y XPath Se puede desactivar los scriptlets y habilitar EL ${ }
JSP 2.0 • Ejemplos de EL
Sin EL
Con EL
((Duck) pageContext.getAttribute(”duck”)).getBeakColor()
${duck.beakColor}
${foo.bar}
JSP 2.0 • Archivos de etiquetas Escribir etiquetas sólo con código JSP Mecanismo de reutilización para autores de páginas Empaquetado de la aplicación más flexible Etiquetas en /WEB-INF/tags TLD implícito
JSP 2.0 • Ejemplo de archivo de etiqueta.
Name | IQ |
${i.fullName} | ${i.IQ} |