Cerere de test online: Revizuirea testului



În această postare am adăugat funcționalitatea de examinare a testelor la aplicația noastră de testare online Utilizatorul poate vedea răspunsurile corecte pentru toate întrebările la test.

Acesta este al treilea post din seria de creare a unei aplicații de testare online folosind JSP Servlet.

Dacă nu ați citit postările anterioare, vă rugăm să o parcurgeți, deoarece vă va fi mai ușor să urmăriți această postare și să o înțelegeți complet.





Partea 1 -

Partea 2 - Cerere de testare - Implementarea temporizatorului



În acest post vom adăuga următoarele funcționalități la aplicația noastră de test

1. Oferindu-i utilizatorului opțiunea de a-și revizui răspunsurile la finalizarea testului

2. Marcarea răspunsurilor utilizatorului ca fiind corecte sau incorecte



3. Marcarea întrebărilor neatentate ca fiind fără răspuns

Mai jos este instantaneul paginii cu rezultatele testului creată.

Pagina rezultatelor testului

Ce altceva mai avem nevoie pentru ca funcționalitatea de examinare să funcționeze?

Utilizatorul poate termina testul oricând, la terminarea testului, va avea opțiunea de a-și revizui răspunsurile. Dacă utilizatorul nu răspunde la o întrebare și o omite făcând clic pe butonul următor, acea întrebare va fi afișată ca fără răspuns pe pagina de examinare a examenului.

Pentru a oferi utilizatorului rezumatul chestionarului, tot ce trebuie să facem este să salvăm răspunsurile utilizatorului și când termină testul, îl comparăm cu răspunsul propriu-zis al întrebării.

Dacă răspunsul utilizatorului se potrivește cu răspunsul corect al întrebării, atunci afișăm simbolul corect, altceva simbolul cruce (x).

Cerere de test online

Vom adăuga un nou controler numit ReviewController, care va extrage toate datele și le va trimite la o pagină JSP pentru a le arăta.

Notă: preluăm întrebări din fișierul XML atunci când utilizatorul dă clic pe butonul următor sau anterior.

Să presupunem că un utilizator începe un test și încearcă o singură întrebare și apoi face clic pe butonul Finalizare.

Acum, pe pagina de examinare a testului, trebuie să afișăm toate întrebările cu opțiunile sale și răspunsul utilizatorului dacă a fost corect sau nu. Deoarece în acest scenariu utilizatorul nu finalizează întregul test, restul celor 9 întrebări vor fi afișate ca fără răspuns.

casandra column family vs table

Deci, atunci când utilizatorul dă clic pe Revizuirea testului pentru a vedea răspunsurile sale împreună cu răspunsul corect pentru acea întrebare, trebuie să preluăm toate întrebările din fișierul XML și răspunsul corect al acestuia.

Structura proiectului în Eclipse IDE

Notă: Tocmai am inclus un nou controler ReviewController.

ReviewController.java

@WebServlet ('/ exam / review') public class ReviewController extinde HttpServlet {private static long long serialVersionUID = 1L / ** * @vee HttpServlet # HttpServlet () * / public ReviewController () {super () // TODO Auto-generate constructor stub} / ** * @vezi HttpServlet # doGet (HttpServletRequest request, HttpServletResponse response) * / protected void doGet (HttpServletRequest request, HttpServletResponse response) aruncă ServletException, IOException {// TODO Examen auto-generat stub request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = new ArrayList () Document dom = exam.getDom () for (int i = 0i

Notă: Am setat toate informațiile necesare într-o ArrayList de QuizQuestion și am setat ArrayList ca un atribut în sfera cererii.

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

În pagina JSP trebuie să preluăm doar valorile stocate în atributul reviewQuestions.
Am creat o pagină JSP numită examReview.jsp, care va afișa rezumatul testului.

Afișarea QuizQuestion împreună cu opțiunile

În pagina JSP folosim JSTL c: forEach pentru a itera peste lista de QuizQuestion care a fost setată de ReviewController

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

$ {counter.count}. $ {option}

Se afișează răspunsul corect

Rețineți că în fișierul XML am stocat opțiuni începând de la indexul 0.

cum se implementează un hashmap

De aceea, am adăugat unul în timp ce afișăm răspunsul corect utilizatorului, deoarece acesta este intuitiv pentru utilizator.

Răspuns corect: $ {question.correctOptionIndex + 1} 

Marcarea unei întrebări fără răspuns

Utilizatorul nu este obligatoriu să încerce toate întrebările. El poate sări peste el făcând clic pe butonul următor. Deci, cum putem afla dacă a fost răspuns sau nu la o întrebare?

Am făcut o schimbare în constructorul examenului, astfel încât, atunci când creăm un nou examen, pentru fiecare întrebare să setăm și răspunsul utilizatorului ca -1 inițial. Deci, atunci când utilizatorul începe testul, vom avea selecția utilizatorului pentru fiecare întrebare, chiar dacă utilizatorul face doar clic pe butonul de finalizare pentru orice întrebare din test.

Dar dacă utilizatorul răspunde efectiv la o întrebare, atunci -1 va fi înlocuit de selecția utilizatorului pentru întrebarea respectivă.

public Exam (String test, int totalNumberOfQuestions) aruncă SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (test) pentru (int i = 0i

Deci, dacă utilizatorul nu răspunde la o întrebare și trece la următoarea întrebare sau doar face clic pe butonul de finalizare, răspunsul inițial de -1 va fi acolo. În pagina JSP putem compara dacă selecția utilizatorului este -1 sau nu. Dacă este -1, înseamnă că utilizatorul nu a răspuns la această întrebare. Și vom marca această întrebare ca fără răspuns.

Fără răspuns 

Se afișează răspunsul utilizatorului

Dacă utilizatorul a răspuns efectiv la o întrebare, răspunsul inițial de -1 va fi înlocuit cu răspunsul utilizatorului și va fi înlocuit cu 1,2,3 sau 4, deoarece avem 4 opțiuni pentru fiecare întrebare.

Ați ales: $ {question.userSelected} 

Facem un test c: if pentru a ne asigura că utilizatorul a răspuns efectiv la o întrebare și apoi afișează răspunsul utilizatorului.

Marcarea unui răspuns ca corect

Dacă selecția utilizatorului și răspunsul corect pentru întrebare se potrivesc, afișăm o imagine care prezintă un semn corect.

   

Marcarea unui răspuns ca incorect

Un c simplu: dacă se face testul pentru a compara răspunsul utilizatorului cu opțiunea corectă a întrebării. Dacă ambele nu sunt egale înseamnă că utilizatorul a răspuns greșit la întrebare și afișăm o imagine care arată un semn încrucișat.

   

Faceți clic pe butonul de descărcare pentru a descărca codul.

[buttonleads form_title = ”Cod de descărcare” redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = ”Cod de descărcare”]

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii și vă vom răspunde.

Postări asemănatoare: