जब आप उपयोगकर्ता के सत्र डेटा के साथ काम पूरा कर लेते हैं, तो आपके पास कई विकल्प होते हैं:
एक विशेष एट्रिब्यूट हटाएं - आप विशेष कुंजी से जुड़े मान को हटाने के लिए public void removeAttribute(String name) मेथड को कॉल कर सकते हैं।
पूरा सत्र हटाएं - आप पूरे सत्र को अमान्य करने के लिए public void invalidate() मेथड को कॉल कर सकते हैं।
सत्र टाइमआउट सेट करना - आप व्यक्तिगत रूप से सत्र के लिए टाइमआउट सेट करने के लिए public void setMaxInactiveInterval(int interval) मेथड को कॉल कर सकते हैं।
उपयोगकर्ता को लॉग आउट करें - सर्वलेट्स 2.4 का समर्थन करने वाले सर्वर पर, आप क्लाइंट को वेब सर्वर से लॉग आउट करने और सभी उपयोगकर्ताओं से संबंधित सभी सत्रों को अमान्य करने के लिए logout को कॉल कर सकते हैं।
web.xml कॉन्फ़िगरेशन - यदि आप टोमकैट का उपयोग कर रहे हैं, तो उपरोक्त विधियों के अलावा, आप web.xml फ़ाइल में सत्र टाइमआउट को निम्नानुसार कॉन्फ़िगर कर सकते हैं:
<session-config>
<session-timeout>15</session-timeout>
</session-config>
टाइमआउट मिनटों में व्यक्त किया जाता है और टोमकैट में डिफ़ॉल्ट टाइमआउट को ओवरराइड करता है जो 30 मिनट है।
getMaxInactiveInterval() मेथड एक सर्वलेट में उस सत्र के लिए टाइमआउट अवधि को सेकंड में लौटाता है। इसलिए यदि आपका सत्र web.xml में 15 मिनट के लिए कॉन्फ़िगर किया गया है, तो getMaxInactiveInterval() 900 लौटाता है।
कोड उदाहरण
<%
// विशेष एट्रिब्यूट हटाएं
session.removeAttribute("username");
// पूरा सत्र अमान्य करें (लॉगआउट)
session.invalidate();
// इस सत्र के लिए 10 मिनट टाइमआउट सेट करें
session.setMaxInactiveInterval(10 * 60);
%>
सर्वोत्तम अभ्यास
- लॉगआउट पर हमेशा
session.invalidate()करें। - संवेदनशील एट्रिब्यूट्स के लिए छोटा टाइमआउट सेट करें।
- web.xml में वैश्विक टाइमआउट कॉन्फ़िगर करें, प्रति-सत्र टाइमआउट के लिए setMaxInactiveInterval का उपयोग करें।