Taglibs 

1. En la aplicación apptags se tiene el formulario form.html, que simula una inscripción para participar en un concurso. El supuesto concursante debe dar sus datos (nombre, dirección y email), y datos de su acompañante (nombre, y relación entre ambos, a elegir de una lista de opciones). Se pide completar la página param.jsp para que:

Ejercicio Final de JSP

Como ejercicio final de JSP vamos a realizar un concurso online, con preguntas al estilo Trivial, dentro de la aplicación concurso. Para ello necesitaremos:

Clases Java

Además, deberemos añadir los métodos getXXX() y setXXX() para cada campo de la clase.

Ficheros JSP

Por otra parte, la aplicación tendrá las siguientes páginas JSP:

Valorar el ámbito que debe tener dicho bean para que sólo lo pueda ver el usuario que entra, mientras esté utilizando la aplicación. Después, redirigirá a concurso.jsp.

Consideraciones sobre la implementación

NOTA: observad cómo, aparte de las opciones a contestar en la pregunta, se incluye un campo oculto con la respuesta correcta. Luego, desde result.jsp, basta comparar la respuesta que ha dado el usuario con dicho campo, e incrementar los aciertos o los fallos.

Después, se redirigirá al fichero que se quiera desde la página concurso.jsp, con algo como:

...
<% response.sendRedirect("preguntas/pregunta_i.jsp"); %>
...

Podemos utilizar la clase java.util.Random:

...
<% 
java.util.Random r = new java.util.Random();
int num = r.nextInt(NUM_PREGUNTAS);
%>
...

que devolvería un número entre 0 y NUM_PREGUNTAS -1. Luego al hacer el redirect, podemos colocar dicha variable como sufijo del fichero al que redireccionar.

Pero debemos tener en cuenta que todo bean se guarda como un campo más del servlet, con lo que podremos hacer:

...
<jsp:setProperty name="usuario" property="aciertos" 
 value="<%=usuario.getAciertos() + 1" />
...

(OPTATIVO)

Se proponen los siguientes elementos optativos sobre la aplicación: