2012-03-21 14 views

उत्तर

10

Filter अपने यूआरएल पैटर्न से मेल खाने वाले HTTP अनुरोधों पर हस्तक्षेप करता है और आपको उन्हें संशोधित करने की अनुमति देता है। भी अपने javadoc देखें:

एक फिल्टर एक वस्तु है कि या तो एक संसाधन (एक सर्वलेट या स्थैतिक सामग्री) के अनुरोध पर छानने कार्य करता है, या एक संसाधन, या दोनों से प्रतिक्रिया पर।

फ़िल्टर doFilter विधि में फ़िल्टरिंग प्रदर्शन करते हैं। प्रत्येक Filter की FilterConfig ऑब्जेक्ट तक पहुंच है, जिससे वह इसके प्रारंभिक पैरामीटर प्राप्त कर सकता है, और ServletContext का संदर्भ जो इसका उपयोग कर सकता है, उदाहरण के लिए, कार्यों को फ़िल्टर करने के लिए आवश्यक संसाधन लोड करने के लिए।

फ़िल्टर वेब अनुप्रयोग के तैनाती वर्णनकर्ता में कॉन्फ़िगर किए गए हैं।

उदाहरण जिन पर यह डिजाइन के लिए पहचान की गई है इस प्रकार हैं:

  • प्रमाणीकरण फिल्टर
  • प्रवेश और लेखा परीक्षा फिल्टर
  • छवि रूपांतरण फिल्टर
  • डेटा संपीड़न फिल्टर
  • एन्क्रिप्शन फिल्टर
  • Tokenizing फ़िल्टर
  • फ़िल्टर कि संसाधन का उपयोग घटनाओं को गति प्रदान
  • XSL/टी फिल्टर
  • माइम-प्रकार श्रृंखला फ़िल्टर

वेब ऐप्लिकेशन की स्टार्टअप और शट डाउन पर एक ServletContextListener अवरोध और आपको स्टार्टअप पर कुछ कोड निष्पादित करने के लिए अनुमति देता है और/या बंद करना। ServletContext जीवन चक्र परिवर्तन के बारे में अधिसूचना घटनाओं प्राप्त करने के लिए

इंटरफ़ेस: भी अपने javadoc देखें।

इन अधिसूचना घटनाओं प्राप्त करने के लिए, कार्यान्वयन वर्ग या तो वेब अनुप्रयोग की तैनाती डिस्क्रिप्टर में घोषित किया जाना चाहिए, WebListener साथ उसकी व्याख्या, या addListener तरीकों ServletContext पर परिभाषित में से एक के माध्यम से पंजीकृत।

इस इंटरफ़ेस के कार्यान्वयन को उनके contextInitialized(javax.servlet.ServletContextEvent) विधि पर क्रमशः क्रम में घोषित किया गया है, और उनके contextDestroyed(javax.servlet.ServletContextEvent) विधि में रिवर्स ऑर्डर में लागू किया गया है।

एक या दूसरे का उपयोग कब करना चाहिए अब स्पष्ट होना चाहिए। Filter का उपयोग करें यदि आप HTTP अनुरोधों को एक विशिष्ट यूआरएल पैटर्न मशीनिंग पर रोकना चाहते हैं क्योंकि आप HTTP अनुरोध/प्रतिक्रिया को जांच/संशोधित करना चाहते हैं। यदि आप वेबएप के स्टार्टअप और/या शट डाउन पर रोकना चाहते हैं तो ServletContextListener का उपयोग करें।

कृपया जान लें कि javadocs कहां ढूंढें और उन्हें कैसे समझें। उनमें इस तरह के छोटे प्रश्नों के सभी उत्तर होते हैं।

+0

आपने जावा दस्तावेज़ों में पाया जा सकता है की तुलना में बहुत अधिक उपयोगी जानकारी प्रदान की है। तो धन्यवाद। – BestPractices

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