option
Cuestiones
ayuda
daypo
buscar.php

Desarrollo de Aplicaciones Web

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Desarrollo de Aplicaciones Web

Descripción:
Tema 2.2: JakartaEE - Arquitectura MVC, plantillas JSP y JSTL

Fecha de Creación: 2026/06/01

Categoría: Otros

Número Preguntas: 180

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

¿Cuál es la principal razón por la que el patrón MVC original necesita adaptaciones en aplicaciones web?. Porque Java no soporta MVC de forma nativa. Porque HTTP es un protocolo sin estado que condiciona la interacción entre componentes. Porque los navegadores no pueden ejecutar código Java. Porque las bases de datos no pueden conectarse al modelo.

¿Quién propuso el modelo Model 2 como adaptación de MVC para JavaServer Pages?. James Gosling. Martin Fowler. Govind Seshadri. Tim Berners-Lee.

¿Qué caracteriza principalmente a una aplicación web implementada siguiendo el modelo Model 1?. Los Servlets actúan exclusivamente como controladores. Existe una separación estricta entre modelo, vista y controlador. Los JSP y Servlets realizan indistintamente funciones de modelo, vista y controlador. Solo se utilizan Beans como modelo.

En el patrón Model 2, ¿qué componente se encarga de actuar como controlador?. JSP. Bean. POJO. Servlet.

¿Qué componente desempeña el papel de vista en una aplicación web basada en Model 2?. Servlet. JSP. Bean. POJO.

¿Qué elementos suelen representar el modelo en una arquitectura Model 2?. JSP y Servlets. Navegadores web. Beans y/o POJOs. Servidores HTTP.

¿Cuál de las siguientes afirmaciones describe correctamente la relación entre Model 1 y Model 2?. Model 1 es una evolución de Model 2. Model 2 elimina el uso de JSP. Model 2 introduce una separación más clara entre controlador, vista y modelo. Ambos modelos tienen exactamente la misma estructura.

Debido a la naturaleza de HTTP, ¿qué problema aparece respecto al patrón MVC clásico?. El controlador no puede acceder al modelo. El navegador no puede ejecutar vistas. Los cambios en el modelo no pueden actualizar automáticamente la vista del navegador. Las JSP no pueden mostrar datos dinámicos.

¿Cuál es la función principal de un Servlet dentro de Model 2?. Almacenar datos persistentes. Generar exclusivamente contenido HTML. Gestionar las peticiones del usuario y coordinar la aplicación. Sustituir completamente a las JSP.

¿Qué ventaja aporta principalmente el uso de Model 2 frente a Model 1?. Menor número de archivos en el proyecto. Separación de responsabilidades, facilitando mantenimiento y escalabilidad. Eliminación total de los Servlets. No utilizar objetos Java en el modelo.

¿Cuál es el primer componente que recibe una petición HTTP en una aplicación web basada en Model 2?. JSP. Bean. Servlet. POJO.

¿Qué tarea realiza el Servlet inmediatamente después de recibir una petición HTTP?. Generar la respuesta HTML. Validar los datos recibidos. Crear una sesión de base de datos. Transferir el control a la JSP.

Después de validar los datos, ¿qué acción realiza el Servlet?. Envía directamente la respuesta al navegador. Instancia la JSP correspondiente. Intercambia datos con el modelo. Finaliza la petición.

¿Con qué finalidad el Servlet instancia Beans o POJOs?. Para reemplazar al modelo. Para almacenar y transportar información entre componentes. Para generar código HTML. Para validar formularios.

¿Dónde coloca el Servlet los Beans o POJOs que ha creado?. En el navegador del usuario. En la base de datos. En diferentes contextos de la aplicación. Dentro de la JSP como código Java.

¿Cuál es la función del Servlet después de almacenar los Beans o POJOs en los contextos correspondientes?. Cerrar la conexión HTTP. Transferir el control a la JSP adecuada. Eliminar los datos temporales. Crear una nueva petición HTTP.

¿Qué componente recupera la información almacenada en los contextos?. El navegador. El Servlet. La JSP. La base de datos.

¿Cuál es la principal responsabilidad de la JSP dentro del flujo MVC?. Gestionar peticiones HTTP. Validar formularios. Generar la respuesta que recibirá el cliente. Acceder directamente a la base de datos.

¿Qué ocurriría si el Servlet no colocara los Beans o POJOs en un contexto accesible?. La JSP no podría recuperar los datos necesarios. El modelo dejaría de funcionar. La petición HTTP sería rechazada automáticamente. El navegador corregiría el error.

¿Cuál de las siguientes secuencias representa correctamente las fases de una petición HTTP en MVC (Model 2)?. JSP → Modelo → Servlet → Navegador. Servlet → Validación → Modelo → Beans/POJOs → JSP → Respuesta. Modelo → JSP → Servlet → Respuesta. Servlet → JSP → Modelo → Respuesta.

¿Cuál es el principal problema asociado al uso de scriptlets en páginas web?. Impiden el acceso a bases de datos. Mezclan lógica de control (Java) y presentación (HTML). No permiten utilizar CSS. Solo funcionan en aplicaciones de escritorio.

¿Cuál es una de las soluciones propuestas para evitar los problemas de los scriptlets?. Utilizar más código Java dentro del HTML. Sustituir HTML por Servlets. Evitar el uso de código en documentos HTML. Eliminar la capa de presentación.

¿Qué se utiliza en lugar de código Java embebido dentro del HTML?. Consultas SQL. Plantillas o elementos textuales. Archivos binarios. Clases abstractas.

¿Qué ocurre con los elementos textuales de una plantilla durante el procesamiento en el servidor?. Se eliminan automáticamente. Se convierten en código Java. Son reemplazados por contenido generado dinámicamente. Se almacenan en una base de datos.

¿Qué componente se encarga de localizar patrones de texto y sustituirlos por datos del programa?. El navegador. El Servlet. El motor de renderizado (template engine). La base de datos.

¿Cuál es la misión principal de un motor de renderizado?. Validar formularios HTML. Gestionar conexiones de red. Localizar patrones de texto específicos y sustituirlos por datos del programa. Compilar código Java.

¿Qué son los marcadores o elementos de una plantilla antes de ser procesados por el motor de renderizado?. Objetos Java compilados. Texto plano. Consultas SQL. Variables de sesión.

¿Qué ventaja aporta el uso de plantillas respecto a los scriptlets?. Mezcla más fácilmente Java y HTML. Elimina la necesidad de Servlets. Favorece la separación entre lógica y presentación. Obliga a utilizar bases de datos.

¿Quién proporciona los datos que utilizará el motor de renderizado para completar las plantillas?. El navegador web. Los Servlets. El servidor DNS. El cliente HTTP.

¿Cuál de las siguientes secuencias describe correctamente el funcionamiento de una plantilla HTML?. Navegador → Base de datos → HTML estático. Plantilla → Motor de renderizado → Sustitución de patrones → Página dinámica. Servlet → CSS → JavaScript → Respuesta. HTML → Compilación Java → Base de datos.

¿Qué permite la especificación JSP además de escribir contenido HTML convencional?. Crear bases de datos embebidas. Crear etiquetas similares a HTML que encapsulan código HTML, CSS, JavaScript y Java. Sustituir completamente los Servlets. Ejecutar aplicaciones de escritorio.

¿Cómo se identifican las etiquetas JSP dentro de una página?. Mediante una extensión .java. Mediante comentarios HTML. Mediante un prefijo o espacio de nombres. Mediante una dirección URL.

¿Qué prefijo utilizan las etiquetas predefinidas de JSP?. html:. java:. jsp:. jvm:.

¿Qué función realiza la etiqueta <jsp:include>?. Realizar consultas SQL. Incluir el contenido de otra página o recurso JSP. Compilar código Java. Crear una sesión de usuario.

¿Qué significa la sigla JSTL?. Java Standard Template Language. Java Server Tag Library. Java Standard Tag Library. Java Servlet Template Library.

¿Cuál de los siguientes ejemplos corresponde a una etiqueta personalizada o de una biblioteca de etiquetas?. <html>. <jsp:include>. <app:ficha-cliente datos="${cliente}"/>. <body>.

¿Para qué se utiliza Expression Language (EL) en JSP?. Para diseñar hojas de estilo CSS. Para acceder a objetos, métodos y utilizar expresiones. Para crear bases de datos. Para compilar Servlets.

En la expresión ${cuota*1.28}, ¿qué realiza EL?. Crea una variable nueva. Realiza una operación matemática sobre el valor de cuota. Importa una librería externa. Genera una consulta SQL.

¿Cuál es una característica de motores de plantillas como Thymeleaf, FreeMarker o Velocity?. Requieren obligatoriamente archivos JSP. Trabajan directamente sobre archivos HTML, XML u otros formatos. Solo funcionan con Servlets sin vistas. No permiten contenido dinámico.

¿Cuál de los siguientes es un motor de plantillas JVM distinto de JSP?. Bootstrap. Apache Tomcat. Thymeleaf. JDBC.

¿Qué permite hacer un servlet respecto al procesamiento de una petición?. Únicamente finalizar la petición. Delegar todo o parte del procesamiento a otro servlet o JSP. Ejecutar únicamente código HTML. Transferir la petición a otro servidor automáticamente.

