দৃশ্যপট 1
ক্লায়েন্ট অ্যাপ্লিকেশনটিতে (অ্যাপ্লিকেশনটি ওয়েব অ্যাপ্লিকেশন নয়, যেমন অ্যাপ্লিকেশনটি সুইং অ্যাপ্লিকেশন হতে পারে)
private static ApplicationContext context = new ClassPathXmlApplicationContext("test-client.xml");
context.getBean(name);
ওয়েব.এক্সএমএল দরকার নেই । সিমের পরিষেবা পাওয়ার জন্য ধারক হিসাবে অ্যাপ্লিকেশন কনটেক্সট। ওয়েব সার্ভার ধারক প্রয়োজন হয় না। ইন পরীক্ষা client.xml কোন রিমোট করা সঙ্গে সহজ শিম, দূরবর্তী সঙ্গে শিম থাকতে পারে।
উপসংহার : পরিস্থিতি 1 অ্যাপ্লিকেশনসূচীতে এবং DispatcherServlet
এটি সম্পর্কিত নয়।
দৃশ্য 2
একটি সার্ভার অ্যাপ্লিকেশনে (অ্যাপ্লিকেশন সার্ভারে স্থাপন করা যেমন টমক্যাট)। ক্লায়েন্ট প্রোগ্রাম (যেমন সুইং অ্যাপ্লিকেশন) থেকে রিমোটিংয়ের মাধ্যমে অ্যাক্সেস করা পরিষেবা
ওয়েব.এক্সএমএলে শ্রোতাদের সংজ্ঞা দিন
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
সার্ভার স্টার্টআপে ContextLoaderListener
মটরশুটিটি এপ্লিকেশনসন্টেক্সটেক্স.এমএমএলে সংজ্ঞায়িত করে ।
ধরে নিচ্ছি আপনি অ্যাপ্লিকেশন কনটেক্সট.এক্সএমএলে নিম্নলিখিতটি সংজ্ঞায়িত করেছেন :
<import resource="test1.xml" />
<import resource="test2.xml" />
<import resource="test3.xml" />
<import resource="test4.xml" />
মটরশুটিগুলি চারটি কনফিগারেশন ফাইল test1.xml , test2.xML , test3.xML , test4.xML থেকে ইনস্ট্যান্ট করা হয় ।
উপসংহার : পরিস্থিতি 2 অ্যাপ্লিকেশনসন্টেক্সটে এবং DispatcherServlet
সম্পর্কিত নয়।
পরিস্থিতি 3
স্প্রিং এমভিসি সহ একটি ওয়েব অ্যাপ্লিকেশনটিতে।
ইন web.xml সংজ্ঞায়িত:
<servlet>
<servlet-name>springweb</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springweb</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
টমক্যাট শুরু হয়ে গেলে স্প্রিংওয়েব-সার্লেট.এক্সএমএল সংজ্ঞায়িত মটরশুটিগুলি তাত্ক্ষণিকভাবে চিহ্নিত করা হয়।
DispatcherServlet
প্রসারিত FrameworkServlet
। ইন FrameworkServlet
শিম ইনস্ট্যান্স springweb জন্য সঞ্চালিত হয়। আমাদের ক্ষেত্রে স্প্রিংওয়েব হ'ল ফ্রেমওয়ার্ক ।
উপসংহার : পরিস্থিতি 3 অ্যাপ্লিকেশনসূচিতে এবং DispatcherServlet
এটি সম্পর্কিত নয়।
দৃশ্য 4
স্প্রিং এমভিসি সহ ওয়েব অ্যাপ্লিকেশনটিতে। সার্ভার প্রোগ্রামের মধ্যে ব্যবসায় পরিষেবা অ্যাক্সেস করার জন্য বা অন্য সার্ভার প্রোগ্রামে ডিবি পরিষেবা অ্যাক্সেসের জন্য সার্ভলেট এবং অ্যাপ্লিকেশনকন্টেক্সট.এক্সএমএল জন্য স্প্রিংওয়েব-সার্লেট.এক্সএমএল ।
ইন web.xml নিম্নলিখিত সংজ্ঞায়িত করা হয়:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>springweb</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springweb</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
সার্ভার প্রারম্ভকালে, অ্যাপ্লিকেশনContextLoaderListener
কনটেক্সট.এক্সএমএল সংজ্ঞায়িত মটরশুটি ইনস্ট্যান্ট করে ; ধরে নিচ্ছি যে আপনি এখানে ঘোষণা করেছেন:
<import resource="test1.xml" />
<import resource="test2.xml" />
<import resource="test3.xml" />
<import resource="test4.xml" />
মটরশুটিগুলি সমস্ত চারটি test1.xML , test2.xML , test3.xML , test4.xML থেকে সমস্ত ইনস্ট্যান্টেশনযুক্ত । অ্যাপ্লিকেশন কনটেক্সট.এক্সএমএলে সংজ্ঞায়িত শিম ইনস্ট্যান্টেশন সমাপ্তির পরে , স্প্রিংওয়েব-সার্লেট.এক্সএমএল সংজ্ঞায়িত শিমগুলি তাত্ক্ষণিকভাবে তৈরি করা হয়।
সুতরাং ইনস্ট্যান্টেশন অর্ডারটি হ'ল: রুট (অ্যাপ্লিকেশন প্রসঙ্গ), তারপরে ফ্রেমওয়ার্ক সার্লেট।
এখন এটি স্পষ্ট হওয়া উচিত যে তারা কোন দৃশ্যে গুরুত্বপূর্ণ।