আপনারা সবাই জানেন যে, স্প্রিং বুট একটি ওয়েব অ্যাপ্লিকেশন বা ন্যূনতম কনফিগারেশন এবং মতামত সেটআপ সহ স্ট্যান্ডঅ্যালোন অ্যাপ বিকাশের একটি দুর্দান্ত উপায়।
এভাবেই আমি স্প্রিং বুট অ্যাপ্লিকেশনটিতে একটি ওয়েব ফিল্টার বিকাশ অর্জন করেছি
আমার স্প্রিংবুট অ্যাপ স্পেসিফিকেশন: -
স্প্রিং বুট সংস্করণ: ২.০.৪.আরলেস
জাভা সংস্করণ: ৮.০ সার্লেট
নির্দিষ্টকরণ: সার্ভলেট 3.0 (বাধ্যতামূলক এবং গুরুত্বপূর্ণ)
আমি সার্ভলেট স্পেসিফিকেশন 3.0.০ অনুসরণ করে নিম্নলিখিত পদ্ধতিতে আমার ওয়েব ফিল্টারটি ঘোষণা করেছিলাম
ওয়েব.এক্সএমএল ভিত্তিক সংজ্ঞাগুলির প্রতিস্থাপন হিসাবে ফিল্টারকে সংজ্ঞায়িত করার এটি প্রোগ্রামিক পদ্ধতি।
"@ ওয়েবেফিল্টার" টীকাগুলি মোতায়েনের সময় কনটেইনার দ্বারা প্রক্রিয়া করা হবে, ফিল্টার শ্রেণীর মধ্যে এটি পাওয়া যায় যেটি কনফিগারেশন অনুযায়ী তৈরি করা হবে এবং ইউআরএল নিদর্শন, জাভ্যাক্স.সারলেট.সার্ভলেট এবং জাভ্যাক্স.সারলেট.ডিসপাচারটাইপগুলিতে প্রয়োগ করা হবে।
Web.xML সম্পূর্ণরূপে এড়াতে এবং "প্রয়োগযোগ্য" ওয়েব অ্যাপ্লিকেশন অর্জন করতে: -
"ট্র্যাডিশনাল ওয়ার" হিসাবে স্প্রিং বুট অ্যাপ্লিকেশন স্থাপন করার জন্য, অ্যাপ্লিকেশন শ্রেণির স্প্রিংবুটসার্ভালেটআইনিটাইজারকে বাড়ানো উচিত।
দ্রষ্টব্য ::
স্প্রিংবুটসার্ভলেটআইনিটিয়ালাইজার হ'ল সার্ভলেট 3.0.০+ স্পেসিফিকেশন সম্পর্কিত রেফারেন্স সহ ওয়েব.এক্সএমএল এর একটি "প্রোগ্রাম্যাটিক ইমপ্লিমেন্টেশন", যার জন্য ওয়েব অ্যাপ্লিকেশন ইনিটিয়ালাইজারের প্রয়োগ প্রয়োজন।
সুতরাং, স্প্রিংবুট অ্যাপ্লিকেশনটির জন্য "ওয়েব.এক্সএমএল" এর অ্যাপ্লিকেশন ক্লাস হিসাবে প্রয়োজন নেই (স্প্রিংবুটসার্ভাটিলিটাইজারটি প্রসারিত করার পরে)
- @ ওয়েবেফিল্টার,
- @ ওয়েবেলিস্টনার এবং
- @ ওয়েবে সার্ভালেট।
টীকাগুলি
এই টিকাটি @ ওয়েবফিল্টার, @ ওয়েললিস্টনার এবং @ ওয়েবসার্ভলেটের সাহায্যে উল্লিখিত ওয়েব উপাদানগুলির জন্য স্ক্যানিং বেস প্যাকেজগুলিকে সক্ষম করে।
এম্বেড থাকা পাত্রে @WebServlet, @WebFilter এবং @ ওয়েবেলিস্টার টিকাগুলি সমর্থন করে না এই কারণে, স্প্রিং বুট, এম্বেডড পাত্রে প্রচুর পরিমাণে নির্ভর করে, এই 3 টি টিকা ব্যবহার করে এমন কিছু নির্ভরশীল জারগুলিকে সমর্থন করার জন্য এই নতুন টিকাটি @ সার্লেটকম্পোনস্ক্যান স্ক্যান চালু করেছে।
এম্বেড করা সার্লেট কন্টেইনার ব্যবহার করার সময় স্ক্যান করা হয়।
নিম্নলিখিতটি আমার স্প্রিং বুট অ্যাপ্লিকেশন শ্রেণির সংজ্ঞা:
কাস্টম সার্লেট আরম্ভকারী:
এখানে: আমি একটি কাস্টম ক্লাসটি সংজ্ঞায়িত করেছি: "সার্ভলেটআইনিটিয়ালাইজার" যা শ্রেণি: স্প্রিংবুটসার্ভলেটআইনিটাইজারকে প্রসারিত করে।
যেমনটি আগে ব্যাখ্যা করা হয়েছে, স্প্রিংবুটসার্ভিলিটালাইজারটি টীকাগুলি স্ক্যান করার জন্য দায়ী: -
- @ ওয়েবেফিল্টার,
- @ ওয়েলব্লাইস্টার এবং
- @ ওয়েবে সার্ভলেট।
এবং তাই স্প্রিং বুট অ্যাপ্লিকেশন ক্লাস করা উচিত
- হয় শ্রেণি প্রসারিত করুন: স্প্রিংবুটসার্ভলেটআইনিটাইজার বা
- শ্রেণীর প্রসারিত কাস্টম শ্রেণীর প্রসারিত করুন: স্প্রিংবুটসার্ভালেটআইনিটাইজার