सर्वलेट और JSP फिल्टर्स जावा क्लासेस हैं जिनका उपयोग सर्वलेट और JSP प्रोग्रामिंग में निम्नलिखित उद्देश्यों के लिए किया जा सकता है:
- क्लाइंट से रिक्वेस्ट को इंटरसेप्ट करना इससे पहले कि वे बैकएंड पर संसाधन तक पहुंचें।
- सर्वर से रिस्पॉन्स को हेरफेर करना इससे पहले कि वे क्लाइंट को वापस भेजे जाएं।
विनिर्देश द्वारा सुझाए गए विभिन्न प्रकार के फिल्टर्स
- प्रमाणीकरण फिल्टर्स (Authentication Filters)
- डेटा संपीड़न फिल्टर्स (Data compression Filters)
- एन्क्रिप्शन फिल्टर्स (Encryption Filters)
- संसाधन एक्सेस इवेंट ट्रिगर करने वाले फिल्टर्स
- छवि रूपांतरण फिल्टर्स (Image Conversion Filters)
- लॉगिंग और ऑडिटिंग फिल्टर्स (Logging and Auditing Filters)
- MIME-TYPE चेन फिल्टर्स
- टोकनाइज़िंग फिल्टर्स (Tokenizing Filters)
- XML कंटेंट को ट्रांसफॉर्म करने वाले XSL/T फिल्टर्स
तैनाती
फिल्टर्स को तैनाती वर्णनकर्ता फ़ाइल web.xml में तैनात किया जाता है और फिर आपके एप्लिकेशन के तैनाती वर्णनकर्ता में सर्वलेट या JSP नामों या URL पैटर्न्स पर मैप किया जाता है। तैनाती वर्णनकर्ता फ़ाइल web.xml <Tomcat-installation-directory>\conf निर्देशिका में पाई जा सकती है।
निष्पादन क्रम
जब JSP कंटेनर आपके वेब एप्लिकेशन को शुरू करता है, तो यह तैनाती वर्णनकर्ता में आपके द्वारा घोषित प्रत्येक फिल्टर का एक इंस्टेंस बनाता है। फिल्टर्स उस क्रम में निष्पादित होते हैं जिसमें वे तैनाती वर्णनकर्ता में घोषित होते हैं।
फिल्टर इंटरफेस
सभी फिल्टर्स को javax.servlet.Filter इंटरफेस लागू करना होगा जिसमें तीन मेथड्स होते हैं:
init(FilterConfig config)- आरंभीकरणdoFilter(ServletRequest, ServletResponse, FilterChain)- मुख्य प्रोसेसिंगdestroy()- सफाई
आम उपयोग के मामले
- लॉगिंग/ऑडिटिंग: इनकमिंग रिक्वेस्ट्स/आउटगोइंग रिस्पॉन्स लॉग करें।
- प्रमाणीकरण/प्राधिकरण: लॉगिन स्थिति, भूमिकाओं की जांच करें।
- संपीड़न: रिस्पॉन्स बॉडी को GZIP संपीड़ित करें।
- एन्कोडिंग: कैरेक्टर एन्कोडिंग सेट/फोर्स करें।
- कैशिंग हेडर्स: Cache-Control, ETag हेडर्स जोड़ें।
- CORS: क्रॉस-ओरिजिन हेडर्स जोड़ें।