¿Cómo se denomina el mecanismo mediante el cual un servlet destino genera solo una parte de la respuesta?. Redirect. Forward. Include. Dispatch.

¿Cuál es la etiqueta JSP equivalente a un reenvío parcial?. <jsp:forward page="recurso"/>. <jsp:redirect page="recurso"/>. <jsp:include page="recurso"/>. <jsp:import page="recurso"/>.

¿Qué caracteriza al reenvío completo (forward)?. El recurso destino genera solo una parte de la salida. El servlet original y el destino generan la respuesta conjuntamente. El servlet destinatario gestiona la salida completa. El navegador realiza una nueva petición.

¿Qué etiqueta JSP es equivalente a un reenvío completo?. <jsp:include page="recurso"/>. <jsp:forward page="recurso"/>. <jsp:forward page="recurso"/>. <jsp:param>.

¿Cuál es la principal diferencia entre include y forward?. Include crea una nueva petición HTTP y forward no. Include genera parte de la salida, mientras que forward genera la salida completa. Include solo funciona con JSP. Forward solo funciona con Servlets.

Antes de transferir el control mediante include o forward, ¿qué puede hacer el servlet original?. Cerrar la conexión HTTP. Eliminar todos los datos de la petición. Enviar información adicional al recurso destinatario. Convertir la petición en una redirección externa.

¿Mediante qué mecanismo puede enviarse información adicional al servlet o JSP destinatario?. Cookies obligatoriamente. Parámetros de URL exclusivamente. Contextos web. Archivos XML.

¿Cuál de las siguientes afirmaciones es correcta respecto al reenvío entre servlets?. Siempre implica una nueva petición del navegador. Solo puede realizarse entre JSP. Permite reutilizar procesamiento y dividir responsabilidades. El recurso destino no puede acceder a los datos de la petición.

¿Cuál de las siguientes secuencias describe correctamente un reenvío completo (forward)?. Servlet origen → añade datos al contexto → forward → servlet/JSP destino genera toda la respuesta. Servlet origen → navegador → nueva petición → JSP. JSP → forward → servlet origen → respuesta. Servlet origen → include → navegador genera la respuesta.

¿Qué objeto se utiliza para transferir una petición HTTP en curso a otro recurso dentro de una aplicación web?. HttpSession. ServletContext. RequestDispatcher. ResponseWriter.

¿Cómo se obtiene un objeto RequestDispatcher?. response.getRequestDispatcher("/ruta"). request.getRequestDispatcher("/ruta"). session.getRequestDispatcher("/ruta"). application.getRequestDispatcher("/ruta").

¿Qué método del objeto RequestDispatcher realiza una delegación parcial?. sendRedirect(). forward(). include(). dispatch().

¿Cuál es un uso típico de rd.include(request,response)?. Generar la respuesta completa de la aplicación. Crear una nueva sesión de usuario. Incluir una cabecera o un pie de página en la respuesta. Redirigir al usuario a otro servidor.

¿Con qué etiqueta JSP es equivalente el método include()?. <jsp:forward page="/path">. <jsp:include page="/path">. <jsp:param>. <jsp:useBean>.

¿Qué método realiza una delegación total de la petición?. redirect(). include(). sendError(). forward().

¿Cuál es el equivalente JSP del método rd.forward(request,response)?. <jsp:include page="/url">. <jsp:forward page="/url">. <c:import url="/url">. <jsp:setProperty>.

¿Por qué suelen almacenarse los ficheros JSP de plantillas en rutas como /WEB-INF/jsp/?. Para mejorar la velocidad de ejecución. Para ocultarlos y evitar el acceso directo desde el navegador. Para permitir que los usuarios los descarguen. Porque JSP solo funciona en esa carpeta.

En el siguiente código: request.getRequestDispatcher("/WEB-INF/jsp/aviso.jsp") .forward(request,response); ¿Qué ocurre?. Se realiza una nueva petición HTTP. El JSP genera la respuesta completa tras recibir la petición. Solo se incluye una parte de la salida. El navegador accede directamente al JSP.

¿Qué son los contextos Request, Session, Application y Page en una aplicación web?. Bases de datos temporales. Protocolos de comunicación HTTP. Arrays asociativos clave-valor para almacenar e intercambiar información entre Servlets y JSP. Tipos especiales de Servlets.

¿Qué estructura utilizan los contextos web para almacenar información?. Listas enlazadas. Arrays multidimensionales. Arrays asociativos de tipo clave-valor. Tablas SQL.

¿A qué ámbito está asociado el contexto request?. A toda la aplicación. A un único usuario durante varias sesiones. A todas las páginas y servlets que intervienen en una única petición. A todos los usuarios conectados.

¿Qué método se utiliza para almacenar información en el contexto request?. request.addData("clave", valor). request.setAttribute("clave", valor). request.put("clave", valor). request.saveAttribute("clave", valor).

¿Qué contexto permite almacenar información asociada a un cliente específico durante un tiempo determinado?. Page. Request. Session. Application.

¿Cuál es la instrucción correcta para almacenar un dato en el contexto de sesión?. request.setAttribute("clave", valor). request.getSession().setAttribute("clave", valor). session.add("clave", valor). this.getServletContext().setAttribute("clave", valor).

¿A qué ámbito pertenece el contexto application?. A una única página JSP. A una única petición HTTP. A todas las páginas y peticiones de la aplicación. A una única sesión de usuario.

¿Qué método permite almacenar información en el contexto application?. this.getServletContext().setAttribute("clave", valor). request.setAttribute("clave", valor). request.getSession().setAttribute("clave", valor). application.save("clave", valor).

En el siguiente código: request.setAttribute("usuario", usuario); ¿Qué acción se está realizando?. Guardar el usuario en toda la aplicación. Guardar el usuario en la sesión del cliente. Enviar el objeto usuario al contexto request. Insertar el usuario en la base de datos.

¿Por qué se almacena el objeto usuario en el contexto request antes de realizar un forward a un JSP?. Para que el JSP pueda recuperar y mostrar sus datos. Para crear una nueva sesión. Para persistirlo en la aplicación. Para enviarlo al navegador mediante cookies.

¿Cuál es la secuencia correcta?. JSP → Servlet → Request → Usuario. Obtener usuario → Guardarlo en request → Forward al JSP → Mostrar datos. Crear sesión → Guardar usuario → Redirección externa. Guardar usuario en application → Cerrar petición.

¿Cuál es la finalidad principal de Expression Language (EL) en aplicaciones web Java?. Compilar código Java. Acceder a información de la aplicación web desde páginas web. Gestionar conexiones con bases de datos. Crear Servlets automáticamente.

¿Cuál es la sintaxis correcta para acceder al valor de una variable mediante EL?. <%=variable%>. ${variable}. <%variable%>. #{variable}.

¿Qué permite hacer una expresión como ${cantidad*1.28}?. Declarar una variable. Realizar una operación matemática. Crear una sesión de usuario. Importar una librería.

¿Cómo se accede al segundo elemento de un vector o lista mediante EL?. ${ciudades(1)}. ${ciudades.1}. ${ciudades[1]}. ${ciudades->1}.

¿Cuál es la sintaxis correcta para acceder a un valor de un mapa asociativo mediante una clave?. ${vector['clave']}. ${vector(clave)}. ${vector.clave()}. ${vector->clave}.

¿Qué expresión permite invocar un método de un objeto?. ${usuario.nombre}. ${usuario.getNombre()}. ${usuario->getNombre()}. ${getNombre(usuario)}.

¿Qué expresión accede a una propiedad de un objeto?. ${objeto.propiedad}. ${objeto:propiedad}. ${objeto->propiedad}. ${propiedad.objeto}.

¿Puede EL acceder directamente a variables definidas dentro de scriptlets <% ... %>?. Sí, siempre. Sí, pero solo en JSP. No; para ello debe utilizarse <%=variable%>. Solo si se almacenan en una sesión.

¿Qué ocurre si EL intenta acceder a un atributo que no existe o cuyo valor es null?. Se produce una excepción obligatoriamente. Se muestra el texto "null". Equivale a una cadena vacía sin generar errores. Se reinicia la sesión.

¿Qué significa que EL realiza conversión implícita de tipos?. Convierte automáticamente objetos en bases de datos. Convierte automáticamente valores numéricos en cadenas cuando es necesario. Convierte HTML en Java. Convierte sesiones en peticiones.

¿Qué objeto implícito de EL permite acceder a toda la información de contexto de la página?. requestScope. pageContext. applicationScope. param.

¿Qué expresión suele utilizarse para obtener la ruta base de la aplicación web?. ${requestScope.contextPath}. ${pageContext.request.contextPath}. ${applicationScope.contextPath}. ${param.contextPath}.

¿Qué objeto implícito contiene el valor de los parámetros recibidos en una petición HTTP?. header. cookie. param. initParam.

¿Cuál es la diferencia principal entre param y paramValues?. paramValues solo funciona con cookies. param devuelve un único valor y paramValues devuelve un array de valores. param es para sesiones y paramValues para peticiones. No existe ninguna diferencia.

¿Qué objeto implícito proporciona acceso a los encabezados HTTP de la petición?. header. param. cookie. pageContext.

