lunes, 28 de septiembre de 2015

Mi primera aplicación - JSP y Servlets


Mi primera aplicación - JSP y Servlets
En esta primera aplicación desarrollaremos un pequeño sistema para dar mantenimiento a una tabla de base de datos. Como la utilizaremos para ponernos al día e ir entrando en calor, será lo más sencillo posible.


1. Ambiente de desarrollo
- JDK v1.6.0.27
- Netbeans v7.1.2
- Apache Tomcat v7.0.22
- MySql v5.1.61


2. Arquitectura de solución
Para ir de acuerdo a las buenas prácticas y acercarnos a un posible ambiente real, la arquitectura que emplearemos será de 3 capas lógicas. También emplearemos Interfaces e Implementaciones de las interfaces.

En este gráfico se aprecia que la capa de negocio y la capa de datos están en servidores separados. Esto es únicamente para representar el modelo de 3 capas a emplear, pueden estar en el mismo servidor o en diferentes.


3. Tecnologías de desarrollo
- JSP / Servlets
- JDBC


4. Manos a la obra
4.1. Como mencioné al inicio de este post, la aplicación que crearemos será para darle mantenimiento a una tabla de base de datos: tabla de clientes.
Para esto, primero creamos la base de datos y la tabla clientes mediante el siguiente script:





4.2. Luego de tener nuestra base de datos "swdefabrica" y la tabla clientes, vamos al Netbeans y creamos un nuevo proyecto web. Para esto, pulsamos las teclas CTRL + N, seleccionamos Java Web y Web Application, le asignamos un nombre y elegimos Apache Tomcat como nuestro servidor, finalizamos.








4.3. Agregamos las librerias que necesitemos, en este caso son las necesarias para conexión a base de datos (mysql) y para el rastreo a nuestro código (logger, mediante apache log4j). Para esto, damos clic derecho en el proyecto, properties; una vez se abre el pop up de properties, la tercera opción es libraries, a la derecha seleccionamos Add Jar / Folder (o agregar Jar).





4.4. Para poder configurar nuestro logger, creamos el archivo log4j.properties. Para esto damos clic derecho en Source Packages de nuestro proyecto, new (o nuevo, dependiendo del idioma instalado en el Netbeans), other (u otros), other otra vez y seleccionamos properties file (o archivo properties).




Creamos la estructura de paquetes y configuramos el archivo properties de la siguiente manera:




4.5. En el paquete com.clientes.util creamos la clase (clic derecho en el paquete, new, Java class) Conexion, para poder conectarnos con nuestra base de datos MySql.





4.6. Luego de esto creamos nuestro objeto ClienteBean (la clase cliente con todos los atributos necesarios) en el paquete com.clientes.bean. Para esto hacemos clic derecho en el paquete, new, Java class.




4.7. Luego de crear nuestra clase ClienteBean, y para manejar todos sus métodos (o acciones que podremos realizar sobre un cliente) creamos la interfaz ClienteDAO en el paquete com.clientes.dao (clic derecho en el paquete, new, Java interface) y la implementamos mediante la clase ClienteDAOImpl (en estas capas se realiza el trabajo con conexión a base de datos) que creamos en el paquete com.clientes.daoImpl (clic derecho en el paquete, new, Java class), como se ven en las siguientes imágenes:





4.8. Como podrán aver visto algunas sentencias que trabajan directamente sobre la base de datos (select ..., delete ...) y otras que hacen llamadas (call ...) a procedimientos de base de datos. Por lo que procederemos a crear los procedimientos almacenados necesarios (insertar y actualizar).




4.9. Una vez que tenemos completa la capa DAO de conexión a base de datos, procedemos a programar la capa de servicio (service) donde se maneja toda la lógica de negocio necesaria. Para esto, creamos la interfaz ClienteService en el paquete com.clientes.service (clic derecho en el paquete, new, Java interface) y la implementamos mediante la clase ClienteServiceImpl en el paquete com.clientes.serviceImpl (clic derecho en el paquete, new, Java class).



4.10. Luego de tener implementada la capa de servicio, pasamos a los Servlets. Los Servlets se atienden y responden las solicitudes realizadas por la vista o interfaz gráfica de usuario (IGU) a través de páginas JSP.






4.11. Luego de tener listo el Servlet, procedemos a crear las páginas JSP mencionadas anteriormente. Para esto se crearán 3 páginas: index - muestra un mensaje de bienvenida y un botón de ingreso; clienteLst - donde se listan los clientes creados y se tienen las opciones Buscar, Nuevo, Actualizar y Eliminar; clienteMnt - que es la interfaz donde se crean o actualizan los clientes.

index.jsp



clienteLst.jsp



clienteMnt.jsp
 


4.12. Finalmente al ejecutar nuestra aplicación tendremos la siguiente ventana de bienvenida.



No hay comentarios:

Publicar un comentario