निम्नलिखित उदाहरण दिखाता है कि क्लाइंट के आईपी पते और वर्तमान दिनांक समय को कैसे प्रिंट किया जाए, हर बार जब वह किसी भी जेएसपी फ़ाइल तक पहुंचेगा। यह उदाहरण आपको JSP फ़िल्टर की एक बुनियादी समझ देगा, लेकिन आप उसी अवधारणा का उपयोग करके अधिक परिष्कृत फ़िल्टर एप्लिकेशन लिख सकते हैं -
// आयात आवश्यक जावा पुस्तकालय आयात java.io.*; javax.servlet.* आयात करें init(FilterConfig config) ServletException को फेंकता है {//init पैरामीटर प्राप्त करें String testParam =config.getInitParameter("test-param"); // init पैरामीटर को प्रिंट करें System.out.println ("टेस्ट परम:" + टेस्टपरम); } सार्वजनिक शून्य doFilter (ServletRequest अनुरोध, ServletResponse प्रतिक्रिया, FilterChain श्रृंखला) java.io.IOException, ServletException फेंकता है {// क्लाइंट मशीन का आईपी पता प्राप्त करें। स्ट्रिंग ipAddress =request.getRemoteAddr (); // आईपी पता और वर्तमान टाइमस्टैम्प लॉग करें। System.out.println ("आईपी" + आईपीएड्रेस + ", समय" + नई तिथि ()। toString ()); // फ़िल्टर चेन चेन के नीचे अनुरोध पास करें। doFilter (अनुरोध, प्रतिक्रिया); } सार्वजनिक शून्य नष्ट ( ) { /* वेब कंटेनर द्वारा फ़िल्टर इंस्टेंस को सेवा से हटाए जाने से पहले कॉल किया गया*/ }}
संकलित करें LogFilter.java सामान्य तरीके से और अपना LogFilter.class . डालें
Web.xml में JSP फ़िल्टर मैपिंग
फ़िल्टर को परिभाषित किया जाता है और फिर URL या JSP फ़ाइल नाम में मैप किया जाता है, ठीक उसी तरह जैसे सर्वलेट को परिभाषित किया जाता है और फिर web.xml में URL पैटर्न में मैप किया जाता है। फ़ाइल। परिनियोजन वर्णनकर्ता फ़ाइल web.xml . में फ़िल्टर टैग के लिए निम्न प्रविष्टि बनाएं
LogFilter LogFilter test-param आरंभीकरण पैरामीटर LogFilter /*फ़िल्टर-मैपिंग>पूर्व> उपरोक्त फ़िल्टर सभी सर्वलेट्स और JSP पर लागू होगा क्योंकि हमने /* . निर्दिष्ट किया है हमारे विन्यास में। यदि आप फ़िल्टर को केवल कुछ सर्वलेट या JSP पर लागू करना चाहते हैं, तो आप एक विशेष सर्वलेट या JSP पथ निर्दिष्ट कर सकते हैं।
अब किसी सर्वलेट या जेएसपी को कॉल करने का प्रयास करें और आप अपने वेब सर्वर लॉग में जेनरेट लॉग देखेंगे। आप Log4J लकड़हारा का उपयोग कर सकते हैं ऊपर लॉग इन करने के लिए एक अलग फाइल में लॉग इन करें।