Online kvízová aplikácia: Kvízová recenzia



V tomto príspevku sme pridali funkčnosť kontroly kvízu do našej aplikácie Online kvíz. Používateľ môže vidieť správne odpovede na všetky kvízové ​​otázky.

Toto je tretí príspevok v sérii vytvárania online kvízovej aplikácie pomocou JSP Servlet.

Ak ste si nečítali predchádzajúce príspevky, prečítajte si ich, pretože vám to uľahčí sledovanie tohto príspevku a úplné pochopenie.





Časť 1 -

Časť 2 - Kvízová aplikácia - implementácia odpočítavača



V tomto príspevku pridáme do našej kvízovej aplikácie nasledujúce funkcie

1. Dať používateľovi možnosť skontrolovať si svoje odpovede po dokončení kvízu

java čo je vektor

2. Označenie odpovedí používateľa ako správne alebo nesprávne



3. Označenie nevybavených otázok ako nezodpovedaných

Nižšie je uvedený obrázok vytvorenej stránky s výsledkami kvízu.

Stránka s výsledkami testu

Čo ďalšie vyžadujeme, aby funkčnosť kontroly fungovala?

Používateľ môže kvíz dokončiť kedykoľvek. Po dokončení kvízu bude mať možnosť skontrolovať svoje odpovede. Ak používateľ na otázku neodpovie a kliknutím na ďalšie tlačidlo ju preskočí, na stránke kontroly skúšky sa táto otázka zobrazí ako nezodpovedaná.

Aby sme používateľovi poskytli súhrn kvízu, musíme iba uložiť jeho odpovede a po dokončení kvízu ho porovnať so skutočnou odpoveďou na otázku.

Ak sa odpoveď používateľa zhoduje so správnou odpoveďou na otázku, zobrazíme správny symbol iný krížik (x).

Online kvízová aplikácia

Pridáme nový radič s názvom ReviewController, ktorý extrahuje všetky údaje a odošle ich na stránku JSP.

Poznámka: Otázky zo súboru XML načítame, keď používateľ klikne na ďalšie alebo predchádzajúce tlačidlo.

Predpokladajme, že používateľ spustí kvíz, pokúsi sa iba o jednu otázku a potom klikne na tlačidlo Dokončiť.

návody pre server sql pre začiatočníkov

Teraz na stránke kontroly kvízu musíme ukázať všetky otázky s ich možnosťami a odpoveďou používateľa, či bola správna alebo nie. Pretože v tomto scenári používateľ nedokončí celý kvíz, zvyšok z 9 otázok sa zobrazí ako nezodpovedaný.

Takže keď používateľ klikne na Recenzný kvíz, aby videl jeho odpovede spolu so správnou odpoveďou na túto otázku, musíme načítať všetky otázky zo súboru XML a jeho správnej odpovede.

Štruktúra projektu v Eclipse IDE

Poznámka: Práve sme pridali jeden nový radič ReviewController.

ReviewController.java

@WebServlet ('/ exam / review') verejná trieda ReviewController rozširuje HttpServlet {private static final long serialVersionUID = 1L / ** * @see HttpServlet # HttpServlet () * / public ReviewController () {super () // TODO automaticky generované konštruktor stub} / ** * @see HttpServlet # doGet (požiadavka HttpServletRequest, odpoveď HttpServletResponse) * / chránený void doGet (požiadavka HttpServletRequest, odpoveď HttpServletResponse) vyvolá výnimku ServletException, IOException {// TODO automaticky = metóda vyšetrenia stub) request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = nový ArrayList () Dokument dom = exam.getDom () pre (int i = 0i

Poznámka: Nastavil som všetky požadované informácie do ArrayList of QuizQuestion a nastavil som ArrayList ako atribút v rozsahu požiadavky.

ArrayList reviewQuestionList = nový ArrayList () request.setAttribute ('reviewQuestions', reviewQuestionList)

Na stránke JSP musíme iba načítať hodnoty uložené v atribúte reviewQuestions.
Vytvoril som stránku JSP s názvom examReview.jsp, ktorá zobrazí súhrn kvízu.

Zobrazuje sa QuizQuestion spolu s možnosťami

Na stránke JSP používame JSTL c: forEach na iteráciu zoznamu QuizQuestion, ktorý nastavil ReviewController.

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

$ {counter.count}. $ {option}

Zobrazuje sa správna odpoveď

Všimnite si, že v súbore XML mám uložené možnosti začínajúce od indexu 0.

Preto sme jednu pridali, keď sme používateľovi ukazovali správnu odpoveď, pretože je pre používateľa intuitívna.

Správna odpoveď: $ {question.correctOptionIndex + 1} 

Označenie otázky ako nezodpovedanej

Používateľ nie je povinný vyskúšať všetky otázky. Môže ho jednoducho preskočiť kliknutím na ďalšie tlačidlo. Ako teda zistíme, či bola otázka zodpovedaná alebo nie?

Urobil som jednu zmenu v konštruktore skúšky, takže pri vytváraní novej skúšky sme pre každú otázku pôvodne nastavili aj odpoveď používateľa ako -1. Keď teda používateľ spustí kvíz, budeme mať k dispozícii výber používateľa pre každú otázku, aj keď používateľ klikne na tlačidlo Dokončiť na ľubovoľnú otázku medzi kvízom.

Ale ak používateľ skutočne odpovie na otázku, potom -1 bude nahradené jeho výberom pre túto otázku.

public exam (String test, int totalNumberOfQuestions) throws SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (test) for (int i = 0i

Pokiaľ teda používateľ neodpovie na otázku a preskočí na ďalšiu otázku alebo iba klikne na tlačidlo dokončiť, bude tu počiatočná odpoveď -1. Na stránke JSP môžeme porovnať, či je výber používateľa -1 alebo nie. Ak je -1, znamená to, že používateľ na túto otázku neodpovedal. A túto otázku označíme ako nezodpovedanú.

Nezodpovedané 

Zobrazuje sa odpoveď používateľa

Ak používateľ skutočne odpovedal na otázku, počiatočná odpoveď -1 bude nahradená odpoveďou používateľa a bude nahradená 1,2,3 alebo 4, pretože pre každú otázku máme 4 možnosti.

Vybrali ste: $ {question.userSelected} 

Robíme test c: if, aby sme sa uistili, že používateľ skutočne odpovedal na otázku, a potom zobraziť jeho odpoveď.

Označenie odpovede ako správnej

Ak sa výber používateľa a správna odpoveď na otázku zhoduje, zobrazíme obrázok so správnou značkou.

def __init __ (vlastné)
   

Označenie odpovede ako nesprávnej

Jednoduché test c: ak sa vykoná test na porovnanie odpovede používateľa so správnou voľbou otázky. Ak nie sú rovnaké, znamená to, že používateľ odpovedal na otázku nesprávne a zobrazujeme obrázok, ktorý zobrazuje krížovú značku.

   

Kliknutím na tlačidlo sťahovania stiahnete kód.

[buttonleads form_title = ”Stiahnutie kódu” redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = ”Stiahnutie kódu”]

Máte na nás otázku? Uveďte to prosím v sekcii komentárov a my sa vám ozveme.

Súvisiace príspevky: