2008-09-27 13 views
7

हमें servlet में init() विधि क्यों चाहिए? क्या हम प्रारंभकर्ता को कन्स्ट्रक्टर का उपयोग नहीं कर सकते?सर्वलेट कन्स्ट्रक्टर और init() विधि

+0

देखें [इसी तरह के प्रश्न का मेरा जवाब] (http://stackoverflow.com/questions/1276082/constructor-in-servlet/2659597#2659597)। – gawi

उत्तर

18

क्योंकि सर्वलेट एक इंटरफेस है, एक अमूर्त वर्ग नहीं है। कन्स्ट्रक्टर तर्क को इंटरफ़ेस पर निर्दिष्ट नहीं किया जा सकता है, इसलिए ServletContext को सामान्य विधि हस्ताक्षर पर निर्दिष्ट करने की आवश्यकता है।

यह एप्लिकेशन सर्वर को यह जानने की अनुमति देता है कि किसी भी सर्वलेट कार्यान्वयन को सही तरीके से कैसे प्रारंभ किया जाए।

एक अन्य समाधान की आवश्यकता होती है, लेकिन संकलन समय पर लागू नहीं होता है, जो कि ServletContext ले जाने वाला एक कन्स्ट्रक्टर है। एप्लिकेशन सर्वर फिर प्रतिबिंब के माध्यम से कन्स्ट्रक्टर को कॉल करेगा। हालांकि, सर्वलेट विनिर्देश के डिजाइनरों ने इस पथ को नहीं चुना है।

+1

+1 वास्तव में सहायक :) – 0decimal0

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