¿Qué objeto es equivalente a paramValues, pero aplicado a los encabezados HTTP?. requestScope. initParam. headerValues. cookie.

¿Qué objeto implícito permite acceder a las cookies enviadas por el navegador?. param. header. cookie. pageScope.

¿Qué objeto implícito proporciona acceso a los parámetros de inicialización definidos, por ejemplo, en web.xml?. initParam. applicationScope. header. paramValues.

¿Cuál de los siguientes objetos implícitos está relacionado con el almacenamiento de información en el contexto de una petición HTTP?. requestScope. cookie. headerValues. initParam.

Cuando se utiliza simplemente ${variable}, ¿cómo busca EL dicha variable?. Solo en requestScope. Solo en sessionScope. Solo en applicationScope. La busca automáticamente en los distintos contextos siguiendo un orden predefinido.

¿Cuál es la definición original de un JavaBean?. Un servlet especializado en acceso a bases de datos. Un componente software reutilizable que puede ser manipulado visualmente desde un IDE. Una biblioteca para crear interfaces gráficas. Un archivo XML de configuración.

¿Cuál es una de las principales utilidades de los JavaBeans en aplicaciones web?. Sustituir completamente a los Servlets. Intercambiar información entre distintas partes de la aplicación mediante contextos. Generar automáticamente código HTML. Gestionar conexiones de red.

¿Qué papel suelen desempeñar los JavaBeans dentro del patrón MVC?. Controlador. Vista. Modelo. Servidor web.

¿Qué ventaja ofrecen los JavaBeans respecto al uso de scriptlets en JSP?. Permiten acceder a objetos sin utilizar código Java embebido. Eliminan la necesidad de HTML. Sustituyen a Expression Language. Obligan a usar Servlets.

¿Cómo se accede a una propiedad de un JavaBean mediante Expression Language?. ${bean->propiedad}. ${bean[propiedad]}. ${bean.propiedad}. ${bean.get(propiedad)}.

¿Qué relación existe entre los JavaBeans y los formularios web?. Los formularios pueden asociar automáticamente parámetros a propiedades del bean. Los formularios sustituyen a los beans. Los beans solo pueden utilizarse sin formularios. Los formularios convierten los beans en Servlets.

¿Cuál de los siguientes requisitos debe cumplir un JavaBean?. Tener todos sus atributos públicos. Disponer de un constructor por defecto. Heredar de HttpServlet. Implementar obligatoriamente varias interfaces.

¿Cómo deben declararse normalmente los atributos de un JavaBean?. Públicos. Protegidos. Privados y accesibles mediante métodos get/set. Estáticos.

¿Qué métodos suelen proporcionar acceso a los atributos de un JavaBean?. add() y remove(). open() y close(). get()/is() y set(). start() y stop().

¿Qué afirmación es correcta respecto a la implementación de un JavaBean?. Debe ser siempre un Servlet. Es una clase normal (POJO) que cumple ciertos requisitos específicos. Debe estar definida en un archivo JSP. No puede pertenecer a un paquete.

¿Cuál es la finalidad principal de las propiedades en un JavaBean?. Generar código HTML automáticamente. Acceder de forma controlada al estado (atributos) del bean. Crear sesiones de usuario. Sustituir a los constructores.

¿Qué mecanismo utilizan los JavaBeans para definir sus propiedades?. Variables públicas. Métodos get/is y set. Archivos XML. Interfaces gráficas.

¿Qué método debe existir para que una propiedad pueda leerse?. setPropiedad(). readPropiedad(). getPropiedad(). loadPropiedad().

¿Qué prefijo puede utilizarse en lugar de get para propiedades de tipo booleano?. bool. check. has. is.

¿Qué método debe definirse para permitir modificar una propiedad?. updatePropiedad(). changePropiedad(). setPropiedad(). putPropiedad().

Si un bean tiene el método getNombre(), ¿cuál es el identificador de la propiedad?. getNombre. Nombre. nombre. propertyNombre.

¿Cuál de los siguientes pares de métodos define correctamente una propiedad llamada "edad"?. leerEdad() y escribirEdad(). getEdad() y setEdad(). edad() y edad(int). isEdad() y putEdad().

¿Qué ocurre si un bean define únicamente un método getPropiedad() pero no setPropiedad()?. La propiedad puede leerse, pero no modificarse. La propiedad puede modificarse, pero no leerse. La propiedad desaparece. Se produce un error de compilación.

¿Qué ocurre si un bean define únicamente un método setPropiedad() pero no getPropiedad()?. La propiedad será de solo lectura. La propiedad podrá modificarse, pero no leerse. La propiedad será pública automáticamente. No se considerará una propiedad.

¿Cómo debe comenzar normalmente el identificador de una propiedad?. Con letra mayúscula. Con un número. Con letra minúscula (salvo casos especiales de siglas). Con el prefijo "prop".

¿Cuál es la función principal de los contextos en aplicaciones web Java?. Almacenar consultas SQL. Intercambiar y almacenar información entre Servlets y JSP. Generar código HTML. Gestionar conexiones TCP.

¿A qué está asociado el contexto page?. A toda la aplicación. A una única sesión de usuario. A una petición HTTP sobre un JSP y desaparece al salir de la página. A todas las peticiones del servidor.

¿Qué método se utiliza en JSP para almacenar información en el contexto page?. page.setAttribute(). pageContext.setAttribute(). request.setAttribute(). application.setAttribute().

¿Qué expresión EL permite acceder a una variable almacenada en el contexto page?. ${requestScope.clave}. ${sessionScope.clave}. ${pageScope.clave}. ${applicationScope.clave}.

¿Qué contexto comparten todas las páginas y servlets que participan en una misma petición HTTP?. Session. Application. Page. Request.

¿Cuál es la forma correcta de almacenar un atributo en el contexto request?. request.setAttribute("clave", valor). session.setAttribute("clave", valor). pageContext.setAttribute("clave", valor). application.setAttribute("clave", valor).

¿Qué contexto mantiene información entre distintas peticiones realizadas por un mismo usuario?. Request. Page. Session. Application.

¿Cuál es la expresión EL adecuada para acceder a una variable almacenada en la sesión?. ${requestScope.usuario}. ${pageScope.usuario}. ${sessionScope.usuario}. ${applicationScope.usuario}.

¿Qué contexto es compartido por todas las páginas, peticiones y usuarios de la aplicación?. Page. Request. Session. Application.

¿Qué ocurre en EL cuando se utiliza una expresión como ${clave} sin especificar el ámbito?. Solo busca en requestScope. Solo busca en sessionScope. Busca automáticamente desde page hasta application siguiendo ese orden. Genera un error de compilación.

¿Cuál es el objetivo principal de las etiquetas personalizadas en JSP?. Sustituir completamente a los Servlets. Reutilizar contenidos y facilitar tareas habituales. Gestionar bases de datos. Compilar código Java.

¿Qué ventajas aportan las etiquetas personalizadas JSP?. Obligan a utilizar más código Java. Eliminan el uso de HTML. Evitan mezclar Java con HTML, favorecen la modularidad y la reutilización. Sustituyen a las bibliotecas JSTL.

¿Cómo se diferencian las etiquetas personalizadas de las etiquetas HTML estándar?. Utilizan siempre nombres en mayúsculas. Utilizan un prefijo o espacio de nombres. Deben escribirse entre símbolos %. Solo pueden usarse en XML.

¿Cuál de las siguientes sintaxis corresponde a una etiqueta personalizada con apertura y cierre?. <tag />. <prefijo:tag />. <prefijo:tag></prefijo:tag>. ${prefijo:tag}.

¿Para qué sirve la directiva taglib en JSP?. Para crear una sesión de usuario. Para indicar dónde se encuentra una biblioteca de etiquetas y qué prefijo utilizará. Para importar clases Java. Para configurar la base de datos.

En la directiva: <%@taglib uri="jakarta.tags.core" prefix="c"%> ¿Qué representa el valor "c"?. El nombre del archivo JSP. El identificador de la aplicación. El prefijo utilizado para las etiquetas de la biblioteca. El nombre del servlet.

¿Qué extensión suelen tener los archivos que definen etiquetas personalizadas básicas?. .jsp. .java. .tag. .xml.

¿Qué directiva se utiliza para declarar atributos en una etiqueta personalizada?. <%@page %>. <%@include %>. <%@attribute %>. <%@bean %>.

¿Dónde suelen agruparse las etiquetas personalizadas de una aplicación web?. Exclusivamente en la carpeta raíz. En directorios como /WEB-INF/tag o en archivos .jar. Dentro de la base de datos. En el navegador del cliente.

En el siguiente ejemplo: <club:footer message="Club de Tenis" /> ¿Qué representa club?. El nombre de la aplicación. El atributo obligatorio. El espacio de nombres o prefijo asociado a una biblioteca de etiquetas. El nombre del archivo JSP.

¿Qué es JSTL (JSP Standard Tag Library)?. Un servidor de aplicaciones Java. Una recopilación de etiquetas de uso habitual para JSP. Un compilador de Servlets. Un motor de bases de datos.

¿Cuál es una de las principales ventajas de JSTL?. Obliga a escribir más código Java. Sustituye completamente a JSP. Facilita tareas comunes mediante etiquetas predefinidas. Elimina la necesidad de HTML.

¿Qué ocurre con JSTL en Jakarta EE 10?. Ha sido eliminada de la plataforma. Es un módulo integrado en la especificación. Solo funciona mediante bibliotecas externas. Ha sido sustituida por Servlets.

¿Qué suele ser necesario hacer para utilizar JSTL en Apache Tomcat?. Instalar una base de datos adicional. Añadir explícitamente la biblioteca JSTL al proyecto. Crear un Servlet especial. Modificar el navegador del cliente.

¿Qué función tiene la directiva taglib en relación con JSTL?. Crear etiquetas nuevas automáticamente. Indicar qué biblioteca de etiquetas se utilizará en la página. Configurar la sesión HTTP. Importar clases Java.

En la directiva: <%@ taglib prefix="c" uri="jakarta.tags.core" %> ¿Qué representa el prefijo c?. El nombre del servidor. La biblioteca básica (core) de JSTL. Una cookie de sesión. Un contexto de aplicación.

¿Por qué se utilizan prefijos distintos para las bibliotecas JSTL?. Para mejorar la velocidad de ejecución. Para evitar conflictos entre distintas bibliotecas de etiquetas. Para crear sesiones independientes. Porque JSP obliga a usar varios prefijos.

¿Qué prefijo se utiliza habitualmente para las etiquetas de formato e internacionalización?. c. fn. fmt. jsp.

¿Qué biblioteca JSTL suele identificarse con el prefijo fn?. Biblioteca de funciones. Biblioteca de formularios. Biblioteca de sesiones. Biblioteca de navegación.

¿Cuál de las siguientes directivas selecciona correctamente la biblioteca de funciones de JSTL?. <%@ taglib prefix="fn" uri="jakarta.tags.functions" %>. <%@ taglib prefix="fn" uri="jakarta.tags.core" %>. <%@ taglib prefix="functions" uri="jakarta.tags.fmt" %>. <%@ taglib prefix="c" uri="jakarta.tags.functions" %>.

¿Qué módulo de JSTL utiliza el prefijo c?. Functions. XML. Core. Database.

¿Cuál de las siguientes funcionalidades pertenece al módulo Core de JSTL?. Formato de fechas. Gestión de variables en contextos y control de flujo. Manipulación de XML. Conexiones JDBC.

¿Qué módulo JSTL se utiliza para el formato de fechas, números e internacionalización?. fn. sql. fmt. x.

¿Qué módulo JSTL incluye funciones para obtener el tamaño de colecciones y manipular cadenas?. fmt. c. fn. x.

¿Qué módulo JSTL permite realizar operaciones JDBC y manipular resultados de consultas?. x. sql. c. fmt.

¿Qué recomendación se hace sobre el módulo sql?. Debe utilizarse siempre para acceder a bases de datos. Es preferible no incluir la lógica de acceso a BD en archivos JSP. Solo funciona con Oracle. Sustituye a los Servlets.

¿Qué etiqueta JSTL permite definir una variable explícitamente?. <c:out>. <c:set>. <fmt:set>. <fn:set>.

¿Cómo pueden accederse las variables almacenadas en contextos?. Solo mediante scriptlets. Únicamente mediante JDBC. Utilizando Expression Language (EL). Solo mediante cookies.

¿Qué ocurre con las variables declaradas dentro de scriptlets (<% ... %>)?. Son visibles automáticamente desde EL. Deben pasarse a través de un contexto para ser accesibles. Se almacenan automáticamente en sessionScope. Son accesibles mediante ${variable} sin ninguna acción adicional.

¿Cuál es la principal ventaja del atributo escapeXml="true" en la etiqueta <c:out>?. Convierte números en texto. Permite acceder a variables de sesión. Evita la inyección de código HTML o JavaScript. Mejora el rendimiento de las consultas SQL.

¿Qué etiqueta JSTL se utiliza para mostrar contenido únicamente cuando se cumple una condición?. <c:forEach>. <c:if>. <c:choose>. <c:out>.

¿Qué atributo utiliza la etiqueta <c:if> para evaluar una condición?. value. condition. test. check.

¿Qué etiqueta JSTL permite implementar una estructura similar a un switch en Java?. <c:if>. <c:set>. <c:choose>. <c:forEach>.

¿Qué etiqueta se utiliza dentro de <c:choose> para definir cada condición posible?. <c:case>. <c:if>. <c:when>. <c:test>.

¿Cuál es la función de la etiqueta <c:otherwise>?. Repetir una iteración. Definir el caso por defecto cuando ninguna condición se cumple. Crear una variable. Finalizar la ejecución del JSP.

¿Para qué deben utilizarse principalmente las etiquetas condicionales JSTL?. Implementar toda la lógica de negocio. Gestionar bases de datos. Visualización condicional de contenidos. Crear sesiones de usuario.

¿Qué recomendación se hace respecto a la lógica de control de la aplicación?. Debe residir en el JSP. Debe implementarse exclusivamente con JSTL. No debe residir en la vista (JSP). Debe almacenarse en variables de sesión.

¿Qué etiqueta JSTL se utiliza para realizar iteraciones?. <c:iterate>. <c:loop>. <c:forEach>. <c:repeat>.

¿Cuál de los siguientes tipos de datos puede recorrerse mediante <c:forEach items="...">?. Solo arrays. Solo listas (List). Solo mapas (Map). Arrays, colecciones, iteradores, enumeraciones y cadenas separadas por comas.

¿Qué información proporciona el objeto definido mediante el atributo varStatus en <c:forEach>?. Únicamente el número total de elementos. Propiedades como first, last, count e index. Solo el elemento actual. El tipo de colección recorrida.

¿Qué etiqueta JSTL permite importar un recurso interno o externo?. <c:url>. <c:redirect>. <c:import>. <fmt:bundle>.

¿Cuál es una ventaja de <c:import> frente a <jsp:include>?. Solo funciona con recursos internos. Puede importar recursos externos e internos. Genera automáticamente URLs absolutas. Solo funciona con JSTL Functions.

¿Qué atributos pueden utilizarse en <c:import> para almacenar el resultado importado?. name y value. id y context. var y scope. param y locale.

¿Qué etiqueta JSTL se utiliza para realizar una redirección web?. <c:url>. <jsp:forward>. <c:redirect>. <fmt:setLocale>.

¿Cuál es la función principal de la etiqueta <c:url>?. Formatear una URL. Generar una URL absoluta o codificada para la aplicación. Importar recursos externos. Redirigir peticiones.

¿Qué añade automáticamente <c:url> cuando el navegador no acepta cookies y la URL es relativa a la aplicación?. El nombre del servidor. El identificador JSESSIONID. El idioma del usuario. El puerto del servidor.

¿Qué etiqueta puede utilizarse dentro de <c:url> o <c:redirect> para añadir parámetros al query string?. <c:set>. <fmt:param>. <c:param>. <c:query>.

¿Qué etiqueta de formato permite transformar una cadena que representa un número, moneda o porcentaje en un valor numérico?. <fmt:formatNumber>. <fmt:parseNumber>. <fmt:formatDate>. <fmt:message>.

¿Qué etiqueta JSTL permite mostrar el mensaje asociado a un identificador de un fichero de recursos?. <fmt:setBundle>. <fmt:bundle>. <fmt:message>. <fmt:setLocale>.

¿Qué etiqueta se utiliza para establecer el idioma o configuración regional que determinará qué fichero de traducción utilizar?. <fmt:setLocale>. <fmt:requestEncoding>. <fmt:formatDate>. <fmt:bundle>.

¿Qué función JSTL permite comprobar si una cadena contiene una subcadena?. fn:indexOf. fn:contains. fn:replace. fn:substring.

¿Qué función realiza la misma comprobación que fn:contains, pero sin distinguir entre mayúsculas y minúsculas?. fn:startsWith. fn:containsIgnoreCase. fn:toLowerCase. fn:trim.

¿Qué funciones permiten comprobar si una cadena comienza o termina por una determinada subcadena?. fn:split y fn:join. fn:substringBefore y fn:substringAfter. fn:startsWith y fn:endsWith. fn:length y fn:indexOf.

¿Cuál es la finalidad de fn:escapeXml?. Convertir una cadena en XML. Eliminar etiquetas HTML. Escapar caracteres que podrían interpretarse como etiquetas XML o HTML. Validar documentos XML.

¿Qué devuelve la función fn:indexOf?. El número de palabras de una cadena. La posición donde comienza una subcadena dentro de una cadena. La longitud de una subcadena. El número de ocurrencias de una palabra.

¿Qué función convierte una cadena en un array de cadenas utilizando un separador?. fn:join. fn:replace. fn:split. fn:length.

¿Qué función realiza la operación inversa de fn:split?. fn:substring. fn:join. fn:replace. fn:indexOf.

¿Qué devuelve la función fn:length?. Solo la longitud de una cadena. Solo el número de elementos de una colección. La longitud de una cadena o el número de elementos de una colección. El tamaño en bytes de un objeto.

¿Cuál es la función adecuada para reemplazar todas las apariciones de una subcadena por otra?. fn:replace. fn:split. fn:contains. fn:trim.

¿Qué función elimina los espacios en blanco al principio y al final de una cadena?. fn:toLowerCase. fn:substring. fn:trim. fn:escapeXml.

Denunciar Test