Application de quiz en ligne: examen de quiz



Dans cet article, nous avons ajouté la fonctionnalité de révision de quiz à notre application de quiz en ligne. L'utilisateur peut voir les réponses correctes pour toutes les questions du quiz.

Ceci est le troisième article de la série de création d'une application de quiz en ligne à l'aide de JSP Servlet.

Si vous n'avez pas lu les messages précédents, veuillez les parcourir, car cela vous permettra de suivre plus facilement ce message et de le comprendre complètement.





Partie 1 -

Partie 2 - Application Quiz - Implémentation du compte à rebours



Dans cet article, nous allons ajouter les fonctionnalités suivantes à notre application de quiz

1. Donner à l'utilisateur la possibilité de revoir ses réponses à la fin du quiz

2. Marquer les réponses de l'utilisateur comme correctes ou incorrectes



3. Marquer les questions sans réponse comme sans réponse

Vous trouverez ci-dessous un instantané de la page de résultats du quiz créée.

est-une relation en java

Page de résultats du quiz

De quoi avons-nous besoin d'autre pour que la fonctionnalité de révision fonctionne?

L'utilisateur peut terminer le quiz à tout moment, à la fin du quiz, il aura la possibilité de revoir ses réponses. Si l'utilisateur ne répond pas à une question et l'ignore en cliquant sur le bouton suivant, cette question sera affichée comme sans réponse sur la page de révision de l'examen.

Pour fournir à l'utilisateur le résumé du quiz, tout ce que nous avons à faire est de sauvegarder les réponses de l'utilisateur et quand il a terminé le quiz, comparez-le avec la réponse réelle de la question.

Si la réponse de l’utilisateur correspond à la bonne réponse à la question, nous affichons le symbole correct sinon le symbole croix (x).

Application de quiz en ligne

Nous ajouterons un nouveau contrôleur appelé ReviewController, qui extraira toutes les données et les enverra à une page JSP pour les afficher.

Remarque: nous récupérons les questions du fichier XML lorsque l'utilisateur clique sur le bouton suivant ou précédent.

Supposons qu'un utilisateur lance un quiz et ne tente qu'une seule question, puis clique sur le bouton Terminer.

Maintenant, sur la page de révision du quiz, nous devons afficher toutes les questions avec ses options et la réponse de l'utilisateur, qu'elle soit correcte ou non. Étant donné que dans ce scénario, l'utilisateur ne remplit pas l'intégralité du quiz, le reste des 9 questions sera affiché comme sans réponse.

Ainsi, lorsque l'utilisateur clique sur Review Quiz pour voir ses réponses avec la bonne réponse à cette question, nous devons récupérer toutes les questions du fichier XML et sa bonne réponse.

Structure du projet dans l'IDE Eclipse

Remarque: nous venons d'inclure un nouveau contrôleur ReviewController.

ReviewController.java

@WebServlet ('/ exam / review') classe publique ReviewController étend HttpServlet {private static final long serialVersionUID = 1L / ** * @see HttpServlet # HttpServlet () * / public ReviewController () {super () // TODO généré automatiquement stub du constructeur} / ** * @see HttpServlet # doGet (requête HttpServletRequest, réponse HttpServletResponse) * / protected void doGet (requête HttpServletRequest, réponse HttpServletResponse) lance ServletException, IOException {// Examen TOD Examen stub généré automatiquement request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = new ArrayList () Document dom = exam.getDom () for (int i = 0i

Remarque: J'ai défini toutes les informations requises dans une ArrayList de QuizQuestion et défini cette ArrayList comme attribut dans la portée de la demande.

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

Dans la page JSP, nous devons simplement récupérer les valeurs stockées dans l'attribut reviewQuestions.
J'ai créé une page JSP appelée examReview.jsp, qui affichera le résumé du quiz.

Affichage de la question du quiz avec les options

Dans la page JSP, nous utilisons JSTL c: forEach pour parcourir la liste de QuizQuestion définie par ReviewController

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

$ {counter.count}. $ {option}

Affichage de la bonne réponse

Notez que dans le fichier XML, j'ai stocké des options à partir de l'index 0.

qu'est-ce que l'applet en java avec exemple

C'est pourquoi nous en avons ajouté une tout en affichant la bonne réponse à l'utilisateur, car elle est intuitive pour l'utilisateur.

Bonne réponse: $ {question.correctOptionIndex + 1} 

Marquer une question sans réponse

Il n’est pas obligatoire pour l’utilisateur de répondre à toutes les questions. Il peut simplement l'ignorer en cliquant sur le bouton suivant. Alors, comment savoir si une question a reçu une réponse ou non?

J'ai apporté une modification au constructeur d'examen, de sorte que lorsque nous créons un nouvel examen, pour chaque question, nous définissons également la réponse de l'utilisateur sur -1 au départ. Ainsi, lorsque l'utilisateur démarre le quiz, nous aurons la sélection de l'utilisateur pour chaque question, même si l'utilisateur clique simplement sur le bouton Terminer sur n'importe quelle question entre le quiz.

Mais si l'utilisateur répond réellement à une question, -1 sera remplacé par la sélection de l'utilisateur pour cette question.

programme java pour vérifier le palindrome
L'examen public (String test, int totalNumberOfQuestions) jette SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (test) for (int i = 0i

Donc, si l'utilisateur ne répond pas à une question et passe à la question suivante ou clique simplement sur le bouton Terminer, la réponse initiale de -1 sera là. Dans la page JSP, nous pouvons comparer si la sélection de l'utilisateur est -1 ou non. S'il vaut -1, cela signifie que l'utilisateur n'a pas répondu à cette question. Et nous marquerons cette question comme sans réponse.

Sans réponse 

Affichage de la réponse de l'utilisateur

Si l'utilisateur a réellement répondu à une question, la réponse initiale de -1 sera remplacée par la réponse de l'utilisateur et elle sera remplacée par 1, 2, 3 ou 4, car nous avons 4 options pour chaque question.

Vous avez choisi: $ {question.userSelected} 

Nous faisons un test c: if pour nous assurer que l'utilisateur a réellement répondu à une question, puis afficher la réponse de l'utilisateur.

Marquer une réponse comme correcte

Si la sélection de l'utilisateur et la bonne réponse à la question correspondent, nous affichons une image montrant une note correcte.

   

Marquer une réponse comme incorrecte

Un simple test c: if est effectué pour comparer la réponse de l'utilisateur avec l'option correcte de la question. Si les deux ne sont pas égaux, cela signifie que l'utilisateur a mal répondu à la question et que nous affichons une image montrant une croix.

   

Cliquez sur le bouton de téléchargement pour télécharger le code.

[buttonleads form_title = 'Télécharger le code' redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = 'Télécharger le code']

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires et nous vous recontacterons.

Articles Similaires: