auto servlet - eliizquierdo/material_programacion_avanzada2026 GitHub Wiki
Responde cada pregunta antes de ver la respuesta.
¿Qué es un Servlet en Java Web?
- A) Un archivo HTML especial que contiene código Java embebido
- B) Una clase Java que extiende
HttpServlety 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.
¿Qué hace la anotación @WebServlet("/personas")?
- A) Importa la clase
HttpServletal 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.
¿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().
¿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
namees"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".
¿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.
¿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").
¿Qué diferencia hay entre HttpServletRequest y HttpServletResponse?
- A)
Requestes para HTML;Responsees para JSON - B)
Requestcontiene los datos que llegaron del navegador (parámetros, headers);Responsepermite enviar datos de vuelta al navegador - C)
Requestse usa endoGet();Responsese usa endoPost() - 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).
¿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.
