আমি আমার স্প্রিং এমভিসি অ্যাপ্লিকেশনটিতে এটি দেখতে পাচ্ছি web.xml
:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
আমি কেন এটি সেখানে এবং এটি আসলে প্রয়োজন কিনা তা জানার চেষ্টা করছি।
আমি স্প্রিং ডক্সে এই ব্যাখ্যাটি পেয়েছি তবে এটি আমাকে তা বোঝাতে সহায়তা করে না:
দেখে মনে হচ্ছে যে এই উপাদানটি web.xml
বসন্তে সংজ্ঞায়িত সার্ভারলেট এবং উপাদানগুলির মধ্যে "আঠালো" applicationContext.xml
।
7.1 ডেলিগেটিং ফিল্টারপ্রক্সি
সার্লেলেট ফিল্টারগুলি ব্যবহার করার সময়, আপনাকে অবশ্যই এগুলি আপনার মধ্যে ঘোষণা
web.xml
করতে হবে, না তারা সার্লেট পাত্রে উপেক্ষা করা হবে। স্প্রিং সিকিউরিটিতে, ফিল্টার ক্লাসগুলি স্প্রিং মটরশুটিও অ্যাপ্লিকেশন প্রসঙ্গে সংজ্ঞায়িত হয় এবং এইভাবে স্প্রিংয়ের সমৃদ্ধ নির্ভরতা-ইনজেকশন সুবিধা এবং লাইফাইকেল ইন্টারফেসের সুবিধা নিতে সক্ষম হয়। স্প্রিংস এবং অ্যাপ্লিকেশন প্রসঙ্গেDelegatingFilterProxy
মধ্যবর্তী লিঙ্ক সরবরাহweb.xml
করে।DelegatingFilterProxy ব্যবহার করার সময়, আপনি
web.xml
ফাইলে এমন কিছু দেখতে পাবেন :<filter> <filter-name>myFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>myFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
লক্ষ্য করুন যে ফিল্টারটি আসলে একটি
DelegatingFilterProxy
এবং ক্লাসটি আসলে ফিল্টারটির যুক্তি বাস্তবায়ন করবে না implementDelegatingFilterProxy
ফিল্টারের পদ্ধতিগুলি একটি শিমের মাধ্যমে কী সরবরাহ করা হয় যা বসন্তের অ্যাপ্লিকেশন প্রসঙ্গে পাওয়া যায়। এটি শিমটি স্প্রিং ওয়েব অ্যাপ্লিকেশন প্রসঙ্গে লাইফসাইকেল সমর্থন এবং কনফিগারেশনের নমনীয়তা থেকে উপকৃত করতে সক্ষম করে। শিমটি অবশ্যই প্রয়োগjavax.servlet.Filter
করতে হবে এবং ফিল্টার-নাম উপাদান হিসাবে এর একই নাম থাকতে হবে। আরও তথ্যের জন্য ডেলিগেটিং ফিল্টারপ্রক্সির জাভাডোক পড়ুন
সুতরাং, আমি যদি এটিকে আমার বাইরে নিয়ে যাই তবে web.xml
কী হবে? আমার সার্লেটগুলি স্প্রিং পাত্রে যোগাযোগ করতে সক্ষম হবে না? **