আপনার ওয়েব অ্যাপ্লিকেশনে নির্দিষ্ট উদ্দেশ্যে একাধিক আলাদা ফিল্টার ডিফাইন করা যেতে পারে। ধরুন, আপনি দুটি ফিল্টার ডিফাইন করেছেন: AuthenFilter এবং LogFilter। বাকি প্রসেস আগের মতোই থাকবে শুধু আলাদা ম্যাপিং তৈরি করতে হবে:
<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>
<filter-name>AuthenFilter</filter-name>
<filter-class>AuthenFilter</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>
<filter-mapping>
<filter-name>AuthenFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
ফিল্টার অ্যাপ্লিকেশন অর্ডার (Filters Application Order)
web.xml-এ filter-mapping এলিমেন্টের ক্রম নির্ধারণ করে যে ওয়েব কন্টেইনার সার্ভলেট বা JSP-এ ফিল্টারগুলো কোন ক্রমে অ্যাপ্লাই করবে। ফিল্টারের ক্রম উল্টাতে হলে web.xml-এ filter-mapping এলিমেন্টগুলো উল্টা করলেই হবে।
উদাহরণস্বরূপ, উপরের উদাহরণে প্রথমে LogFilter আবার AuthenFilter অ্যাপ্লাই হবে যেকোনো সার্ভলেট বা JSP-এ; নিচের উদাহরণ ক্রমটি উল্টা করবে:
<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>