Bienvenido a re-orientation! Esperamos que encuentres lo que buscas

Aplicaciones web

Como saltar el theming system de Drupal fácilmente

Cuando usas un CMS, los contenidos son generados de manera dinámica y para visualizarlos se utiliza una especie de “plantilla” con el diseño/estilos asociados a éstos. En Drupal estas plantillas finales son conocidas como Temas (themes) y existe una gran variedad (por ejemplo, re-orientation usa el tema BOOTSTRAP BUSINESS).

Una vez que trabajas con un tema concreto, todos los contenidos visualizados son maquetados por el sistema de generación asociado al tema activo. El único inconveniente que tiene esta manera de operar es que a priori no es posible saltarse la plantilla del tema y hay algunos casos en los que puede ser deseable.

Por ejemplo, en re-orientation quiero que la home sea una página estática 100% a medida y fuera de la plantilla asociada al tema. Hay varias maneras de conseguirlo, os voy a contar como lo hice yo sin complicarme mucho la vida.

Soluciones eficientes combinando ArrayList HashSet y HashMap

Imaginaros que tenemos dos colecciones de objetos, la colección A y la colección B, donde B es un conjunto de objetos reducido de A. Si necesitáramos obtener, a partir de los datos anteriores, un contenedor C donde por cada elemento de A sepa si existe en el conjunto B o no, ¿como podríamos realizar esto de manera sencilla y sin necesidad de anidar bucles?

Hay varias formas de resolver el caso de uso anterior usando Java, en nuestro caso el objetivo es ilustrar el uso combinando de ArrayList, HashSet y HashMap, así que veremos una manera eficiente de implementar la solución.

Nos apoyaremos principalmente en la clase java.util.HashSet, que está pensada específicamente para trabajar con conjuntos y nos permite buscar de manera rápida elementos dentro de uno. Para modelar el ejemplo: A, será un HashList; B un HashSet; y el resultado del cruce, C, un HashMap...

Manual para desarrollar paso a paso una aplicación web con Spring Framework + Spring Security contra una base de datos MySQL

Implementando el controlador con Spring MVC. La clase GeneralController


Parte del manual paso a paso para desarrollar una aplicación web con Spring Framework + Spring Security contra una base de datos MySQL.

Ya tenemos nuestra clase de acceso a datos con la consulta personalizada y la clase de usuario personalizado con los nuevos atributos, nos queda implementar las redirecciones en función de los roles de usuarios autenticados y los recursos (las páginas) a los que accederán en cada caso.

Implementando nuestro proveedor de autenticación personalizado. La clase CustomJdbcDaoImpl

Una vez que ya tenemos nuestro SecurityUser, toca el turno a la clase a medida CustomJdbcDaoImpl que hemos declaramos en el security-context.xml. Vamos a centrarnos en las modificaciones a realizar en el proceso de recuperación de la información del usuario, y una vez más nos apoyaremos en las clases de Spring y las extendemos para incorporar información extra.

La nueva clase de acceso a datos CustomJdbcDaoImpl extenderá las funcionalidades de la clase de Spring JdbcDaoImpl incluyendo nuestra consulta personalizada (DEF_USERS_BY_USERNAME_QUERY) para recuperar la información del usuario buscando por el campo “username” del modelo de datos...

El mvc-core-config.xml. Configurando la navegación Spring MVC

Una vez configurados el security-context.xml, business-config.xml y datasource-config.xml; sólo nos queda por configurar el fichero donde declararemos la navegación a través de nuestra aplicación con Spring MVC Framework (mvc-core-config.xml).

En Spring MVC, las clases anotadas como Controladores (controllers), suplen a los servlets tradicionales. Su función es básicamente la misma (llevar el flujo de navegación) solo que la complejidad se reduce gracias a las facilidades que nos brinda el framework, como veremos posteriormente...

El datasource-config.xml. Configurando Spring JDBC

Para gestionar los accesos a la Base de Datos nos apoyaremos en Spring JDBC. Este framework se encargará de gestionar por nosotros las aperturas y cierres de conexiones, preparación y ejecución de los statements, la captura de exceptions asociadas, el manejo de transacciones, así como los cierres de statement/resultset...


Parte del manual paso a paso para desarrollar una aplicación web con Spring Framework + Spring Security contra una base de datos MySQL.

Páginas

Subscribe to RSS - Aplicaciones web