Online Quiz -sovellus: Quiz Review



Tässä viestissä olemme lisänneet tietokilpailujen tarkistustoiminnon Online Quiz -sovellukseemme. Käyttäjä voi nähdä oikeat vastaukset kaikkiin kyselyihin.

Tämä on kolmas viesti sarjassa, jossa luodaan online-tietokilpailusovellus JSP-palvelinsovelluksella.

Jos et ole lukenut edellisiä viestejä, käy ne läpi, sillä se helpottaa tämän viestin seuraamista ja ymmärtämistä kokonaan.





Osa 1 -

Osa 2 - Tietokilpailu - Ajastimen käyttöönotto



Tässä viestissä aiomme lisätä seuraavat toiminnot tietokilpailuomme

1. Annetaan käyttäjälle mahdollisuus tarkistaa hänen vastauksensa tietokilpailun viimeistelystä

2. Merkitään käyttäjän vastaukset oikeiksi tai vääriksi



3. Merkitsemättä kysymykset vastaamattomiksi

Alla on tilannekuva luotu tietokilpailun tulossivulta.

ero abstraktin luokan ja käyttöliittymän välillä

Tietokilpailun tulos sivu

Mitä muuta vaadimme, jotta arvostelutoiminnot toimisivat?

Käyttäjä voi lopettaa tietokilpailun milloin tahansa, viimeisteltyään tietokilpailun hänellä on mahdollisuus tarkistaa vastauksensa. Jos käyttäjä ei vastaa kysymykseen ja ohittaa sen napsauttamalla seuraavaa painiketta, kysymys näytetään vastaamattomana kokeen tarkastelusivulla.

Jotta voimme antaa käyttäjälle tietokilpailun yhteenvedon, meidän on vain tallennettava käyttäjän vastaukset ja kun hän on suorittanut tietokilpailun, vertaa sitä kysymyksen todelliseen vastaukseen.

Jos käyttäjän vastaus vastaa kysymykseen oikeaa vastausta, näytetään oikea symboli else cross (x) -symboli.

Online Quiz -sovellus

Lisäämme uuden ohjaimen nimeltä ReviewController, joka purkaa kaikki tiedot ja lähettää ne näytettäväksi JSP-sivulle.

Huomaa: Haemme kysymyksiä XML-tiedostosta, kun käyttäjä napsauttaa seuraavaa tai edellistä painiketta.

Oletetaan, että käyttäjä aloittaa tietokilpailun ja yrittää vain yhtä kysymystä ja napsauttaa sitten Valmis-painiketta.

Tietokilpailun tarkastelusivulla meidän on nyt esitettävä kaikki kysymykset ja niiden vaihtoehdot sekä käyttäjän vastaus, onko kysymys oikea vai ei. Koska tässä skenaariossa käyttäjä ei suorita koko tietokilpailua, loput 9 kysymyksestä näytetään vastaamattomina.

Joten kun käyttäjä napsauttaa Review Quiz -kohtaa nähdäksesi vastauksensa ja oikean vastauksen kysymykseen, meidän on haettava kaikki kysymykset XML-tiedostosta ja sen oikea vastaus.

Projektirakenne Eclipse IDE: ssä

Huomaa: Olemme juuri sisällyttäneet yhden uuden ohjaimen ReviewController.

ReviewController.java

@WebServlet ('/ exam / review') julkisen luokan ReviewController laajentaa HttpServlet {private static final long serialVersionUID = 1L / ** * @see HttpServlet # HttpServlet () * / public ReviewController () {super () // TODO automaattisesti luotu konstruktorin tynkä} / ** * @ katso HttpServlet # doGet (HttpServletRequest-pyyntö, HttpServletResponse-vastaus) * / suojattu void doGet (HttpServletRequest-pyyntö, HttpServletResponse-vastaus) heittää ServletException, IOException {(TODE ExamO auto =) request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = new ArrayList () Document dom = exam.getDom () for (int i = 0i)

Huomaa: Olen asettanut kaikki vaaditut tiedot QuizQuestionin ArrayList-luetteloon ja asettanut ArrayList-määritteen pyynnön laajuuteen.

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

JSP-sivulla meidän on haettava vain arvot, jotka on tallennettu reviewQuestions-määritteeseen.
Olen luonut JSP-sivun nimeltä ExamReview.jsp, joka näyttää tietokilpailun yhteenvedon.

Näytetään QuizQuestion yhdessä vaihtoehtojen kanssa

JSP-sivulla käytämme JSTL c: forEach -ohjelmaa toistaaksesi ReviewControllerin asettaman QuizQuestion-luettelon.

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

$ {counter.count}. $ {option}

Näytetään oikea vastaus

Huomaa, että XML-tiedostoon olen tallentanut vaihtoehtoja indeksistä 0 alkaen.

java char array -oletusarvo

Siksi lisäsimme yhden ja näytimme käyttäjälle oikean vastauksen, koska se on käyttäjälle intuitiivista.

Oikea vastaus: $ {question.correctOptionIndex + 1} 

Kysymyksen merkitseminen vastaamatta

Käyttäjä ei ole pakollinen yrittämään kaikkia kysymyksiä. Hän voi vain ohittaa sen napsauttamalla seuraavaa painiketta. Joten miten voimme selvittää, onko kysymykseen vastattu vai ei?

Olen tehnyt yhden muutoksen tenttikonstruktorissa niin, että kun luot uuden kokeen, asetamme jokaiselle kysymykselle myös käyttäjän vastauksen aluksi -1. Joten, kun käyttäjä aloittaa tietokilpailun, meillä on käyttäjän valinta jokaiselle kysymykselle, vaikka käyttäjä vain napsauttaisi lopetuspainiketta mihin tahansa kysymykseen tietokilpailun välillä.

Mutta jos käyttäjä todella vastaa kysymykseen, -1 korvataan käyttäjän valitsemalla kysymyksellä.

miten odotusta ja ilmoitusta käytetään javassa
public Exam (String test, int totalNumberOfQuestions) heittää SAXExceptionin, ParserConfigurationExceptioniin, IOExceptioniin, URISyntaxExceptioniin {dom = CreateDOM.getDOM (test) (int i = 0i)

Joten jos käyttäjä ei vastaa kysymykseen ja hyppää seuraavaan kysymykseen tai vain napsauttaa lopetuspainiketta, alkuperäinen vastaus -1 on siellä. JSP-sivulla voimme verrata, onko käyttäjän valinta -1 vai ei. Jos se on -1, se tarkoittaa, että käyttäjä ei vastannut kysymykseen. Ja merkitsemme kysymyksen vastaamattomaksi.

Ei vastausta 

Näytetään käyttäjän vastaus

Jos käyttäjä todella vastasi kysymykseen, alkuperäinen vastaus -1 korvataan käyttäjän vastauksella ja se korvataan vastauksella 1,2,3 tai 4, koska meillä on 4 vaihtoehtoa jokaiselle kysymykselle.

Valitsit: $ {question.userSelected} 

Teemme c: if -testin varmistaaksemme, että käyttäjä todella vastasi kysymykseen, ja näytä sitten käyttäjän vastaus.

Vastauksen merkitseminen oikeeksi

Jos käyttäjän valinta ja oikea vastaus kysymykseen vastaavat, näytämme kuvan, jossa on oikea merkki.

   

Vastauksen merkitseminen virheelliseksi

Yksinkertainen c: jos testi tehdään vertaamaan käyttäjän vastausta kysymyksen oikeaan vaihtoehtoon. Jos molemmat eivät ole samat, se tarkoittaa, että käyttäjä vastasi kysymykseen väärin ja näytämme kuvan, jossa on ristimerkki.

   

Lataa koodi napsauttamalla latauspainiketta.

[buttonleads form_title = ”Lataa koodi” redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = ”Lataa koodi”]

Onko sinulla kysymys meille? Mainitse se kommenttiosassa ja palaamme sinuun.

Aiheeseen liittyvät julkaisut: