java - Associate an object with http session j2ee -


मेरे पास एक सूची & lt; entity & gt; मेरे जावा वेब अनुप्रयोग (tomcat8, servlet3) में मेरे entity वर्ग के सीटीएक्स , मैं अपने संदर्भ (सूची) के साथ प्रत्येक सत्र (उपयोगकर्ता) के लिए एक उदाहरण रखता हूं, और उपयोगकर्ता के संदर्भ में एक संदर्भ प्रति सत्र, जैसे निम्नलिखित।

  javax.servlet.http.http सत्र सत्र = request.getSession (सत्य); // घोषणा और इकाई वस्तु इकाई ई और नई इकाई (); e.timestamp = System.currentTimeMillis (); // सत्र सत्र के साथ ई रखें .setAttribute ("e", e); // और संदर्भ संदर्भ के साथ एक संदर्भ प्रतिलिपि ctx.add (e);  

प्रश्न:
मैं सिर्फ उपयोगकर्ता के सत्र सत्र के बारे में जानना चाहता हूं (एक घटना, श्रोता, ...), ताकि < कोड> इकाई वस्तु से ctx वस्तु का समय समाप्त हो गया (निकाला गया)।
अब मुझे कैसे एहसास हो सकता है कि सर्वर से एक सत्र समाप्त हो रहा है?
< / P>

बस एक HttpSessionListener का उपयोग करें। यह विशेष रूप से उस उपयोग के लिए मौजूद है बस सत्र से छेड़छाड़ (HttpSessionEvent से) :

  @Override सार्वजनिक शून्य सत्र नष्ट हो गया (HttpSessionEvent से) {Http सत्र सत्र = se.getSession (); // अपने प्रसंस्करण करें} @ ओवरराइड पब्लिक वायड स्यूशन (एचटीटीपीएसएशनएवेंट से) {// खाली कार्यान्वयन यदि आपको इसकी ज़रूरत नहीं है ...}  

इसे घोषित करने के लिए मत भूलना Javadoc से निकालें: इन अधिसूचना घटनाओं को प्राप्त करने के लिए, कार्यान्वयन वर्ग या तो वेब ऐलेस्टर के साथ एनोटेट किया गया वेब ऍप्लिकेशर के परिनियोजन डिस्क्रिप्टर में घोषित किया जाना चाहिए, या सर्विसटाइन्टेन्टेक्स्ट पर परिभाषित ऐड-लिस्टनर विधियों में से एक के माध्यम से पंजीकृत होना चाहिए


Comments