Online-Quizanwendung: Quizüberprüfung

In diesem Beitrag haben wir unserer Online-Quizanwendung die Funktion zur Quizüberprüfung hinzugefügt. Der Benutzer kann die richtigen Antworten auf alle Quizfragen sehen.

Dies ist der dritte Beitrag in der Reihe zum Erstellen einer Online-Quizanwendung mit JSP Servlet.

Wenn Sie die vorherigen Beiträge noch nicht gelesen haben, lesen Sie sie bitte durch, da Sie dadurch leichter diesem Beitrag folgen und ihn vollständig verstehen können.





Teil 1 -

Teil 2 - Quizanwendung - Implementierung des Countdown-Timers



In diesem Beitrag werden wir unserer Quizanwendung die folgenden Funktionen hinzufügen

1. Geben Sie dem Benutzer die Möglichkeit, seine Antworten nach Abschluss des Quiz zu überprüfen

sortiere Array Array c ++

2. Markieren Sie die Antworten des Benutzers als richtig oder falsch



3. Markieren Sie die unbeantworteten Fragen als unbeantwortet

Unten sehen Sie den Schnappschuss der erstellten Quizergebnisseite.

Quiz-Ergebnisseite

Was benötigen wir noch, damit die Überprüfungsfunktion funktioniert?

Der Benutzer kann das Quiz jederzeit beenden. Nach Abschluss des Quiz hat er die Möglichkeit, seine Antworten zu überprüfen. Wenn der Benutzer eine Frage nicht beantwortet und sie überspringt, indem er auf die Schaltfläche Weiter klickt, wird diese Frage auf der Seite zur Überprüfung der Prüfung als unbeantwortet angezeigt.

Um dem Benutzer die Zusammenfassung des Quiz bereitzustellen, müssen wir lediglich die Benutzerantworten speichern und nach Abschluss des Quiz mit der tatsächlichen Antwort auf die Frage vergleichen.

Wenn die Antwort des Benutzers mit der richtigen Antwort auf die Frage übereinstimmt, wird das richtige Symbol angezeigt, andernfalls das Kreuz (x).

Online-Quiz-Anwendung

Wir werden einen neuen Controller namens ReviewController hinzufügen, der alle Daten extrahiert und zur Anzeige an eine JSP-Seite sendet.

Hinweis: Wir rufen Fragen aus der XML-Datei ab, wenn der Benutzer auf die nächste oder vorherige Schaltfläche klickt.

Angenommen, ein Benutzer startet ein Quiz, versucht nur eine Frage und klickt dann auf die Schaltfläche Fertig stellen.

Wie erstelle ich eine Datei in Java?

Jetzt müssen wir auf der Quiz-Überprüfungsseite alle Fragen mit ihren Optionen und der Antwort des Benutzers anzeigen, ob sie korrekt waren oder nicht. Da der Benutzer in diesem Szenario nicht das gesamte Quiz abschließt, werden die restlichen 9 Fragen als unbeantwortet angezeigt.

Wenn der Benutzer auf Überprüfungsquiz klickt, um seine Antworten zusammen mit der richtigen Antwort auf diese Frage anzuzeigen, müssen wir alle Fragen aus der XML-Datei und ihrer korrekten Antwort abrufen.

Projektstruktur in Eclipse IDE

Hinweis: Wir haben gerade einen neuen Controller ReviewController hinzugefügt.

ReviewController.java

@WebServlet ('/ exam / review') öffentliche Klasse ReviewController erweitert HttpServlet {private static final long serialVersionUID = 1L / ** * @see HttpServlet # HttpServlet () * / public ReviewController () {super () // TODO Automatisch generiert Konstruktor-Stub} / ** * @see HttpServlet # doGet (HttpServletRequest-Anforderung, HttpServletResponse-Antwort) * / protected void doGet (HttpServletRequest-Anforderung, HttpServletResponse-Anforderung) löst ServletException, IOException aus {// TODO Automatisch generierte Methode request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = new ArrayList () Dokument dom = exam.getDom () für (int i = 0i

Hinweis: Ich habe alle erforderlichen Informationen in einer ArrayList von QuizQuestion festgelegt und diese ArrayList als Attribut im Anforderungsbereich festgelegt.

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

Auf der JSP-Seite müssen wir nur die im Attribut reviewQuestions gespeicherten Werte abrufen.
Ich habe eine JSP-Seite namens examReview.jsp erstellt, auf der die Quizzusammenfassung angezeigt wird.

QuizQuestion zusammen mit Optionen anzeigen

Auf der JSP-Seite verwenden wir JSTL c: forEach, um die von ReviewController festgelegte Liste von QuizQuestion zu durchlaufen

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

$ {counter.count}. $ {Option}

Richtige Antwort anzeigen

Beachten Sie, dass ich in einer XML-Datei Optionen ab Index 0 gespeichert habe.

Aus diesem Grund haben wir eine hinzugefügt, während wir dem Benutzer die richtige Antwort angezeigt haben, da dies für den Benutzer intuitiv ist.

Richtige Antwort: $ {question.correctOptionIndex + 1} 

Eine unbeantwortete Frage markieren

Der Benutzer muss nicht alle Fragen beantworten. Er kann es einfach überspringen, indem er auf die nächste Schaltfläche klickt. Wie finden wir heraus, ob eine Frage beantwortet wurde oder nicht?

Ich habe eine Änderung im Prüfungskonstruktor vorgenommen, sodass wir beim Erstellen einer neuen Prüfung für jede Frage zunächst auch die Antwort des Benutzers auf -1 setzen. Wenn der Benutzer das Quiz startet, haben wir die Benutzerauswahl für jede Frage, auch wenn der Benutzer bei einer Frage zwischen dem Quiz nur auf die Schaltfläche 'Fertig stellen' klickt.

Wenn der Benutzer jedoch tatsächlich eine Frage beantwortet, wird -1 durch die Auswahl des Benutzers für diese Frage ersetzt.

public Exam (String test, int totalNumberOfQuestions) löst SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (test) für (int i = 0i) aus

Wenn der Benutzer eine Frage nicht beantwortet und zur nächsten Frage springt oder einfach auf die Schaltfläche 'Fertig stellen' klickt, wird die erste Antwort von -1 angezeigt. Auf der JSP-Seite können wir vergleichen, ob die Benutzerauswahl -1 ist oder nicht. Wenn es -1 ist, bedeutet dies, dass der Benutzer diese Frage nicht beantwortet hat. Und wir werden diese Frage als unbeantwortet markieren.

Unbeantwortet 

Benutzeraktion anzeigen

Wenn der Benutzer tatsächlich eine Frage beantwortet hat, wird die anfängliche Antwort von -1 durch die Antwort des Benutzers ersetzt und durch 1,2,3 oder 4 ersetzt, da wir für jede Frage 4 Optionen haben.

Sie haben gewählt: $ {question.userSelected} 

Wir führen einen c: if-Test durch, um sicherzustellen, dass der Benutzer tatsächlich eine Frage beantwortet hat, und zeigen dann die Antwort des Benutzers an.

Markieren einer Antwort als richtig

Wenn die Auswahl des Benutzers und die richtige Antwort auf die Frage übereinstimmen, wird ein Bild mit einer korrekten Markierung angezeigt.

   

Markieren einer Antwort als falsch

Ein einfaches c: Wenn ein Test durchgeführt wird, um die Antwort des Benutzers mit der richtigen Option der Frage zu vergleichen. Wenn beide nicht gleich sind, bedeutet dies, dass der Benutzer die Frage falsch beantwortet hat und wir ein Bild mit einem Kreuz anzeigen.

   

Klicken Sie auf den Download-Button, um den Code herunterzuladen.

wie man eine Hashmap implementiert

[buttonleads form_title = 'Code herunterladen' redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = 'Code herunterladen']

Hast du eine Frage an uns? Bitte erwähnen Sie es in den Kommentaren und wir werden uns bei Ihnen melden.

Zusammenhängende Posts: