Entradas

JSF. 2 Crear Proyecto

Imagen
Creación de un proyecto web JSF en Netbeans. New Project → Categories : Java Web , Projects : Web Application. Click Next . Escribimos el nombre del proyecto y seleccionamos su ubicación. Click Next . Seleccionamos el servidor y la versión de Java EE a utilizar. Click Next . En la pestaña Frameworks activamos el Java Server Faces, esto hace que nos aparezcan tres pestañas de configuración: Libraries : la versión de JSF a utilizar. Configuration : la ruta para acceder al servlet faces y que tipo de páginas utilizaremos en el proyecto: facelest (XHTML) o JSP. Components : componentes específicos para utilizar. No tocamos nada y Click Finish . También puede crearse un proyecto maven: New Project → Categories : Maven , Projects : Web Application. Click Next . Escribimos el nombre del proyecto y seleccionamos su ubicación. Click Next . Seleccionamos el servidor y la versión de Java EE a utilizar. Click Finish . ...

JSF. 1 Introducción

JSF (JavaServer Faces) es un framework basado en el patrón MVC que hace que la creación de aplicaciones web sea más fácil y sencillo, pretende normalizar y estandarizar el desarrollo de aplicaciones web. La programación en JSF es mucho más cercana al estilo de Java Swing (escritorio), la programación de la interfaz se hace a través de componentes y está basada en eventos. Una de las grandes ventajas de la tecnología JSF es que ofrece una clara separación entre el comportamiento y la presentación, además incluye una librería de etiquetas JSP personalizadas para crear la interfaz de usuario. Existen algunas extensiones de componentes como PrimeFaces, ICEFaces, RichFaces. Estas extensiones agregan una serie de componentes nuevos con nuevas funcionalidades que complementan a JSF.

JSP. 26 Ejemplo MVC simple

Creamos un proyecto nuevo. Por motivos de seguridad colocaremos las páginas dentro de la carpeta WEB-INF . Todas las páginas serán *.jsp, pero en la navegación de la aplicación (URL) trabajaremos con *.htm. Esto lo indicaremos en el archivo web.xml , podemos crear el archivo web.xml individualmente o cuando creemos el Servlet Controlador indicando en el campo URL Pattern : *.htm. Al crear el servlet con el asistente de Netbeans indicamos que añada la información al archivo web.xml e indicamos en su URL Patter : *htm. Esto hará que las peticiones que a nosotros nos interesan (todas las acabadas en *.htm) pasen todas por Servlet. El archivo web.xml quedará <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javae...

JSP. 25 Modelos de construcción de una aplicación web

Imagen
Modelo 1 La forma más simple de separar presentación y la lógica, es mover la mayor parte de la lógica de la aplicación desde JSP a clases Java, por ejemplo JavaBeans. Estos JavaBeans pueden ser usados dentro de JSP de forma fácil. Es un método centrado en páginas, el flujo de navegación es gestionado por componentes web individuales. Pueden darse problemas de mantenimiento, ya que al introducir modificaciones el flujo de navegación está repartido entre distintas páginas y no concentrado en un único componente. Un ejemplo de este modelo sería cualquier proyecto web Java que solo utilice páginas JSP y no haga uso de servlet. Modelo 2 A la hora de construir aplicaciones con modelo 2 se hace uso del patrón de diseño Model-View-Controller (MVC). Los flujos de navegación se gestionan mediante un controlador y una serie de archivos de configuración que deciden en cada petición que página debe devolverse como respuesta. Model-View-Controller divide el sistema en: Model (model...

Java. Métodos con argumentos variables. Varargs.

Descripción Para utilizarlo el argumento del método se declara como Tipo... , indica que el número de parámetros de ese tipo es variable. Si se quiere un número de argumentos sin determinar de tipo cadena: String... Ejemplo: /** * Número de parámetros variable en métodos. */ private static void varargs() { hacerAlgo("uno"); hacerAlgo("dos", "tres"); hacerAlgo("cuatro", "cinco", "seis"); hacerAlgo(Color.BLUE); } private static <T> void hacerAlgo(T... cads) { System.out.println("Inicio método..."); for (int i = 0; i < cads.length; i++) { System.out.println("\tParámetro: "+cads[i]); System.out.println("\tTipo: "+cads[i].getClass()); } System.out.println("Fin método"); } Resultado es: Inicio método... Parámetro: uno Tipo: class java.lang.String Fin método Inicio método... Parámetro: dos Tipo: class java.lang.String ...

Java. Genéricos

Descripción Permiten utilizar tipos concretos en tiempo de compilación con clases que trabajan con tipos arbitrarios. Las clases genéricas tienen tipos parametrizados y el tipo parametrizado se sustituye por un tipo específico. Una vez definido el tipo, la instancia creada solo trabaja con el tipo establecido. Definición de la interface List: public interface List<E> extends Collection<E> Definición de la clase ArrayList: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable Definición de la interface Map: public interface Map<K,V> Definición de la clase HashMap: public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable Ejemplo con List y Map: // Declarar una lista sin tipo genérico List lista1 = new ArrayList(); // Al añadir objetos a la lista ella acepta objetos Objetc // Declarar una lista con un tipo espe...

Java. Aserciones (assert)

Descripción Las aserciones son sentencias que comprueban si una condición se cumple o no. Por defecto están desactivadas, para activarlas hace falta añadir -ea (enable asserts) al ejecutar el programa java -ea nombrePrograma o habilitar en el IDE con -ea . Activar assert en Netbeans: Botón derecho sobre el proyecto → Properties. Categories : Run. VM Options : -ea Su sintaxis es: assert condiciónBooleana : [expresión] condiciónBooleana es obligatoria y expresión es opcional. Si condiciónBooleana: true, todo correcto. false, muestra un error y si expresión está definida la muestra. Ejemplo: int x = 0; //assert x == 1; assert x == 1 : "x=" + x; Resultado de assert x == 1 : "x=" + x; es: Exception in thread "main" java.lang.AssertionError: x=0 ... Utilidad Permiten obtener información sobre determinadas condiciones que el programador quiere inspeccionar. No se utilizan para comprobar todo el código, sino solo ciertas condiciones....