auto mvc - eliizquierdo/material_programacion_avanzada2026 GitHub Wiki

🧠 Autoevaluación — Patrón MVC

Responde cada pregunta antes de ver la respuesta.


Pregunta 1

¿Qué significa MVC?

  • A) Modelo-Vista-Controlador
  • B) Maven Version Controller
  • C) Main View Class
  • D) Multiple Virtual Connections
Ver respuesta

✅ A) Modelo-Vista-Controlador

💡 MVC es un patrón de arquitectura de software que divide la aplicación en tres capas con responsabilidades bien definidas, facilitando el mantenimiento y la extensibilidad.


Pregunta 2

¿Cuál es la responsabilidad de la capa Modelo en MVC?

  • A) Representar los datos y gestionar la lógica de acceso a la base de datos
  • B) Recibir y procesar las peticiones HTTP
  • C) Mostrar la información al usuario
  • D) Definir la estructura de carpetas del proyecto
Ver respuesta

✅ A) Representar los datos y gestionar la lógica de acceso a la base de datos

💡 El Modelo incluye las clases VO (que representan entidades como Persona) y las clases DAO (que realizan las operaciones CRUD en la base de datos). No sabe nada de la interfaz de usuario.


Pregunta 3

¿Qué componente actúa como Controlador en un proyecto Java Web con MVC?

  • A) El archivo JSP
  • B) El Servlet
  • C) El archivo pom.xml
  • D) La clase VO
Ver respuesta

✅ B) El Servlet

💡 El Servlet recibe la petición HTTP, decide qué lógica ejecutar, usa el DAO (Modelo) para obtener o modificar datos, y delega la presentación al JSP (Vista).


Pregunta 4

¿Qué componente actúa como Vista en un proyecto Java Web con MVC?

  • A) El Servlet
  • B) La clase DAO
  • C) La clase VO
  • D) El archivo JSP
Ver respuesta

✅ D) El archivo JSP

💡 El JSP es la Vista en MVC. Solo se encarga de mostrar datos al usuario, generando el HTML. No debe contener lógica de negocio ni acceso directo a la base de datos.


Pregunta 5

¿Por qué es importante separar responsabilidades en MVC?

  • A) Para que el código sea más difícil de entender
  • B) Para facilitar el mantenimiento, las pruebas y la colaboración, ya que cada capa puede cambiar sin afectar las otras
  • C) Para que solo un programador pueda trabajar en el proyecto
  • D) Porque es un requisito de compilación de Java
Ver respuesta

✅ B) Para facilitar el mantenimiento, las pruebas y la colaboración, ya que cada capa puede cambiar sin afectar las otras

💡 Si se cambia de MySQL a PostgreSQL, solo se modifica el DAO. Si se cambia el diseño visual, solo se modifica el JSP. El Servlet (controlador) no necesita cambiar en ninguno de los dos casos.


Pregunta 6

¿Cómo fluye una petición en el patrón MVC de Java Web?

  • A) JSP → Servlet → DAO → Base de datos → DAO → JSP
  • B) Navegador → JSP → DAO → Servlet → Navegador
  • C) Navegador → Servlet → DAO → Base de datos → DAO → Servlet → JSP → Navegador
  • D) Tomcat → DAO → Servlet → JSP → Navegador
Ver respuesta

✅ C) Navegador → Servlet → DAO → Base de datos → DAO → Servlet → JSP → Navegador

💡 El flujo completo: el navegador envía el request al Servlet, el Servlet usa el DAO para acceder a la BD, el DAO devuelve los datos al Servlet, el Servlet hace forward al JSP, y el JSP genera el HTML que llega al navegador.


Pregunta 7

¿Qué significa DAO?

  • A) Data Application Object
  • B) Dynamic Access Object
  • C) Database Administration Object
  • D) Data Access Object
Ver respuesta

✅ D) Data Access Object

💡 El DAO es la clase del Modelo que centraliza todas las operaciones de acceso a la base de datos (insertar, listar, actualizar, eliminar). Separa la lógica de persistencia del resto de la aplicación.


Pregunta 8

¿Qué problema resuelve el patrón MVC respecto a poner todo el código en un solo JSP?

  • A) Que los JSP son difíciles de abrir en el editor de texto
  • B) Que los JSP no pueden conectarse a la base de datos
  • C) La mezcla de presentación, lógica y acceso a datos en un mismo archivo, que hace el código difícil de mantener y probar
  • D) Que Java no permite código en archivos JSP
Ver respuesta

✅ C) La mezcla de presentación, lógica y acceso a datos en un mismo archivo, que hace el código difícil de mantener y probar

💡 Sin MVC, un JSP terminaría con consultas SQL, lógica de negocio y HTML mezclados. MVC separa estas responsabilidades en capas, haciendo el código más limpio, testeable y mantenible.


🏠 Volver al índice


← Volver a ¿Qué es el MVC? · 🏠 Inicio

⚠️ **GitHub.com Fallback** ⚠️