Application sa Online na Pagsusulit: Pagsusuri sa Pagsusulit



Sa post na ito nagdagdag kami ng pag-andar ng pagsusuri ng pagsusulit sa aming Online na Application sa Quiz. Maaaring makita ng gumagamit ang mga tamang sagot para sa lahat ng mga katanungan sa pagsusulit.

Ito ang pangatlong post sa serye ng paglikha ng isang online na pagsusulit application na gumagamit ng JSP Servlet.

Kung hindi mo nabasa ang mga nakaraang post mangyaring dumaan ito, dahil mas madali nito para sa iyo na sundin ang post na ito at maunawaan ito nang buo.





Bahagi 1 -

Bahagi 2 - Application ng Quiz - Pagpapatupad ng timer ng Countdown



Sa post na ito kami ay magdagdag ng mga sumusunod na pag-andar sa aming pagsusulit application

1. Pagbibigay sa gumagamit ng isang pagpipilian upang suriin ang kanyang mga sagot sa pagtatapos ng pagsusulit

2. Markahan ang mga tugon ng gumagamit na tama o hindi tama



3. Ang pagmamarka ng mga hindi natagpuang katanungan na hindi nasagot

Nasa ibaba ang snapshot ng pahina ng resulta ng pagsusulit na nilikha.

Pahina ng Resulta ng Pagsusulit

Ano pa ang kinakailangan namin upang mapagana ang pagpapaandar ng pagsusuri?

Maaaring tapusin ng gumagamit ang pagsusulit anumang oras, sa pagtatapos ng pagsusulit, magkakaroon siya ng pagpipilian na suriin ang kanyang mga sagot. Kung ang gumagamit ay hindi sumasagot sa isang katanungan at laktawan ito sa pamamagitan ng pag-click sa susunod na pindutan pagkatapos ay ipapakita ang katanungang hindi nasagot sa pahina ng pagsusuri ng pagsusulit.

Upang maibigay sa gumagamit ang buod ng pagsusulit, ang kailangan lang naming gawin ay upang mai-save ang mga tugon ng gumagamit at kapag natapos niya ang pagsusulit ihambing ito sa aktwal na sagot ng tanong.

Kung tumutugma ang tugon ng gumagamit sa tamang sagot ng tanong, ipinapakita namin ang tamang simbolo ng iba pang simbolo ng cross (x).

Application sa Online na Pagsusulit

Magdaragdag kami ng isang bagong controller na tinatawag na ReviewController, na kukuha ng lahat ng data at ipadala ito sa isang pahina ng JSP upang maipakita.

Tandaan: Kumukuha kami ng mga katanungan mula sa XML file kapag nag-click ang gumagamit sa susunod o sa dating pindutan.

Ipagpalagay na ang isang gumagamit ay nagsisimula ng isang pagsusulit at nagtatangka lamang ng isang tanong at pagkatapos ay mag-click sa Tapusin na pindutan.

Ngayon, sa pahina ng pagsusuri ng pagsusulit kailangan naming ipakita ang lahat ng mga katanungan kasama ang mga pagpipilian nito at ang tugon ng gumagamit kung ito ay tama o hindi. Dahil sa senaryong ito ang gumagamit ay hindi nakumpleto ang buong pagsusulit, ang natitirang 9 na katanungan ay ipapakita bilang hindi nasagot.

pagkakaiba sa pagitan ng overriding at overloading sa java

Kaya't kapag nag-click ang gumagamit sa Review Quiz upang makita ang kanyang mga tugon kasama ang tamang sagot para sa katanungang iyon, kailangan nating makuha ang lahat ng mga katanungan mula sa XML file at ang tamang sagot.

Istraktura ng Proyekto sa Eclipse IDE

Tandaan: Nagsama lamang kami ng isang bagong Controller ng ReviewController.

ReviewController.java

Ang @WebServlet ('/ exam / review') pampublikong klase ReviewController ay umaabot sa HttpServlet {pribadong static huling mahabang serialVersionUID = 1L / ** * @see HttpServlet # HttpServlet () * / pampublikong ReviewController () {super () // TODO Auto-generated taga-konstruktor} / ** * @see HttpServlet # doGet (HttpServletRequest na kahilingan, HttpServletResponse na tugon) * / protektadong walang bisa na doGet (HttpServletRequest na kahilingan, HttpServletResponse na tugon) ay nagtapon ng ServletException, IOException {// Exam Exam) request.getSession (). getAttribut ('currentExam') request.setAttribut ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = bagong ArrayList () Document dom = exam.getDom () para sa (int i = 0i

Tandaan: Naitakda ko ang lahat ng kinakailangang impormasyon sa isang ArrayList ng QuizQuestion at itinakda ang ArrayList na iyon bilang isang katangian sa saklaw ng kahilingan.

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

Sa Pahina ng JSP kailangan naming makuha lamang ang mga halagang nakaimbak sa katangian ng pagsusuri ng Mga Tanong.
Lumikha ako ng isang pahina ng JSP na tinatawag na examReview.jsp, na magpapakita ng buod ng pagsusulit.

Ipinapakita ang QuizQuestion Kasama Sa Mga Pagpipilian

Sa pahina ng JSP ginagamit namin ang JSTL c: forEach upang umulit sa listahan ng QuizQuestion na itinakda ng ReviewController

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

$ {counter.count}. $ {opsyon}

Nagpapakita ng Tamang Sagot

Tandaan na sa XML file ay naka-imbak ako ng mga pagpipilian na nagsisimula sa index 0.

Iyon ang dahilan kung bakit nagdagdag kami ng isa habang ipinapakita ang tamang sagot sa gumagamit, dahil intuitive iyon sa gumagamit.

Tamang Sagot: $ {question.correctOptionIndex + 1} 

Pagmamarka ng Isang Tanong Na Hindi Sinagot

Hindi sapilitan para sa gumagamit na subukan ang lahat ng mga katanungan. Maaari lamang niyang laktawan ito sa pamamagitan ng pag-click sa susunod na pindutan. Kaya paano natin malalaman kung ang isang katanungan ay nasagot o hindi?

Gumawa ako ng isang pagbabago sa tagagawa ng Exam, nang sa gayon ay lumikha kami ng isang bagong Pagsusulit, para sa bawat tanong ay itinakda rin namin ang tugon ng gumagamit bilang -1 sa una. Kaya, kapag sinimulan ng gumagamit ang pagsusulit magkakaroon kami ng pagpipilian ng gumagamit para sa bawat katanungan kahit na mag-click lamang ang gumagamit sa pindutan ng tapusin sa anumang katanungan sa pagitan ng pagsusulit.

Ngunit kung ang gumagamit ay talagang sumasagot sa isang tanong pagkatapos -1 ay papalitan ng pagpili ng gumagamit para sa katanungang iyon.

public Exam (String test, int totalNumberOfQuestions) ay nagtatapon ng SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (test) para sa (int i = 0i

Kaya't kung ang gumagamit ay hindi sumasagot sa isang katanungan at lumaktaw sa susunod na katanungan o mag-click lamang sa pindutan ng tapusin, ang paunang tugon na -1 ay nandiyan. Sa pahina ng JSP maaari naming ihambing kung ang pagpipilian ng gumagamit ay -1 o hindi. Kung ito ay -1, nangangahulugan ito na hindi sinagot ng gumagamit ang katanungang iyon. At mamarkahan namin ang katanungang iyon bilang hindi nasagot.

Hindi nasagot 

Ipinapakita ang Tugon ng Gumagamit

Kung talagang sinagot ng gumagamit ang isang katanungan ang paunang tugon ng -1 ay papalitan ng tugon ng gumagamit at papalitan ito ng 1,2,3 o 4, dahil mayroon kaming 4 na pagpipilian para sa bawat tanong.

Pinili Mo: $ {question.userSelected} 

Gumagawa kami ng c: kung pagsubok upang matiyak na talagang sinagot ng gumagamit ang isang katanungan at pagkatapos ay ipakita ang tugon ng gumagamit.

Pagmamarka ng Tugon bilang Tama

Kung ang pagpipilian ng gumagamit at tamang sagot para sa mga tugma sa tanong, nagpapakita kami ng isang imahe na nagpapakita ng tamang marka.

   

Pagmamarka ng isang Tugon bilang Maling

Isang simpleng c: kung ang pagsubok ay ginawa upang ihambing ang tugon ng gumagamit sa wastong pagpipilian ng tanong. Kung kapwa hindi pantay nangangahulugan ito ng maling pagsagot ng gumagamit ng tanong at nagpapakita kami ng isang imahe na nagpapakita ng isang markang krus.

   

Mag-click sa pindutan ng pag-download upang ma-download ang code.

[buttonleads form_title = 'Code sa Pag-download' redirect_url = https: //edureka.wistia.com/ Medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = 'Download Code']

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento at babalikan ka namin.

Mga Kaugnay na Post: