Aplicación web Java que implementa una arquitectura MVC (Modelo-Vista-Controlador) "a mano" (sin frameworks pesados) para gestionar un CRUD de productos contra una base de datos PostgreSQL.
Este proyecto sirve como demostración práctica del patrón MVC en entorno web (Java EE/Jakarta EE).
- Modelo: Gestiona la lógica de negocio y el acceso a datos (
Productos.java,ModeloProductos.java). - Vista: Interfaz de usuario con JSP (
ListaProductos.jsp). - Controlador: Servlet que coordina las peticiones (
ControladorProductos.java).
El sistema gestiona una única entidad principal con los siguientes atributos:
| Campo | Tipo | Descripción |
|---|---|---|
| cArt | String | Código único del artículo (PK). |
| seccion | String | Categoría del producto. |
| nArt | String | Nombre del producto. |
| precio | double | Precio unitario. |
| fecha | Date | Fecha de alta/modificación. |
| importado | Boolean | Si es producto de importación. |
| pOrig | String | País de origen. |
classDiagram
class ControladorProductos {
+doGet()
+doPost()
}
class ModeloProductos {
+getPoductos()
+insertarProducto()
+borrarProducto()
}
class Productos {
+String cArt
+String nArt
+double precio
}
class Vista_JSP {
+HTML/CSS
+JSTL Tags
}
ControladorProductos --> ModeloProductos : Usa
ModeloProductos --> Productos : Crea/Lee
ControladorProductos --> Vista_JSP : Redirige (Forward)
- Java EE (Servlets & JSP): Backend Web.
- Tomcat Connection Pool: Gestión eficiente de conexiones BD.
- PostgreSQL: Sistema de Base de Datos.
- JSTL: JavaServer Pages Standard Tag Library para la vista.
Este proyecto no utiliza Maven, por lo que las librerías se gestionan manualmente. Si clonas el repo, necesitarás agregar estos .jar a tu WEB-INF/lib o Build Path:
postgresql-42.x.jar(Driver JDBC)mysql-connector-java-8.x.jar(Opcional si usas MySQL)javax.servlet.jsp.jstl-1.2.1.jarjavax.servlet.jsp.jstl-api-1.2.1.jartomcat-jdbc.jar(Connection Pool)
-
Base de Datos:
- Crea una base de datos
PRODUCTSen PostgreSQL. - Ejecuta el script SQL (si está disponible) o crea la tabla acorde a la entidad
Productos.
- Crea una base de datos
-
Configuración:
- Edita el archivo
WebContent/META-INF/context.xmlpara configurar usuario/password de tu BD local.
- Edita el archivo
-
Despliegue:
- Despliega el proyecto en un servidor Apache Tomcat.
- Accede a la ruta del servlet principal.