auto servlet - eliizquierdo/material_programacion_avanzada2026 GitHub Wiki

🧠 Autoevaluación — Servlets

Responde cada pregunta antes de ver la respuesta.


Pregunta 1

¿Qué es un Servlet en Java Web?

  • A) Un archivo HTML especial que contiene código Java embebido
  • B) Una clase Java que extiende HttpServlet y procesa peticiones HTTP en el servidor
  • C) Una herramienta de Maven para compilar proyectos web
  • D) Un archivo de configuración de Tomcat
Ver respuesta

✅ B) Una clase Java que extiende HttpServlet y procesa peticiones HTTP en el servidor

💡 Un Servlet es la pieza central de una aplicación web Java. Recibe peticiones HTTP, ejecuta lógica Java (consultar BD, procesar datos) y genera o delega la respuesta.


Pregunta 2

¿Qué hace la anotación @WebServlet("/personas")?

  • A) Importa la clase HttpServlet al proyecto
  • B) Define que el Servlet solo acepta peticiones POST
  • C) Registra el Servlet para que Tomcat lo llame cuando llegue una petición a la URL /personas
  • D) Crea automáticamente la base de datos personas
Ver respuesta

✅ C) Registra el Servlet para que Tomcat lo llame cuando llegue una petición a la URL /personas

💡 @WebServlet mapea el Servlet a una URL. Sin esta anotación (o sin la configuración equivalente en web.xml), Tomcat no sabe qué clase Java debe responder a esa URL.


Pregunta 3

¿Cuándo se ejecuta doGet() y cuándo doPost()?

  • A) doGet() para peticiones GET (navegar, listar); doPost() para peticiones POST (enviar formularios)
  • B) doGet() cuando hay errores; doPost() cuando todo está bien
  • C) doGet() para leer de la BD; doPost() para escribir en la BD
  • D) Ambos se ejecutan siempre en ese orden para cada petición
Ver respuesta

✅ A) doGet() para peticiones GET (navegar, listar); doPost() para peticiones POST (enviar formularios)

💡 Tomcat llama al método que corresponde al verbo HTTP de la petición. Un formulario con method="post" ejecuta doPost(); una URL en el navegador o un enlace ejecuta doGet().


Pregunta 4

¿Qué hace request.getParameter("nombre")?

  • A) Busca una persona llamada "nombre" en la base de datos
  • B) Obtiene la URL completa de la petición
  • C) Crea un atributo llamado "nombre" en el request
  • D) Lee el valor del campo de formulario cuyo atributo name es "nombre"
Ver respuesta

✅ D) Lee el valor del campo de formulario cuyo atributo name es "nombre"

💡 getParameter() lee los datos enviados desde el formulario HTML. Si el input tiene name="nombre" y el usuario escribió "Ana", getParameter("nombre") devuelve "Ana".


Pregunta 5

¿Cuáles son las tres fases del ciclo de vida de un Servlet?

  • A) crear, ejecutar, terminar
  • B) load(), doGet(), unload()
  • C) start(), run(), stop()
  • D) init(), service(), destroy()
Ver respuesta

✅ D) init(), service(), destroy()

💡 init() se llama una vez cuando Tomcat carga el Servlet. service() se llama en cada petición (y delega a doGet()/doPost()). destroy() se llama cuando Tomcat desinstala el Servlet.


Pregunta 6

¿Qué hace request.setAttribute("personas", lista)?

  • A) Guarda la lista en el request para que el JSP pueda leerla con ${personas}
  • B) Envía la lista directamente al navegador como JSON
  • C) Guarda la lista en la base de datos con el nombre "personas"
  • D) Crea una sesión HTTP con los datos de la lista
Ver respuesta

✅ A) Guarda la lista en el request para que el JSP pueda leerla con ${personas}

💡 setAttribute es como poner datos "en un cajón" del request. Después de un forward al JSP, el JSP puede leer esos datos con EL (${personas}) o con request.getAttribute("personas").


Pregunta 7

¿Qué diferencia hay entre HttpServletRequest y HttpServletResponse?

  • A) Request es para HTML; Response es para JSON
  • B) Request contiene los datos que llegaron del navegador (parámetros, headers); Response permite enviar datos de vuelta al navegador
  • C) Request se usa en doGet(); Response se usa en doPost()
  • D) Son sinónimos, representan lo mismo
Ver respuesta

✅ B) Request contiene los datos que llegaron del navegador (parámetros, headers); Response permite enviar datos de vuelta al navegador

💡 request es lo que el cliente envió (parámetros del formulario, URL, cookies). response es lo que el servidor devuelve (redireccionamiento, tipo de contenido, datos HTML).


Pregunta 8

¿Qué hace response.sendRedirect(url)?

  • A) Transfiere el control al JSP especificado internamente
  • B) Guarda la URL en la sesión del usuario
  • C) Envía un código HTTP 302 al navegador, indicándole que haga una nueva petición GET a la URL indicada
  • D) Redirige solo si el usuario está autenticado
Ver respuesta

✅ C) Envía un código HTTP 302 al navegador, indicándole que haga una nueva petición GET a la URL indicada

💡 sendRedirect hace que el navegador haga una segunda petición. La URL del navegador cambia. Se usa en el patrón PRG: después de un POST exitoso, se redirige a un GET para evitar el doble envío.


🏠 Volver al índice


← Volver a ¿Qué es un Servlet? · 🏠 Inicio

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