Ciclo de una peticion web - eliizquierdo/material_programacion_avanzada2026 GitHub Wiki

Antes de ver JSP y Servlets en detalle, es importante entender qué pasa exactamente desde que el usuario escribe una URL hasta que ve la página en pantalla.


El ciclo completo


Paso a paso

1. El usuario hace una acción

Puede ser:

  • Escribir una URL en el navegador → genera un GET
  • Hacer clic en un enlace → genera un GET
  • Enviar un formulario → genera un POST

2. El navegador envía un HTTP Request

Contiene:

  • El método (GET o POST)
  • La URL (/personas, /formulario, etc.)
  • Los datos del formulario (si es POST)

3. Tomcat recibe el request y busca quién lo maneja

Lee la URL y busca un Servlet registrado para esa ruta.

// El Servlet se registra con esta anotación:
@WebServlet("/personas")
public class PersonaServlet extends HttpServlet { ... }

4. El Servlet ejecuta la lógica Java

  • Obtiene los parámetros (req.getParameter("nombre"))
  • Consulta la base de datos si es necesario
  • Prepara los datos para mostrar

5. El Servlet delega la presentación al JSP

// El Servlet pone datos disponibles:
req.setAttribute("personas", lista);

// Y le pasa el control al JSP:
req.getRequestDispatcher("/WEB-INF/vistas/lista.jsp")
   .forward(req, resp);

6. El JSP genera el HTML y Tomcat lo envía al navegador

El JSP combina HTML estático con datos dinámicos de Java.


¿Quién hace qué?

Componente Rol Analogía
Servlet Recibe el request, ejecuta lógica, consulta BD El mozo que toma el pedido y va a la cocina
JSP Genera el HTML con los datos La cocina que prepara el plato
DAO Accede a la base de datos La despensa con los ingredientes
Tomcat Servidor que coordina todo El restaurante

GET vs POST

GET POST
¿Para qué? Pedir datos (listar, buscar) Enviar datos (crear, editar)
¿Los datos van en? La URL (?nombre=Ana) El cuerpo del request (no se ve)
¿Se puede repetir? Sí, sin problema Con cuidado (ver Patrón PRG)
Método en el Servlet doGet() doPost()

📌 Nota: En la teoría MVC pura, la lógica de negocio vive en el Modelo. En nuestra implementación sin capa de servicios, la ponemos en el Controlador por simplicidad.

💡 Para recordar: El Servlet maneja la lógica, el JSP genera la vista y el DAO accede a los datos. Esa separación de las tres capas es el corazón del patrón MVC.


📋 Palabras clave

ciclo de petición · HTTP request · HTTP response · GET · POST · Tomcat · Servlet · JSP · forward · redirect · doGet · doPost · @WebServlet · cliente · servidor


🧠 Autoevaluación — Ciclo de una petición web


← Introducción a Maven · 🏠 Inicio · Archivos JSP →