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
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