কম্পিউটার টিউটোরিয়াল

JSP-এ ফিল্টার ব্যবহারের উদাহরণ

নিচের উদাহরণটি দেখাবে কীভাবে ক্লায়েন্টের IP ঠিকানা এবং বর্তমান তারিখ-সময় প্রিন্ট করা যায় প্রতিবার যেকোনো JSP ফাইল এক্সেস করলে। এটি JSP ফিল্টারের বেসিক ধারণা দেবে, তবে আপনি একই কনসেপ্ট ব্যবহার করে আরও উন্নত ফিল্টার অ্যাপ্লিকেশন লিখতে পারেন।

LogFilter.java

// Import required java libraries 
import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 
import java.util.*; 

// Implements Filter class 
public class LogFilter implements Filter { 
    public void init(FilterConfig config) throws ServletException { 
        // Get init parameter 
        String testParam = config.getInitParameter("test-param"); 
        // Print the init parameter 
        System.out.println("Test Param: " + testParam); 
    } 
    
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) 
        throws java.io.IOException, ServletException { 
        // ক্লায়েন্ট মেশিনের IP ঠিকানা পান 
        String ipAddress = request.getRemoteAddr(); 
        // IP এবং বর্তমান টাইমস্ট্যাম্প লগ করুন 
        System.out.println("IP " + ipAddress + ", Time " + new Date().toString()); 
        // রিকোয়েস্ট ফিল্টার চেইন-এর নিচে পাস করুন 
        chain.doFilter(request, response); 
    } 
    
    public void destroy() { 
        /* 웹 কন্টেইনার দ্বারা ফিল্টার ইনস্ট্যান্স সার্ভিস থেকে हটাওয়ার আগে কল হয় */ 
    } 
}

কম্পাইল এবং ডিপ্লয়

  1. LogFilter.java কম্পাইল করুন
  2. LogFilter.class ফাইলটি রাখুন: <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes

web.xml-এ ফিল্টার ম্যাপিং

ফিল্টারগুলো ডিফাইন করা হয় এবং তারপর URL বা JSP ফাইল নামের সাথে ম্যাপ করা হয়, ঠিক সার্ভলেটের মতো web.xml-এ। ডিপ্লয়মেন্ট ডেসক্রিপ্টর ফাইলে নিচের এন্ট্রি তৈরি করুন:

<filter> 
    <filter-name>LogFilter</filter-name> 
    <filter-class>LogFilter</filter-class> 
    <init-param> 
        <param-name>test-param</param-name> 
        <param-value>Initialization Paramter</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>LogFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping>

উপরের ফিল্টারটি সকল সার্ভলেট এবং JSP-এ অ্যাপ্লাই হবে কারণ আমরা /* স্পেসিফাই করেছি। আপনি নির্দিষ্ট সার্ভলেট বা JSP পাথ দিয়ে শুধু কিছু সার্ভলেট বা JSP-এ ফিল্টার অ্যাপ্লাই করতে পারেন।

এখন যেকোনো সার্ভলেট বা JSP কল করলে আপনার ওয়েব সার্ভার লগে জেনারেটেড লগ দেখবেন। আলাদা ফাইলে লগ করার জন্য Log4J logger ব্যবহার করতে পারেন।

  1. Excel에서 고급 필터 사용하는 방법

  2. ম্যাকে VR (ভার্চুয়াল রিয়েলিটি) ব্যবহারের সম্ভাবনা ও পদ্ধতি

  3. এক্সেল টেক্সট ফиль্টার মাস্টার করুন: ৫টি প্রায়োগিক উদাহরণ ও ধাপে ধাপে গাইড

  4. Windows 10 এবং 11-এ কালার ফিল্টার প্রয়োগ করার ধাপে ধাপে গাইড