2011-09-22 10 views
7

में श्रोता वर्ग का उद्देश्य क्या है मैं श्रोताओं के वर्गों के बारे में उलझन में हूं।एक बड़ी परियोजना

<listener> 
     <listener-class>com.sun.javaee.blueprints.petstore.model.CatalogFacade</listener-class> 
</listener> 

यह के रूप में नाम का तात्पर्य सिर्फ करने के लिए कार्यों के लिए सुन रहा है: उदाहरण के लिए, इस परियोजना में वहाँ एक श्रोता वर्ग इतनी के रूप में संदर्भित है?

उत्तर

4

मैं सर्वलेट विनिर्देशन से "एप्लिकेशन लाइफसाइक्ल इवेंट्स" पर अध्याय की समीक्षा करने का सुझाव दूंगा।

जो संस्करण उपयोग कर रहे आधार पर, यहां डॉक्स के लिए इसी अध्याय और लिंक कर रहे हैं:

श्रोताओं को वेब अनुप्रयोगों के लिए घटनाओं के बारे में अधिसूचित किया जाता है, जिसमें ServletContext में राज्य परिवर्तन शामिल हैं , HttpSession, और ServletRequest वस्तुओं। पूर्वनिर्धारित श्रोता इंटरफेस को लागू करके (javax.servlet.ServletContextListener, javax.servlet.http.HttpSessionListener, javax.servlet.ServletRequestListener, आदि), सर्वलेट कंटेनर आपको आपके एप्लिकेशन में होने वाली कुछ घटनाओं के बारे में सूचित करेगा। उनके पास बहुत से संभावित उपयोग हैं, जैसे एक बार एप्लिकेशन सेटअप और शटडाउन कार्य करना, लॉगिंग करने के लिए अनुरोधों को अवरुद्ध करना, HTTP सत्र उपयोग आदि को ट्रैक करना आदि।

6

श्रोता वर्गों को चयनित कार्यक्रमों जैसे अधिसूचना शुरू करने या एक नया सत्र बनाने पर अधिसूचित किया जाता है।

श्रोता क्लास:

ये साधारण जावा वर्गों जो दो निम्नलिखित इंटरफेस में से एक को लागू कर रहे हैं:

  • javax.servlet.ServletContextListener
  • javax.servlet.http.HttpSessionListener

आप अपने वर्ग चाहते हैं आवेदन स्टार्टअप और सुनने के लिए शटडाउन घटनाएं ServletContextListener इंटरफेस को लागू करें। यदि आप सत्र निर्माण और अमान्य घटनाओं को सुनने के लिए अपनी कक्षा चाहते हैं तो HttpSessionListener इंटरफ़ेस लागू करें।

Source

+1

'ServletContextListener' आमतौर पर वेब एप्लिकेशन के स्टार्टअप और शटडाउन पर प्रतिक्रिया करता है और आवश्यक वस्तुओं के किसी भी आवश्यक प्रारंभिकरण को ट्रिगर करता है। 'HttpSessionListener' आमतौर पर एप्लिकेशन पर लॉग इन करने वाले उपयोगकर्ताओं पर प्रतिक्रिया करता है और प्रति उपयोगकर्ता प्रारंभिकता करता है। –

+0

आपको बहुत धन्यवाद - यह मेरे लिए बहुत साफ करता है! – Coffee

2

हाँ बिल्कुल वे कुछ कार्रवाई कार्य करने के लिए सुन रहे हैं, उदाहरण के लिए अगर इसके contextloaderlistener तो यह संदर्भ लोड हो रहा है घटना के लिए सुनेगा और कई सामान है कि हम इस तरह के समारोह में क्या कर सकते हैं इसलिए इन बना रहे हैं देखते हैं उस

+0

आपको बहुत धन्यवाद - इसलिए नाम श्रोता बहुत उपयुक्त है! – Coffee

2

अधिक आम तौर पर, श्रोता observer pattern में पर्यवेक्षक/ग्राहक पक्ष होता है। सर्वर/फ्रेमवर्क पक्ष आपको कुछ घटनाओं के बारे में अधिसूचित करने के साधन प्रदान करता है और इसलिए आपको अपने कार्यों को करने का मौका देता है।

और यह आवश्यक नहीं है कि "एक बड़ी परियोजना" हो। श्रोताओं छोटे बच्चों में भी आसान आते हैं :)।

+0

@ विनीत रेनॉल्ड्स धन्यवाद, "क्लाइंट" यहां अजीब था। बीटीडब्लू, मैं देख सकता हूं कि वास्तव में क्या संपादित किया गया था, मान लीजिए कि आपने मुझे अधिसूचित नहीं किया है? क्या कोई "इतिहास" बटन है जो मैं अपने कम प्रतिनिधि के कारण नहीं देख सकता हूं? – MaDa

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