JSP सर्वलेट का उपयोग करके ऑनलाइन क्विज़ एप्लिकेशन बनाने की श्रृंखला में यह तीसरी पोस्ट है।
यदि आपने पिछली पोस्ट नहीं पढ़ी हैं तो कृपया इसके माध्यम से जाएँ, क्योंकि इससे आपके लिए इस पोस्ट का अनुसरण करना और इसे पूरी तरह से समझना आसान हो जाएगा।
भाग ---- पहला -
भाग 2 - प्रश्नोत्तरी आवेदन - उलटी गिनती घड़ी लागू करना
इस पोस्ट में हम अपने क्विज़ एप्लिकेशन में निम्नलिखित कार्यक्षमताएँ जोड़ने जा रहे हैं
1. प्रश्नोत्तरी खत्म करने पर अपने उत्तरों की समीक्षा करने के लिए उपयोगकर्ता को एक विकल्प देना
2. उपयोगकर्ता की प्रतिक्रियाओं को सही या गलत के रूप में चिह्नित करना
3. अनुत्तरित प्रश्नों को अनुत्तरित के रूप में चिह्नित करना
नीचे प्रश्नोत्तरी परिणाम पृष्ठ का स्नैपशॉट बनाया गया है।
प्रश्नोत्तरी परिणाम पृष्ठ
समीक्षा कार्यशीलता प्राप्त करने के लिए हमें और क्या चाहिए?
उपयोगकर्ता प्रश्नोत्तरी को कभी भी समाप्त कर सकता है, प्रश्नोत्तरी खत्म करने पर, उसके पास अपने उत्तरों की समीक्षा करने का विकल्प होगा। यदि उपयोगकर्ता किसी प्रश्न का उत्तर नहीं देता है और अगले बटन पर क्लिक करके उसे छोड़ देता है तो उस प्रश्न को परीक्षा समीक्षा पृष्ठ पर अनुत्तरित दिखाया जाएगा।
उपयोगकर्ता को क्विज़ का सारांश प्रदान करने के लिए, हमें बस उपयोगकर्ता की प्रतिक्रियाओं को सहेजना होगा और जब वह क्विज़ समाप्त कर लेगा तो प्रश्न के वास्तविक उत्तर से उसकी तुलना करेगा।
यदि उपयोगकर्ता की प्रतिक्रिया प्रश्न के सही उत्तर के साथ मेल खाती है, तो हम सही प्रतीक को क्रॉस (x) प्रतीक को प्रदर्शित करते हैं।
हम ReviewController नामक एक नया नियंत्रक जोड़ देंगे, जो सभी डेटा को निकाल देगा और इसे दिखाने के लिए एक JSP पृष्ठ पर भेज देगा।
नोट: जब उपयोगकर्ता नेक्स्ट या पिछले बटन पर क्लिक करता है तो हम XML फाइल से सवाल उठाते हैं।
मान लीजिए कि एक उपयोगकर्ता एक प्रश्नोत्तरी शुरू करता है और केवल एक प्रश्न का प्रयास करता है और फिर फिनिश बटन पर क्लिक करता है।
अब, प्रश्नोत्तरी समीक्षा पृष्ठ पर हमें इसके विकल्पों और उपयोगकर्ता की प्रतिक्रिया के साथ सभी प्रश्नों को दिखाना होगा कि यह सही था या नहीं। चूंकि इस परिदृश्य में उपयोगकर्ता पूरे क्विज़ को पूरा नहीं करता है, इसलिए शेष 9 प्रश्नों को अनुत्तरित दिखाया जाएगा।
इसलिए जब उपयोगकर्ता उस प्रश्न के सही उत्तर के साथ उसकी प्रतिक्रियाओं को देखने के लिए रिव्यू क्विज़ पर क्लिक करता है, तो हमें XML फ़ाइल और उसके सही उत्तर से सभी प्रश्नों को प्राप्त करना होगा।
ग्रहण आईडीई में परियोजना संरचना
नोट: हमने सिर्फ एक नया कंट्रोलर ReviewController शामिल किया है।
ReviewController.java
@WebServlet ('/ परीक्षा / समीक्षा') सार्वजनिक वर्ग ReviewController का विस्तार HttpServlet {निजी स्थिर अंतिम लंबा सीरियलVersionUID = 1L / ** * @ HttpServlet # HttpServlet () * / public ReviewController () {सुपर () // TODO ऑटो-जेनरेट किया गया। कंस्ट्रक्टर स्टब} / ** * @ @ HttpServlet # doGet (HttpServletRequest अनुरोध, HttpServletResponse प्रतिसाद) * / संरक्षित शून्य doGet (HttpServletRequest अनुरोध, HttpServletRespest रिस्पॉन्स, HttpServletResponse प्रतिसाद), IOFT, IOZ। request.getSession ()। getAttribute ('currentExam') request.setAttribute ('TotalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestList = नया ArrayList () दस्तावेज़ dom = exam.getDom () के लिए (int i = 0)नोट: मैंने सभी आवश्यक जानकारी क्विजक्वेस्ट के एक ArrayList में सेट की है और उस ArrayList को अनुरोध क्षेत्र में एक विशेषता के रूप में सेट किया है।
ArrayList समीक्षाQuestionList = नया ArrayList () request.setAttribute ('समीक्षा प्रश्न', समीक्षाQuestionList)JSP पेज में हमें सिर्फ रिव्यूक्वेस्ट फीचर में संग्रहीत मानों को पुनः प्राप्त करना है।
मैंने examReview.jsp नाम से एक JSP पेज बनाया है, जो क्विज़ सारांश दिखाएगा।विकल्प के साथ क्विज़क्वेशन दिखाना
JSP पेज में हम JSTL c का उपयोग कर रहे हैं: QuizQuestion की सूची पर पुनरावृति करने के लिए forAach जो कि ReviewBontroller द्वारा निर्धारित किया गया था
$ {counter.count}। $ {question.question}
$ {counter.count}। $ {विकल्प}
सही उत्तर दिखा रहा है
ध्यान दें कि XML फ़ाइल में मेरे पास अनुक्रमणिका 0 से शुरू होने वाले विकल्प हैं।
इसलिए हमने उपयोगकर्ता के लिए सही उत्तर दिखाते हुए एक जोड़ा, क्योंकि यह उपयोगकर्ता के लिए सहज है।
सही उत्तर: $ {question.correctOptionIndex + 1}एक सवाल अनुत्तरित अंकन
उपयोगकर्ता के लिए सभी प्रश्नों का प्रयास करना अनिवार्य नहीं है। वह बस अगले बटन पर क्लिक करके इसे छोड़ सकता है। तो हमें कैसे पता चलेगा कि किसी प्रश्न का उत्तर दिया गया था या नहीं।
मैंने परीक्षा कंस्ट्रक्टर में एक बदलाव किया है, ताकि जब हम एक नई परीक्षा बनाएं, तो प्रत्येक प्रश्न के लिए हम शुरू में उपयोगकर्ता की प्रतिक्रिया भी निर्धारित करें। इसलिए, जब उपयोगकर्ता क्विज़ शुरू करता है, तो हमारे पास प्रत्येक प्रश्न के लिए उपयोगकर्ता का चयन होगा, भले ही उपयोगकर्ता क्विज़ के बीच में किसी भी प्रश्न पर फ़िनिश बटन पर क्लिक करे।
लेकिन अगर उपयोगकर्ता वास्तव में किसी प्रश्न का उत्तर देता है तो -1 को उस प्रश्न के लिए उपयोगकर्ता के चयन से बदल दिया जाएगा।
सार्वजनिक परीक्षा (स्ट्रिंग परीक्षण, int TotalNumberOfQuestions) SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (परीक्षण) के लिए (int i = 0i) फेंकता हैइसलिए यदि उपयोगकर्ता किसी प्रश्न का उत्तर नहीं देता है और अगले प्रश्न पर रुक जाता है या केवल फिनिश बटन पर क्लिक करता है, तो -1 की प्रारंभिक प्रतिक्रिया होगी। JSP पेज में हम तुलना कर सकते हैं कि उपयोगकर्ता का चयन -1 है या नहीं। यदि यह -1 है, तो इसका मतलब है कि उपयोगकर्ता ने उस प्रश्न का उत्तर नहीं दिया है। और हम उस प्रश्न को अनुत्तरित मानेंगे।
अनुत्तरित
उपयोगकर्ता प्रतिक्रिया दिखा रहा है
यदि उपयोगकर्ता वास्तव में एक प्रश्न का उत्तर देता है -1 की प्रारंभिक प्रतिक्रिया को उपयोगकर्ता की प्रतिक्रिया से बदल दिया जाएगा और इसे 1,2,3 या 4 के साथ बदल दिया जाएगा, क्योंकि हमारे पास प्रत्येक प्रश्न के लिए 4 विकल्प हैं।
आपने चुना: $ {question.userSlectlected}
हम एक सी बना रहे हैं: यदि यह सुनिश्चित करने के लिए कि उपयोगकर्ता वास्तव में एक प्रश्न का उत्तर देता है तो परीक्षण करें और फिर उपयोगकर्ता की प्रतिक्रिया प्रदर्शित करें।
सही के रूप में एक प्रतिक्रिया चिह्नित करना
यदि उपयोगकर्ता का चयन और प्रश्न मिलान के लिए सही उत्तर है, तो हम एक छवि दिखाते हैं जो एक सही चिह्न दिखाती है।
![]()
एक प्रतिक्रिया को गलत के रूप में चिह्नित करना
एक साधारण सी: यदि प्रश्न के सही विकल्प के साथ उपयोगकर्ता की प्रतिक्रिया की तुलना करने के लिए परीक्षण किया जाता है। यदि दोनों समान नहीं हैं, तो इसका मतलब है कि उपयोगकर्ता ने गलत तरीके से सवाल का जवाब दिया है और हम एक क्रॉस चिह्न दिखाते हुए एक छवि प्रदर्शित करते हैं।
![]()
कोड डाउनलोड करने के लिए डाउनलोड बटन पर क्लिक करें।
[buttonleads form_title = 'डाउनलोड कोड' redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 6737874 course_id = 44 बटन_text = 'डाउनलोड कोड']?
झांकी कैसे डेटा मिश्रण करने के लिएक्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपके पास वापस आ जाएंगे।
संबंधित पोस्ट: