Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

JSP में एकाधिक फिल्टर्स कैसे परिभाषित करें?

आपका वेब एप्लिकेशन एक विशिष्ट उद्देश्य के साथ कई अलग-अलग फिल्टर्स को परिभाषित कर सकता है। मान लें, आप दो फिल्टर्स AuthenFilter और LogFilter परिभाषित करते हैं। प्रक्रिया का शेष भाग ऊपर बताए अनुसार ही रहेगा सिवाय इसके कि आपको नीचे बताए अनुसार एक अलग मैपिंग बनाने की आवश्यकता है:

web.xml में फिल्टर कॉन्फ़िगरेशन

<filter>
    <filter-name>LogFilter</filter-name>
    <filter-class>LogFilter</filter-class>
    <init-param>
        <param-name>test-param</param-name>
        <param-value>Initialization Parameter</param-value>
    </init-param>
</filter>

<filter>
    <filter-name>AuthenFilter</filter-name>
    <filter-class>AuthenFilter</filter-class>
    <init-param>
        <param-name>test-param</param-name>
        <param-value>Initialization Parameter</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>LogFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
    <filter-name>AuthenFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

फिल्टर्स एप्लिकेशन ऑर्डर

web.xml में filter-mapping एलिमेंट्स का क्रम उस क्रम को निर्धारित करता है जिसमें वेब कंटेनर सर्वलेट या JSP पर फिल्टर लागू करता है। फिल्टर के क्रम को उलटने के लिए, आपको बस web.xml फ़ाइल में filter-mapping एलिमेंट्स को उलटने की आवश्यकता है।

उदाहरण के लिए, उपरोक्त उदाहरण पहले LogFilter लागू करेगा और फिर किसी भी सर्वलेट या JSP पर AuthenFilter लागू करेगा; निम्न उदाहरण क्रम को उलट देगा:

<filter-mapping>
    <filter-name>AuthenFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>LogFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

मुख्य बिंदु

  • प्रत्येक फिल्टर का एक अद्वितीय filter-name और filter-class होना चाहिए।
  • init-param फिल्टर को आरंभीकरण पैरामीटर पास करने की अनुमति देता है।
  • url-pattern निर्धारित करता है कि फिल्टर किन रिक्वेस्ट्स पर लागू होता है (/* = सभी)।
  • क्रम मायने रखता है: पहला फिल्टर रिक्वेस्ट को पहले प्रोसेस करता है, फिर अगले को पास करता है।
  • फिल्टर्स FilterChain.doFilter() को कॉल करके श्रृंखला को जारी रख सकते हैं।

सर्वोत्तम अभ्यास

  • लॉगिंग फिल्टर्स को जल्दी लागू करें (आने वाली रिक्वेस्ट लॉग करने के लिए)।
  • प्रमाणीकरण फिल्टर्स को संसाधन एक्सेस से पहले लागू करें।
  • <dispatcher> एलिमेंट्स का उपयोग करके नियंत्रित करें कि फिल्टर किन डिस्पैचर प्रकारों (REQUEST, FORWARD, INCLUDE, ERROR, ASYNC) पर लागू होता है।
  1. - JSP में रिक्वेस्ट हेडर जानकारी कैसे पढ़ें?

    निम्न उदाहरण HTTP हेडर जानकारी पढ़ने के लिए HttpServletRequest के getHeaderNames() मेथड का उपयोग करता है। यह मेथड एक Enumeration लौटाता है जिसमें वर्तमान HTTP अनुरोध से जुड़ी हेडर जानकारी होती है। एक बार हमारे पास Enumeration हो जाने पर, हम मानक तरीके से Enumeration के माध्यम से लूप कर सकते हैं। हम

  1. JSP में कुकीज़ कैसे सेट करें? JSP में कुकीज़ कैसे सेट करें?

    JSP के साथ कुकीज़ सेट करने में तीन चरण शामिल हैं: चरण 1: Cookie ऑब्जेक्ट बनाना कुकी नाम और कुकी मान दोनों के साथ Cookie कंस्ट्रक्टर को कॉल करें, जो दोनों स्ट्रिंग्स हैं। Cookie cookie = new Cookie(key, value); ध्यान रखें, न तो नाम और न ही मान में व्हाइटस्पेस या निम्नलिखित कैरेक्टर्स होने चाहिए: [ ]

  1. मैक पर एकाधिक iMessages को तुरंत हटाएं: चरण-दर-चरण गाइड मैक पर एकाधिक iMessages को तुरंत हटाएं: चरण-दर-चरण गाइड

    मैक Apple Inc. द्वारा विकसित एक कंप्यूटर सिस्टम है। इसे अब तक का सबसे तेज़ कंप्यूटर माना जाता है। इसका उपयोग ज्यादातर वीडियो एडिटिंग उद्देश्यों के लिए किया जाता है, और यह इतना टिकाऊ है कि 5 साल बाद भी यह नए की तरह काम करेगा। Apple उत्पाद आमतौर पर एक-दूसरे से जुड़े होते हैं। इसलिए, आईफोन भी मैक से जु