Ηλεκτρονική εφαρμογή κουίζ: Αναθεώρηση κουίζ



Σε αυτήν την ανάρτηση έχουμε προσθέσει τη λειτουργικότητα ελέγχου κουίζ στην εφαρμογή διαδικτυακών κουίζ. Ο χρήστης μπορεί να δει τις σωστές απαντήσεις για όλες τις ερωτήσεις κουίζ.

Αυτή είναι η τρίτη ανάρτηση στη σειρά δημιουργίας μιας διαδικτυακής εφαρμογής κουίζ χρησιμοποιώντας το JSP Servlet.

Εάν δεν έχετε διαβάσει τις προηγούμενες δημοσιεύσεις, διαβάστε το, καθώς θα σας διευκολύνει να ακολουθήσετε αυτήν την ανάρτηση και να την κατανοήσετε πλήρως.





Μέρος 1 -

Μέρος 2ο - Εφαρμογή κουίζ - Εφαρμογή χρονόμετρου αντίστροφης μέτρησης



Σε αυτήν την ανάρτηση θα προσθέσουμε τις ακόλουθες λειτουργίες στην εφαρμογή κουίζ μας

1. Δίνοντας στον χρήστη τη δυνατότητα να ελέγξει τις απαντήσεις του κατά την ολοκλήρωση του κουίζ

2. Επισήμανση των απαντήσεων του χρήστη ως σωστές ή εσφαλμένες



3. Επισήμανση των ανεπιθύμητων ερωτήσεων ως αναπάντητων

Ακολουθεί το στιγμιότυπο της σελίδας αποτελεσμάτων κουίζ που δημιουργήθηκε.

Σελίδα αποτελεσμάτων κουίζ

Τι άλλο χρειαζόμαστε για να λειτουργήσει η λειτουργικότητα ελέγχου;

Ο χρήστης μπορεί να ολοκληρώσει το κουίζ ανά πάσα στιγμή, όταν τελειώσει το κουίζ, θα έχει την επιλογή να ελέγξει τις απαντήσεις του. Εάν ο χρήστης δεν απαντήσει σε μια ερώτηση και παραλείψει κάνοντας κλικ στο επόμενο κουμπί, τότε η ερώτηση θα εμφανιστεί ως αναπάντητη στη σελίδα ελέγχου των εξετάσεων.

Για να παρέχουμε στον χρήστη τη σύνοψη του κουίζ, το μόνο που πρέπει να κάνουμε είναι να αποθηκεύσουμε τις απαντήσεις του χρήστη και όταν τελειώσει το κουίζ να το συγκρίνει με την πραγματική απάντηση της ερώτησης.

Εάν η απάντηση του χρήστη ταιριάζει με τη σωστή απάντηση της ερώτησης, τότε εμφανίζουμε το σωστό σύμβολο αλλιώς σύμβολο διασταύρωσης (x).

Ηλεκτρονική εφαρμογή κουίζ

Θα προσθέσουμε έναν νέο ελεγκτή που ονομάζεται ReviewController, ο οποίος θα εξαγάγει όλα τα δεδομένα και θα τα στείλει σε μια σελίδα JSP για εμφάνιση.

Σημείωση: Λαμβάνουμε ερωτήσεις από το αρχείο XML όταν ο χρήστης κάνει κλικ στο επόμενο ή στο προηγούμενο κουμπί.

Ας υποθέσουμε ότι ένας χρήστης ξεκινά ένα κουίζ και επιχειρεί μόνο μία ερώτηση και στη συνέχεια κάνει κλικ στο κουμπί Τέλος.

Τώρα, στη σελίδα αξιολόγησης κουίζ πρέπει να δείξουμε όλες τις ερωτήσεις με τις επιλογές του και την απάντηση του χρήστη, αν ήταν σωστό ή όχι. Εφόσον σε αυτό το σενάριο ο χρήστης δεν ολοκληρώνει ολόκληρο το κουίζ, οι υπόλοιπες 9 ερωτήσεις θα εμφανίζονται ως αναπάντητες.

Έτσι, όταν ο χρήστης κάνει κλικ στο κουίζ κριτικής για να δει τις απαντήσεις του μαζί με τη σωστή απάντηση για αυτήν την ερώτηση, πρέπει να πάρουμε όλες τις ερωτήσεις από το αρχείο XML και τη σωστή απάντηση.

Δομή έργου στο Eclipse IDE

Σημείωση: Μόλις συμπεριλάβαμε έναν νέο ελεγκτή ReviewController.

ΕπανεξέτασηController.java

