Aplicación de prueba en línea: Revisión de prueba



En esta publicación, hemos agregado la funcionalidad de revisión de cuestionarios a nuestra Aplicación de cuestionarios en línea. El usuario puede ver las respuestas correctas para todas las preguntas del cuestionario.

Esta es la tercera publicación de la serie de creación de una aplicación de prueba en línea utilizando JSP Servlet.

Si no ha leído las publicaciones anteriores, revíselo, ya que le resultará más fácil seguir esta publicación y comprenderla por completo.





Parte 1 -

Parte 2 - Aplicación de prueba: implementación del temporizador de cuenta regresiva



En esta publicación vamos a agregar las siguientes funcionalidades a nuestra aplicación de prueba

1. Dar al usuario la opción de revisar sus respuestas al terminar el cuestionario.

¿Qué es la contratación en la gestión de proyectos?

2. Marcar las respuestas del usuario como correctas o incorrectas



3. Marcar las preguntas sin respuesta como sin respuesta

A continuación se muestra la instantánea de la página de resultados de la prueba creada.

Página de resultados de la prueba

¿Qué más necesitamos para que funcione la función de revisión?

El usuario puede terminar el cuestionario en cualquier momento, al finalizar el cuestionario, tendrá la opción de revisar sus respuestas. Si el usuario no responde una pregunta y la omite haciendo clic en el botón siguiente, esa pregunta se mostrará como sin respuesta en la página de revisión del examen.

Para proporcionar al usuario el resumen del cuestionario, todo lo que tenemos que hacer es guardar las respuestas del usuario y cuando termine el cuestionario compararlo con la respuesta real de la pregunta.

Si la respuesta del usuario coincide con la respuesta correcta de la pregunta, mostramos el símbolo correcto de lo contrario símbolo de cruz (x).

Aplicación de prueba en línea

Agregaremos un nuevo controlador llamado ReviewController, que extraerá todos los datos y los enviará a una página JSP para mostrarlos.

Nota: Estamos obteniendo preguntas del archivo XML cuando el usuario hace clic en el botón anterior o siguiente.

Suponga que un usuario inicia una prueba e intenta solo una pregunta y luego hace clic en el botón Finalizar.

código de lista enlazada en c

Ahora, en la página de revisión del cuestionario tenemos que mostrar todas las preguntas con sus opciones y la respuesta del usuario, sea correcta o no. Dado que en este escenario el usuario no completa todo el cuestionario, el resto de las 9 preguntas se mostrarán sin respuesta.

Por lo tanto, cuando el usuario hace clic en Revisar prueba para ver sus respuestas junto con la respuesta correcta para esa pregunta, tenemos que buscar todas las preguntas del archivo XML y su respuesta correcta.

Estructura del proyecto en Eclipse IDE

Nota: Acabamos de incluir un nuevo controlador ReviewController.

ReviewController.java

@WebServlet ('/ exam / review') public class ReviewController extiende HttpServlet {private static final long serialVersionUID = 1L / ** * @see HttpServlet # HttpServlet () * / public ReviewController () {super () // TODO Autogenerado constructor stub} / ** * @see HttpServlet # doGet (solicitud HttpServletRequest, respuesta HttpServletResponse) * / protected void doGet (solicitud HttpServletRequest, respuesta HttpServletResponse) arroja ServletException, IOException {// stubO Examen autogenerado método request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = new ArrayList () Documento dom = exam.getDom () para (int i = 0i

Nota: Establecí toda la información requerida en un ArrayList de QuizQuestion y establecí ese ArrayList como un atributo en el alcance de la solicitud.

ArrayList reviewQuestionList = new ArrayList () request.setAttribute ('reviewQuestions', reviewQuestionList)

En la página JSP tenemos que recuperar los valores almacenados en el atributo reviewQuestions.
He creado una página JSP llamada examReview.jsp, que mostrará el resumen de la prueba.

Mostrando QuizQuestion junto con las opciones

En la página JSP estamos usando JSTL c: forEach para iterar sobre la lista de QuizQuestion que fue establecida por ReviewController

  
$ {counter.count}. $ {question.question}

$ {counter.count}. $ {opción}

Mostrando respuesta correcta

Tenga en cuenta que en el archivo XML he almacenado opciones a partir del índice 0.

Es por eso que agregamos uno mientras mostramos la respuesta correcta al usuario, ya que es intuitivo para el usuario.

Respuesta correcta: $ {question.correctOptionIndex + 1} 

Marcar una pregunta sin respuesta

No es obligatorio que el usuario intente todas las preguntas. Puede simplemente omitirlo haciendo clic en el botón siguiente. Entonces, ¿cómo podemos saber si una pregunta fue respondida o no?

Hice un cambio en el constructor de exámenes, de modo que cuando creamos un nuevo examen, para cada pregunta también establecemos la respuesta del usuario como -1 inicialmente. Entonces, cuando el usuario inicia el cuestionario, tendremos la selección de usuario para cada pregunta, incluso si el usuario simplemente hace clic en el botón finalizar en cualquier pregunta entre el cuestionario.

Pero si el usuario realmente responde una pregunta, -1 será reemplazado por la selección del usuario para esa pregunta.

Public Exam (String test, int totalNumberOfQuestions) arroja SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (prueba) para (int i = 0i

Entonces, si el usuario no responde una pregunta y salta a la siguiente pregunta o simplemente hace clic en el botón finalizar, la respuesta inicial de -1 estará allí. En la página JSP podemos comparar si la selección del usuario es -1 o no. Si es -1, significa que el usuario no respondió esa pregunta. Y marcaremos esa pregunta como sin respuesta.

Sin respuesta 

Mostrando la respuesta del usuario

Si el usuario realmente respondió una pregunta, la respuesta inicial de -1 se reemplazará con la respuesta del usuario y se reemplazará con 1, 2, 3 o 4, ya que tenemos 4 opciones para cada pregunta.

Elegiste: $ {question.userSelected} 

Estamos haciendo una prueba c: if para asegurarnos de que el usuario realmente respondió una pregunta y luego mostrar la respuesta del usuario.

Marcar una respuesta como correcta

Si la selección del usuario y la respuesta correcta para la pregunta coinciden, mostramos una imagen con una marca correcta.

   

Marcar una respuesta como incorrecta

Una c simple: si se hace una prueba para comparar la respuesta del usuario con la opción correcta de la pregunta. Si ambos no son iguales, significa que el usuario respondió la pregunta incorrectamente y mostramos una imagen con una cruz.

   

Haga clic en el botón de descarga para descargar el código.

variable de instancia en el ejemplo de java

[buttonleads form_title = ”Código de descarga” redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = ”Código de descarga”]

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios y nos pondremos en contacto con usted.

Artículos Relacionados: