יישום חידון מקוון: סקירת חידון



בפוסט זה הוספנו פונקציונליות לבדיקת חידונים ליישום החידון המקוון שלנו. המשתמש יכול לראות את התשובות הנכונות לכל שאלות החידון.

זהו הפוסט השלישי בסדרת יצירת אפליקציית חידון מקוונת באמצעות JSP Servlet.

אם לא קראתם את הפוסטים הקודמים אנא עברו על כך, מכיוון שזה יקל עליכם לעקוב אחרי הפוסט הזה ולהבין אותו לחלוטין.





חלק 1 -

חלק 2 - יישום חידון - יישום טיימר לאחור



בפוסט זה אנו הולכים להוסיף את הפונקציות הבאות ליישום החידון שלנו

1. מתן אפשרות למשתמש לבדוק את תשובותיו בסיום החידון

2. סימון תגובות המשתמש כנכונות או שגויות



3. סימון השאלות ללא ניסיון כלא נענו

להלן תמונת המצב של דף תוצאות החידון שנוצר.

דף תוצאות החידון

מה עוד אנו זקוקים בכדי שהפונקציונליות לבדיקה תעבוד?

המשתמש יכול לסיים את החידון בכל עת, בסיום החידון תהיה לו אפשרות לבדוק את תשובותיו. אם המשתמש לא עונה על שאלה ומדלג עליה על ידי לחיצה על הכפתור הבא, שאלה זו תוצג כלא נענתה בדף סקירת הבחינה.

כדי לספק למשתמש את סיכום החידון, כל שעלינו לעשות הוא לשמור את תגובות המשתמש וכאשר הוא מסיים את החידון להשוות אותו לתשובה בפועל של השאלה.

אם תגובת המשתמש תואמת את התשובה הנכונה לשאלה, אנו מציגים את הסמל הנכון אחר חוצה (x) סמל.

יישום חידון מקוון

כיצד לשכפל אובייקט

נוסיף בקר חדש בשם ReviewController, שיחלץ את כל הנתונים וישלח אותם לדף JSP להצגה.

הערה: אנו מביאים שאלות מקובץ ה- XML ​​כאשר המשתמש לוחץ על הכפתור הבא או על הקודם.

נניח שמשתמש מתחיל חידון ומנסה רק שאלה אחת ואז לוחץ על כפתור סיום.

כעת, בדף סקירת החידון עלינו להציג את כל השאלות עם אפשרויותיו ותגובת המשתמש אם הייתה נכונה או לא. מכיוון שבתרחיש זה המשתמש לא משלים את כל החידון, שאר 9 השאלות יוצגו כלא נענו.

לכן כאשר המשתמש לוחץ על חידון סקירה כדי לראות את התגובות שלו יחד עם התשובה הנכונה לשאלה זו, עלינו להביא את כל השאלות מקובץ ה- XML ​​ואת התשובה הנכונה.

מבנה הפרויקט ב- Eclipse IDE

הערה: הרגע כללנו בקר ביקורת חדש אחד.

ReviewController.java

@WebServlet ('/ בחינה / סקירה') ReviewController בכיתה ציבורית מאריך את HttpServlet {פרטית סטטית פרטית ארוכה serialVersionUID = 1L / ** * @ ראה HttpServlet # HttpServlet () * / Public ReviewController () {super () // TODO שנוצר אוטומטית בנאי stub} / ** * @ see HttpServlet # doGet (HttpServletRequest בקשה, HttpServletResponse תגובה) * / מוגן בטל doGet (HttpServletRequest בקשה, HttpServletResponse תגובה) זורק ServletException, IOException {// TODO בחינה שנוצרה אוטומטית = שיטת בחינה אוטומטית (בדיקה שנוצרה) request.getSession (). getAttribute ('currentExam') request.setAttribute ('totalQuestion', exam.getTotalNumberOfQuestions ()) ArrayList reviewQuestionList = ArrayList חדש () מסמך dom = exam.getDom () עבור (int i = 0i

הערה: הגדרתי את כל המידע הנדרש ב- ArrayList של QuizQuestion והגדרתי את ה- ArrayList כתכונה בהיקף הבקשה.

ArrayList reviewQuestionList = חדש ArrayList () request.setAttribute ('reviewQuestions', reviewQuestionList)

בדף JSP עלינו רק לאחזר את הערכים המאוחסנים במאפיין reviewQuestions.
יצרתי דף JSP בשם examReview.jsp, שיציג את סיכום החידון.

c ++ פייתון ג'אווה

מציג QuizQuestion יחד עם אפשרויות

בדף JSP אנו משתמשים ב- JSTL c: forEach כדי לחזור על רשימת QuizQuestion שהוגדרה על ידי ReviewController

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

$ {counter.count}. $ {option}

מציג תשובה נכונה

שים לב שבקובץ XML יש לי אפשרויות מאוחסנות החל מאינדקס 0.

לכן הוספנו תשובה תוך הצגת התשובה הנכונה למשתמש, מכיוון שזו אינטואיטיבית למשתמש.

תשובה נכונה: $ {question.correctOptionIndex + 1} 

סימון שאלה ללא מענה

אין חובה על המשתמש לנסות את כל השאלות. הוא פשוט יכול לדלג עליו על ידי לחיצה על הכפתור הבא. אז איך נגלה האם שאלה נענתה או לא?

ביצעתי שינוי אחד בבנאי הבחינה, כך שכשאנחנו יוצרים בחינה חדשה, עבור כל שאלה נקבע גם את תגובת המשתמש כ -1 בהתחלה. לכן, כאשר המשתמש מתחיל את החידון תהיה לנו בחירת המשתמש לכל שאלה גם אם המשתמש רק ילחץ על כפתור הסיום בכל שאלה שבין החידון.

אך אם המשתמש אכן עונה על שאלה אז -1 יוחלף בבחירת המשתמש לשאלה זו.

בחינה ציבורית (מבחן מחרוזת, int totalNumberOfQuestions) זורק SAXException, ParserConfigurationException, IOException, URISyntaxException {dom = CreateDOM.getDOM (test) עבור (int i = 0i

אז אם המשתמש לא עונה על שאלה ומדלג לשאלה הבאה או רק לוחץ על כפתור הסיום, התגובה הראשונית של -1 תהיה שם. בדף JSP אנו יכולים להשוות האם בחירת המשתמש היא -1 או לא. אם הוא -1, המשמעות היא שהמשתמש לא ענה על שאלה זו. ואנחנו נסמן את השאלה הזו כלא נענתה.

ללא מענה 

מציג תגובת משתמש

אם המשתמש באמת ענה על שאלה התגובה הראשונית של -1 תוחלף בתגובת המשתמש והיא תוחלף ב -1,2,3 או 4, מכיוון שיש לנו 4 אפשרויות לכל שאלה.

בחרת: $ {question.userSelected} 

אנו מבצעים c: אם נבדק כדי לוודא שהמשתמש אכן ענה על שאלה ואז מציג את תגובת המשתמש.

סימון תגובה כנכון

אם הבחירה והתשובה הנכונה של המשתמש לשאלה תואמות, אנו מציגים תמונה המציגה סימן נכון.

   

סימון תגובה כלא נכון

C פשוט: אם נעשית בדיקה כדי להשוות את תגובת המשתמש לאפשרות הנכונה של השאלה. אם שניהם אינם שווים זה אומר שהמשתמש ענה בצורה שגויה על השאלה ואנחנו מציגים תמונה שמציגה סימן צולב.

   

לחץ על כפתור ההורדה להורדת הקוד.

[buttonleads form_title = 'קוד הורדה' redirect_url = https: //edureka.wistia.com/medias/q2kgiq4su3/download? media_file_id = 67378724 course_id = 44 button_text = 'קוד הורדה']

יש לך שאלה עבורנו? אנא הזכיר זאת בסעיף ההערות ונחזור אליך.

פוסטים קשורים: