Login con Java y el patrón DAO

Login con Java y el patrón DAO

En este tutorial vamos a ver un ejemplo de cómo realizar un sencillo login con java y el patrón DAO, este patrón es muy utilizado en Java y es realmente útil, pero como todo, tiene sus ventajas y sus desventajas.

Ventajas

La ventaja de usar objetos de acceso a datos (DAO) es que cualquier objeto de negocio (aquel que contiene detalles específicos de operación o aplicación) no requiere conocimiento directo del destino final de la información que manipula (abstracción).

Desventajas

La flexibilidad tiene un precio. Cuando se añaden DAOs a una aplicación, la complejidad adicional de usar otra capa de persistencia incrementa la cantidad de código ejecutado durante tiempo de ejecución. La configuración de las capas de persistencia requiere en la mayoría de los casos mucho trabajo.

Por lo tanto podemos concluir que es una buena práctica de abstracción pero requiere más tiempo en todos los aspectos, que cada uno saque sus conclusiones, de todas formas, seguro que con el ejemplo del tutorial te quedará claro sobre qué trata DAO.

Si tienes dudas con el código de este tutorial te invito a revisar las entradas anteriores sobre Java.

Login con Java y el patrón DAO

Para crear nuestro ejemplo vamos a necesitar varias clases, si recuerdas el tutorial anterior vimos cómo conectar con mysql, pero lo hicimos de una forma poco ordenada, para mejorar ese aspecto vamos a crear una clase llamada DbConnection que devuelva la conexión con mysql dentro del package com.unodepiera.utils.


Ahora vamos a crear otro package llamado com.unodepiera.dao y dentro primero creamos la clase LoginDao, la cual únicamente será una interfaz que podremos implementar, por lo tanto los DAOs deben ser interfaces que más adelante podemos implementar.


En nuestro caso LoginDao es una interfaz que simplemente contiene un método que devuelve un booleano, pero podemos tener de más complejas como la siguiente.


Cómo ya sabemos, una interfaz por si sola no sirve de nada, es necesario implementarla, así que vamos a crear una clase dentro del mismo package llamada LoginDaoImpl, es típico llamar así a las clases que implementan un DAO.


Cómo podemos ver, la implementación del DAO es quien contiene toda la lógica, pero podemos crear un LoginDaoMysqlImpl, LoginDaoOracleImpl etcétera, al DAO le es completamente indiferente.

Ahora nos queda utilizar todo lo que hemos creado, todo ello lo vamos a hacer con un Servlet, así que vamos a crear un Servlet llamado Login y vamos a añadir el siguiente código, el cual utiliza LoginDaoImpl para realizar el proceso de login.


Este Servlet implementa los métodos doGet para mostrar el archivo login.jsp y doPost, el cual es el que ahora nos interesa, desde aquí comprobamos si el login ha sido correcto o no, ya que devolvemos un booleano podemos hacer esta comprobación de forma sencilla.

Finalmente sólo queda crear el archivo login.jsp y añadir el siguiente código.

Añade un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR