HttpSession#getMaxInactiveInterval()
और setTimeout()
का उपयोग करें। इस विशेष उद्देश्य में अजाक्स की कोई आवश्यकता नहीं है, जब तक कि आप प्रत्येक ग्राहक गतिविधि (मतदान) पर टाइमआउट स्थगित नहीं करना चाहते हैं।
बुनियादी उदाहरण:
<script>
var secondsBeforeExpire = ${pageContext.session.maxInactiveInterval};
var timeToDecide = 15; // Give client 15 seconds to choose.
setTimeout(function() {
alert('Your session is about to timeout in ' + timeToDecide + ' seconds!')
}, (secondsBeforeExpire - timeToDecide) * 1000);
</script>
बुनियादी alert()
के संदेश के अंदर समय घटती करने के लिए जादुई, तो बजाय आप HTML डोम पेड़ और के माध्यम से सामग्री पर नियंत्रण है जिसमें आप एक div से आच्छादन की आवश्यकता होगी पाठ को गतिशील रूप से बदलने के लिए 1 सेकंड पर setTimeout()
का उपयोग करें।
ध्यान दें कि ईएल को काम करने के लिए JspServlet
द्वारा इस स्क्रिप्ट को सेवा दी जानी चाहिए। इस प्रकार, आप JSP पेज के HTML <head>
में स्क्रिप्ट डाल करने की आवश्यकता है, या यदि आप वास्तव में एक अलग *.js
फ़ाइल में सभी जे एस करना चाहते हैं, तो आप यह बताने के लिए JspServlet
रूप में अच्छी तरह से किसी भी *.js
अनुरोध को संभाल की जरूरत है।
वास्तव में सहायक सुझाव और बिंदु तक। धन्यवाद। –
आप सही हैं, AJAX के लिए कोई सख्त आवश्यकता नहीं है लेकिन सत्र को अपडेट करने के लिए 'XMLHttpRequest' का उपयोग करने के बारे में अच्छी बात यह है कि उपयोगकर्ता को टाइमआउट से बचने के लिए नेविगेट करने की आवश्यकता नहीं होगी। उदाहरण के लिए फॉर्म भरते समय यह आसान हो सकता है। –
"यदि आप वास्तव में एक अलग * .js फ़ाइल में सभी जेएस रखना चाहते हैं, तो आपको JspServlet को किसी भी * .js अनुरोधों को संभालने की ज़रूरत है" - क्या आप इसे समझा सकते हैं, मैं जेएस से परिचित नहीं हूं, और मुझे यह फ़ंक्शन एक अलग * .js फ़ाइल में रखना होगा, क्योंकि मेरे पास बहुत सारे जेएसपी पेज हैं? इस तरह काम करने के लिए मुझे क्या करना चाहिए? @BalusC –