@WebServlet ('/ exam / review') δημόσια τάξη ReviewController επεκτείνει το HttpServlet {private static final long serialVersionUID = 1L / ** * @see HttpServlet # HttpServlet () * / public ReviewController () {super () // TODO Αυτόματη δημιουργία buildor stub} / ** * @see HttpServlet # doGet (HttpServletRequest request, HttpServletResponse response) * / protected void doGet (HttpServletRequest request, HttpServletResponse response) ρίχνει ServletException, IOException {// TODO Exam request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = new ArrayList () Έγγραφο dom = exam.getDom () για (int i = 0i

Σημείωση: Έχω ορίσει όλες τις απαιτούμενες πληροφορίες σε ένα ArrayList of QuizQuestion και έχω ορίσει αυτό το ArrayList ως χαρακτηριστικό στο πεδίο αίτησης.

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

Στη σελίδα JSP πρέπει απλώς να ανακτήσουμε τις τιμές που είναι αποθηκευμένες στο χαρακτηριστικό reviewQuestions.
Έχω δημιουργήσει μια σελίδα JSP που ονομάζεται examReview.jsp, στην οποία θα εμφανίζεται η περίληψη κουίζ.

Εμφάνιση QuizQuestion μαζί με επιλογές

Στη σελίδα JSP χρησιμοποιούμε το JSTL c: forEach για επανάληψη της λίστας QuizQuestion που ορίστηκε από το ReviewController

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

$ {counter.count}. $ {επιλογή}

Εμφάνιση σωστής απάντησης

Σημειώστε ότι στο αρχείο XML έχω αποθηκεύσει επιλογές ξεκινώντας από το ευρετήριο 0.

Αυτός είναι ο λόγος για τον οποίο προσθέσαμε μία, δείχνοντας τη σωστή απάντηση στον χρήστη, καθώς αυτό είναι διαισθητικό για τον χρήστη.

Σωστή απάντηση: $ {question.correctOptionIndex + 1} 

Επισήμανση μιας ερώτησης αναπάντητη

Δεν είναι υποχρεωτικό για τον χρήστη να επιχειρήσει όλες τις ερωτήσεις. Μπορεί να το παραλείψει κάνοντας κλικ στο επόμενο κουμπί. Πώς μπορούμε λοιπόν να μάθουμε αν μια ερώτηση απαντήθηκε ή όχι;

Έχω κάνει μια αλλαγή στον κατασκευαστή των Εξετάσεων, έτσι ώστε όταν δημιουργούμε μια νέα Εξέταση, για κάθε ερώτηση ορίζουμε επίσης την απάντηση του χρήστη ως -1 αρχικά. Έτσι, όταν ο χρήστης ξεκινά το κουίζ θα έχουμε την επιλογή χρήστη για κάθε ερώτηση, ακόμη και αν ο χρήστης κάνει απλώς κλικ στο κουμπί τερματισμού σε οποιαδήποτε ερώτηση ανάμεσα στο κουίζ.

Αλλά αν ο χρήστης απαντήσει στην πραγματικότητα σε μια ερώτηση, τότε το -1 θα αντικατασταθεί από την επιλογή του χρήστη για αυτήν την ερώτηση.

δημόσια εξέταση (δοκιμή συμβολοσειράς, int totalNumberOfQuestions) ρίχνει SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (test) για (int i = 0i

Έτσι, εάν ο χρήστης δεν απαντήσει σε μια ερώτηση και παραλείψει στην επόμενη ερώτηση ή απλώς κάνει κλικ στο κουμπί τερματισμού, η αρχική απόκριση του -1 θα είναι εκεί. Στη σελίδα JSP μπορούμε να συγκρίνουμε αν η επιλογή χρήστη είναι -1 ή όχι. Εάν είναι -1, αυτό σημαίνει ότι ο χρήστης δεν απάντησε σε αυτήν την ερώτηση. Και θα επισημάνουμε αυτήν την ερώτηση ως αναπάντητη.

επιστήμη δεδομένων τι είναι
Αναπάντητος 

Εμφάνιση απόκρισης χρήστη

Εάν ο χρήστης απάντησε πραγματικά σε μια ερώτηση, η αρχική απάντηση του -1 θα αντικατασταθεί με την απάντηση του χρήστη και θα αντικατασταθεί με 1,2,3 ή 4, καθώς έχουμε 4 επιλογές για κάθε ερώτηση.

Επιλέξατε: $ {question.userSelected} 

Κάνουμε μια δοκιμή c: if για να βεβαιωθούμε ότι ο χρήστης απάντησε πραγματικά σε μια ερώτηση και έπειτα εμφανίζει την απάντηση του χρήστη.

Επισήμανση μιας απόκρισης ως σωστή

Εάν η επιλογή του χρήστη και η σωστή απάντηση για την ερώτηση ταιριάζει, εμφανίζουμε μια εικόνα που δείχνει ένα σωστό σημάδι.

   

Επισήμανση μιας απόκρισης ως εσφαλμένη

Ένα απλό γ: εάν πραγματοποιηθεί δοκιμή για να συγκριθεί η απάντηση του χρήστη με τη σωστή επιλογή της ερώτησης. Εάν και τα δύο δεν είναι ίδια, αυτό σημαίνει ότι ο χρήστης απάντησε λανθασμένα στην ερώτηση και εμφανίζουμε μια εικόνα που δείχνει ένα σταυρό σημάδι.

   

Κάντε κλικ στο κουμπί λήψης για λήψη του κωδικού.

[buttonleads form_title = 'Λήψη κώδικα' redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = 'Λήψη κώδικα']

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων και θα επικοινωνήσουμε μαζί σας.

Σχετικές αναρτήσεις: