2010-06-02 9 views

उत्तर

89

Filter का उपयोग करें जब आप फ़िल्टर करना चाहते हैं और/या विशिष्ट स्थितियों के आधार पर अनुरोधों को संशोधित करें। नियंत्रण, प्रीप्रोसेस और/या पोस्टप्रोसेस अनुरोधों पर Servlet का उपयोग करें।

एक फिल्टर एक वस्तु है कि एक अनुरोध या प्रतिक्रिया के शीर्षक और सामग्री (या दोनों) बदल सकता है:

Java EE tutorial फ़िल्टर के बारे में निम्नलिखित का उल्लेख है। फिल्टर उन फ़िल्टरों में भिन्न होते हैं जो फ़िल्टर आमतौर पर प्रतिक्रिया नहीं बनाते हैं। इसके बजाए, एक फ़िल्टर कार्यक्षमता प्रदान करता है जिसे किसी भी प्रकार के वेब संसाधन से "संलग्न" किया जा सकता है। नतीजतन, एक फ़िल्टर को वेब संसाधन पर कोई निर्भरता नहीं होनी चाहिए जिसके लिए यह फ़िल्टर के रूप में कार्य कर रहा है; इस तरह इसे एक से अधिक प्रकार के वेब संसाधनों से बनाया जा सकता है।

  • क्वेरी अनुरोध और उसके अनुसार कार्य:

    मुख्य कार्य है कि एक फिल्टर प्रदर्शन कर सकते हैं इस प्रकार हैं।

  • किसी भी आगे जाने से अनुरोध-और-प्रतिक्रिया जोड़ी को अवरुद्ध करें।
  • अनुरोध शीर्षलेख और डेटा संशोधित करें। आप अनुरोध के एक अनुकूलित संस्करण प्रदान करके ऐसा करते हैं।
  • प्रतिक्रिया शीर्षलेख और डेटा संशोधित करें। आप प्रतिक्रिया का एक अनुकूलित संस्करण प्रदान करके ऐसा करते हैं।
  • बाहरी संसाधनों के साथ बातचीत करें।

प्राधिकरण के लिए, एक Filter सबसे उचित होगा। यहाँ की एक बुनियादी किकऑफ़ उदाहरण है कि कैसे लॉग-इन उपयोगकर्ता के लिए एक फिल्टर की जाँच करता अनुरोध:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { 
    if (((HttpServletRequest) request).getSession().getAttribute("user") == null) { 
     // User is not logged in. Redirect to login page. 
     ((HttpServletResponse) response).sendRedirect("login"); 
    } else { 
     // User is logged in. Just continue with request. 
     chain.doFilter(request, response); 
    } 
} 
+0

उस –

+0

के लिए स्पष्टीकरण +1 के लिए धन्यवाद प्रदान किया गया लिंक बहुत अच्छा है। इसके लिए भी धन्यवाद। –

15

फ़िल्टर प्राधिकरण के लिए सबसे उपयुक्त हैं। ऐसा इसलिए है क्योंकि उन्हें किसी साइट के सभी पृष्ठों के लिए चलाने के लिए कॉन्फ़िगर किया जा सकता है। तो आपको अपने सभी पृष्ठों की सुरक्षा के लिए केवल एक फ़िल्टर की आवश्यकता है।

+0

सभी पेज = पृष्ठ जिन्हें लॉगिन की आवश्यकता हो सकती है। – UnKnown

1

फिल्टर का उपयोग करते हुए हम performance-- सर्वलेट सुधार कर सकते हैं जब अनुरोध आता है हम अनुरोध पर पूर्व प्रसंस्करण प्रदर्शन कर सकते हैं, अगर अनुरोध को संतुष्ट करता है तो हम सर्वलेट के लिए अग्रेषित कर सकते हैं अन्यथा ग्राहक को संदेश में उचित जानकारी प्रदान करने के लिए संदेश दें ..

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