JSP సర్వ్లెట్ ఉపయోగించి ఆన్లైన్ క్విజ్ అప్లికేషన్ను సృష్టించే సిరీస్లో ఇది మూడవ పోస్ట్.
మీరు మునుపటి పోస్ట్లను చదవకపోతే దయచేసి దాని ద్వారా వెళ్ళండి, ఎందుకంటే ఈ పోస్ట్ను అనుసరించడం మరియు దాన్ని పూర్తిగా అర్థం చేసుకోవడం మీకు సులభం అవుతుంది.
1 వ భాగము -
పార్ట్ 2 - క్విజ్ అప్లికేషన్ - కౌంట్డౌన్ టైమర్ను అమలు చేస్తోంది
ఈ పోస్ట్లో మేము మా క్విజ్ అనువర్తనానికి క్రింది కార్యాచరణలను జోడించబోతున్నాము
1. క్విజ్ పూర్తి చేయడంపై వినియోగదారు తన సమాధానాలను సమీక్షించడానికి ఒక ఎంపికను ఇవ్వడం
2. యూజర్ యొక్క ప్రతిస్పందనలను సరైనది లేదా తప్పు అని గుర్తించడం
3. ప్రయత్నించని ప్రశ్నలకు జవాబు లేనిదిగా గుర్తించడం
క్విజ్ ఫలిత పేజీ యొక్క స్నాప్షాట్ క్రింద ఉంది.
క్విజ్ ఫలిత పేజీ
సమీక్ష కార్యాచరణ పని చేయడానికి మాకు ఇంకా ఏమి అవసరం?
వినియోగదారు ఎప్పుడైనా క్విజ్ పూర్తి చేయవచ్చు, క్విజ్ పూర్తి చేసిన తర్వాత, అతను తన సమాధానాలను సమీక్షించే అవకాశం ఉంటుంది. వినియోగదారు ఒక ప్రశ్నకు సమాధానం ఇవ్వకపోతే మరియు తదుపరి బటన్పై క్లిక్ చేయడం ద్వారా దాటవేస్తే, ఆ ప్రశ్న పరీక్షా సమీక్ష పేజీలో జవాబు లేనిదిగా చూపబడుతుంది.
వినియోగదారుకు క్విజ్ యొక్క సారాంశాన్ని అందించడానికి, మేము చేయాల్సిందల్లా వినియోగదారు ప్రతిస్పందనలను సేవ్ చేయడం మరియు అతను క్విజ్ పూర్తి చేసినప్పుడు ప్రశ్న యొక్క వాస్తవ సమాధానంతో పోల్చండి.
వినియోగదారు ప్రతిస్పందన ప్రశ్న యొక్క సరైన సమాధానంతో సరిపోలితే, అప్పుడు మేము సరైన చిహ్నాన్ని వేరే క్రాస్ (x) చిహ్నాన్ని ప్రదర్శిస్తాము.
మేము రివ్యూ కంట్రోలర్ అని పిలువబడే కొత్త నియంత్రికను జోడిస్తాము, ఇది మొత్తం డేటాను సంగ్రహిస్తుంది మరియు చూపించడానికి JSP పేజీకి పంపుతుంది.
గమనిక: వినియోగదారు తదుపరి లేదా మునుపటి బటన్పై క్లిక్ చేసినప్పుడు మేము XML ఫైల్ నుండి ప్రశ్నలను పొందుతున్నాము.
ఒక వినియోగదారు క్విజ్ ప్రారంభించి, ఒక ప్రశ్నను మాత్రమే ప్రయత్నించి, ముగించు బటన్పై క్లిక్ చేస్తారని అనుకుందాం.
ఇప్పుడు, క్విజ్ సమీక్ష పేజీలో మేము అన్ని ప్రశ్నలను దాని ఎంపికలతో చూపించవలసి ఉంది మరియు అది సరైనదేనా కాదా అనే యూజర్ యొక్క ప్రతిస్పందన. ఈ దృష్టాంతంలో వినియోగదారు మొత్తం క్విజ్ను పూర్తి చేయనందున, మిగిలిన 9 ప్రశ్నలు జవాబు లేనివిగా చూపబడతాయి.
కాబట్టి ఆ ప్రశ్నకు సరైన సమాధానంతో పాటు వినియోగదారు తన స్పందనలను చూడటానికి రివ్యూ క్విజ్ పై క్లిక్ చేసినప్పుడు, మేము అన్ని ప్రశ్నలను XML ఫైల్ నుండి మరియు దాని సరైన సమాధానం నుండి పొందాలి.
ఎక్లిప్స్ IDE లో ప్రాజెక్ట్ నిర్మాణం
గమనిక: మేము ఇప్పుడే ఒక కొత్త కంట్రోలర్ రివ్యూ కంట్రోలర్ను చేర్చుకున్నాము.
రివ్యూ కంట్రోలర్.జావా
E వెబ్ సర్వర్ ('/ ఎగ్జామ్ / రివ్యూ') పబ్లిక్ క్లాస్ రివ్యూ కంట్రోలర్ HttpServlet ని విస్తరించింది {ప్రైవేట్ స్టాటిక్ ఫైనల్ లాంగ్ సీరియల్వర్షన్యూఐడి = 1 ఎల్ / ** * H చూడండి HttpServlet # HttpServlet () * / పబ్లిక్ రివ్యూ కంట్రోలర్ () {సూపర్ () // TODO ఆటో-జనరేటెడ్ కన్స్ట్రక్టర్ స్టబ్} / ** * H HttpServlet # doGet (HttpServletRequest request, HttpServletResponse response) * / రక్షిత శూన్య doGet (HttpServletRequest request, HttpServletResponse response) సర్వ్లెట్ ఎక్సెప్షన్, IOException {// TODO Exomam పరీక్ష request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = new arrayList () Document dom = exam.getDom () (int i = 0iగమనిక: నేను అవసరమైన అన్ని సమాచారాన్ని క్విజ్ క్వెషన్ యొక్క అర్రేలిస్ట్లో సెట్ చేసాను మరియు ఆ అర్రేలిస్ట్ను అభ్యర్థన పరిధిలో ఒక లక్షణంగా సెట్ చేసాను.
శ్రేణి జాబితా సమీక్ష ప్రశ్న జాబితా = క్రొత్త శ్రేణి జాబితా () request.setAttribute ('reviewQuestions', reviewQuestionList)JSP పేజీలో మేము సమీక్ష ప్రశ్నల లక్షణంలో నిల్వ చేసిన విలువలను తిరిగి పొందాలి.
నేను examReview.jsp అనే JSP పేజీని సృష్టించాను, ఇది క్విజ్ సారాంశాన్ని చూపుతుంది.ఐచ్ఛికాలతో పాటు క్విజ్ ప్రశ్నను చూపుతోంది
JSP పేజీలో మేము JSTL c ని ఉపయోగిస్తున్నాము: రివ్యూ కంట్రోలర్ చేత సెట్ చేయబడిన క్విజ్ క్వెషన్ జాబితాపై ప్రతి ఒక్కటి మళ్ళించడానికి.
$ {counter.count}. $ {question.question}
$ {counter.count}. $ {ఎంపిక}
సరైన సమాధానం చూపుతోంది
XML ఫైల్లో నేను ఇండెక్స్ 0 నుండి ప్రారంభమయ్యే ఎంపికలను నిల్వ చేశానని గమనించండి.
అందువల్ల వినియోగదారుకు సరైన సమాధానం చూపించేటప్పుడు మేము ఒకదాన్ని జోడించాము, ఎందుకంటే ఇది వినియోగదారుకు స్పష్టమైనది.
రిఫరెన్స్ జావా ద్వారా విలువ vs పాసింగ్సరైన సమాధానం: $ {question.correctOptionIndex + 1}సమాధానం లేని ప్రశ్నను గుర్తించడం
వినియోగదారు అన్ని ప్రశ్నలను ప్రయత్నించడం తప్పనిసరి కాదు. అతను తదుపరి బటన్పై క్లిక్ చేయడం ద్వారా దాన్ని దాటవేయవచ్చు. కాబట్టి ఒక ప్రశ్నకు సమాధానం ఇవ్వబడిందా లేదా అని మేము ఎలా కనుగొంటాము?
నేను పరీక్షా కన్స్ట్రక్టర్లో ఒక మార్పు చేసాను, తద్వారా మేము క్రొత్త పరీక్షను సృష్టించినప్పుడు, ప్రతి ప్రశ్నకు కూడా వినియోగదారు ప్రతిస్పందనను ప్రారంభంలో -1 గా సెట్ చేస్తాము. కాబట్టి, వినియోగదారు క్విజ్ ప్రారంభించినప్పుడు, క్విజ్ మధ్య ఏదైనా ప్రశ్నపై వినియోగదారు కేవలం ముగింపు బటన్పై క్లిక్ చేసినప్పటికీ, ప్రతి ప్రశ్నకు వినియోగదారు ఎంపిక ఉంటుంది.
వినియోగదారు వాస్తవానికి ఒక ప్రశ్నకు సమాధానమిస్తే, -1 ఆ ప్రశ్నకు వినియోగదారు ఎంపిక ద్వారా భర్తీ చేయబడుతుంది.
పబ్లిక్ ఎగ్జామ్ (స్ట్రింగ్ టెస్ట్, int totalNumberOfQuestions) SAXException, ParserConfigurationException, IOException, URISyntaxException rows dom = CreateDOM.getDOM (test) for (int i = 0iకాబట్టి వినియోగదారు ఒక ప్రశ్నకు సమాధానం ఇవ్వకపోతే మరియు తదుపరి ప్రశ్నకు దాటవేస్తే లేదా ముగింపు బటన్పై క్లిక్ చేస్తే, -1 యొక్క ప్రారంభ ప్రతిస్పందన ఉంటుంది. JSP పేజీలో యూజర్ ఎంపిక -1 లేదా కాదా అని పోల్చవచ్చు. ఇది -1 అయితే, వినియోగదారు ఆ ప్రశ్నకు సమాధానం ఇవ్వలేదని అర్థం. మరియు మేము ఆ ప్రశ్నకు సమాధానం లేనిదిగా గుర్తించాము.
సమాధానం లేని
వినియోగదారు ప్రతిస్పందనను చూపుతోంది
వినియోగదారు వాస్తవానికి ఒక ప్రశ్నకు సమాధానమిస్తే -1 యొక్క ప్రారంభ ప్రతిస్పందన వినియోగదారు ప్రతిస్పందనతో భర్తీ చేయబడుతుంది మరియు ప్రతి ప్రశ్నకు మనకు 4 ఎంపికలు ఉన్నందున అది 1,2,3 లేదా 4 తో భర్తీ చేయబడుతుంది.
మీరు ఎంచుకున్నారు: $ {question.userSelected}
మేము ఒక సి: పరీక్ష చేస్తే వినియోగదారు వాస్తవానికి ఒక ప్రశ్నకు సమాధానమిచ్చారని నిర్ధారించుకుని, ఆపై వినియోగదారు ప్రతిస్పందనను ప్రదర్శిస్తారు.
ప్రతిస్పందనను సరైనదిగా గుర్తించడం
వినియోగదారు ఎంపిక మరియు ప్రశ్నకు సరైన సమాధానం సరిపోలితే, మేము సరైన గుర్తును చూపించే చిత్రాన్ని ప్రదర్శిస్తాము.
![]()
ప్రతిస్పందన తప్పు అని గుర్తించడం
సరళమైన సి: వినియోగదారు ప్రతిస్పందనను ప్రశ్న యొక్క సరైన ఎంపికతో పోల్చడానికి పరీక్ష చేస్తే. రెండూ సమానంగా లేనట్లయితే, వినియోగదారు ప్రశ్నకు తప్పుగా సమాధానం ఇచ్చాడు మరియు మేము క్రాస్ మార్క్ చూపించే చిత్రాన్ని ప్రదర్శిస్తాము.
![]()
కోడ్ను డౌన్లోడ్ చేయడానికి డౌన్లోడ్ బటన్ పై క్లిక్ చేయండి.
[buttonleads form_title = ”కోడ్ను డౌన్లోడ్ చేయండి” redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = ”Download Download”]
మాకు ప్రశ్న ఉందా? దయచేసి వ్యాఖ్యల విభాగంలో పేర్కొనండి మరియు మేము మిమ్మల్ని సంప్రదిస్తాము.
సంబంధిత పోస్ట్లు: