2014-04-11 8 views
6

मुझे 40 सेकंड के सत्र टाइमआउट सेट करने की आवश्यकता है। मुझे पता है कि हम सामान्य रूप से 20 मिनट तक रहते हैं। लेकिन मेरी वर्तमान एप्लिकेशन आवश्यकता सत्र टाइमआउट को 40 सेकंड तक रखना है। Web.xml केवल 1 के रूप में पूर्णांक मान ले रहा है लेकिन यह 0.6 नहीं ले रहा है। क्या यह लिखने का कोई तरीका है? हम अपाचे टॉमकैट सर्वर पर हमारे जावा वेब एप्लिकेशन चला रहे हैं।मैं web.xml में सेकेंड में सत्र टाइमआउट कैसे सेट करूं?

तो मैं web.xml में सेकेंड में सत्र टाइमआउट कैसे सेट करूं?

+0

जाएँ http://stackoverflow.com/questions/15382895/session-timeout-in-web-xml अधिक जानकारी – harunaydin28

उत्तर

11

तैनाती वर्णनकर्ता का उपयोग करना, आप केवल मिनट में टाइमआउट सेट कर सकते हैं:

<session-config> 
    <session-timeout>1</session-timeout> 
</session-config> 

लेकिन HttpSession एपीआई का उपयोग कर आप एक सर्वलेट के लिए सेकंड में सत्र टाइमआउट सेट कर सकते हैं:

HttpSession session = request.getSession(); 
session.setMaxInactiveInterval(40*60); 

सुझाए गए पढ़ना: http://docs.oracle.com/cd/E13222_01/wls/docs81/webapp/web_xml.html#1017275

+4

के लिए इस 40 नहीं मिनट सेकेंड के रूप में व्यवहार करेगा। –

3

वेब.एक्सएमएल फ़ाइल में अच्छी तरह से आप मिनटों में

प्रदान कर सकते हैं "मिनट" में टाइमआउट मान, निर्दिष्ट "सत्र-config" तत्व के साथ जोड़ देना -
<session-config> 
    <session-timeout>Minutes</session-timeout> 
</session-config> 

लेकिन आप प्रोग्राम के मूल्यों सेकंड

HttpSession session = request.getSession(); 
session.setMaxInactiveInterval(20*60); 
0
1) Timeout in the deployment descriptor (web.xml) 

में प्रदान करते हैं।

मार्कअप

<web-app ...> 
    <session-config> 
     <session-timeout>20</session-timeout> 
    </session-config> 
</web-app> 

ऊपर सेटिंग पूरे वेब आवेदन के लिए आवेदन किया है, और अगर ग्राहक 20 मिनट के बाद किसी भी अनुरोध नहीं है सत्र कंटेनर से मारने की जाएगी।

2) Timeout with setMaxInactiveInterval() 

- आप किसी विशेष सत्र के लिए "दूसरे" में मैन्युअल रूप से टाइमआउट मान निर्दिष्ट कर सकते हैं।

जावा

HttpSession session = request.getSession(); 
session.setMaxInactiveInterval(20*60); 

ऊपर सेटिंग केवल सत्र जो "setMaxInactiveInterval()" विधि कॉल पर लागू है, और यदि ग्राहक 20 मिनट के बाद किसी भी अनुरोध नहीं है सत्र कंटेनर से मारने की जाएगी।

0

आप "setMaxInactiveInterval()" के माध्यम से सत्र टाइमआउट को ओवरराइड कर सकते हैं।

HttpSession session = request.getSession(); 
session.setMaxInactiveInterval(20000); 

यहां यह मिलीसेकंड में समय लगेगा, इसका मतलब है कि अगले 20 सेकंड सत्र समाप्त हो जाएगा।

+1

setMaxInactiveInterval सेकंड में मान लेता है –

संबंधित मुद्दे