ওয়েব অ্যাপ্লিকেশন প্রসঙ্গটি প্রসারিত অ্যাপ্লিকেশন প্রসঙ্গটি প্রমিত করেছে যা স্ট্যান্ডার্ড জাভ্যাক্স.সার্ভলেট.সারলেট কনটেক্সট দিয়ে কাজ করার জন্য ডিজাইন করা হয়েছে যাতে এটি ধারকটির সাথে যোগাযোগ করতে সক্ষম হয়।
public interface WebApplicationContext extends ApplicationContext {
ServletContext getServletContext();
}
বিনস, ওয়েব অ্যাপ্লিকেশনকন্টেক্সটে ইনস্ট্যান্টেড এছাড়াও সার্লেটলেট কনটেক্সট ব্যবহার করতে সক্ষম হবেন যদি তারা সার্লেটলেট কনটেক্সট আওয়ার ইন্টারফেস প্রয়োগ করে
package org.springframework.web.context;
public interface ServletContextAware extends Aware {
void setServletContext(ServletContext servletContext);
}
সার্ভারলেট কনটেক্সট ইনস্ট্যান্সের সাথে করার মতো অনেকগুলি বিষয় রয়েছে, উদাহরণস্বরূপ getResourceAsStream () পদ্ধতিতে কল করে WEB-INF রিসোর্সগুলি (এক্সএমএল কনফিগারেশন এবং ইত্যাদি) অ্যাক্সেস করা। সাধারণত সার্ভলেট স্প্রিং অ্যাপ্লিকেশনে ওয়েব.এক্সএমএল-এ সংজ্ঞায়িত সমস্ত অ্যাপ্লিকেশন প্রসঙ্গগুলি হ'ল ওয়েব অ্যাপ্লিকেশন প্রসঙ্গ, এটি রুট ওয়েব অ্যাপ্লিকেশন প্রসঙ্গে এবং সার্লেটের অ্যাপ প্রসঙ্গে যায়।
এছাড়াও, ওয়েব অ্যাপ্লিকেশন প্রাসঙ্গিক ক্ষমতার উপর নির্ভর করে আপনার অ্যাপ্লিকেশনটিকে পরীক্ষা করা কিছুটা শক্ত করে তুলতে পারে এবং পরীক্ষার জন্য আপনার মক সার্ভেলকন্টেক্সট ক্লাস ব্যবহারের প্রয়োজন হতে পারে ।
সার্লেট এবং মূল প্রসঙ্গের মধ্যে পার্থক্য
স্প্রিং আপনাকে মাল্টিলেভেল অ্যাপ্লিকেশন কনটেক্সট হায়ারারচিগুলি তৈরি করতে দেয়, সুতরাং প্রয়োজনীয় শিমটি যদি বর্তমান অ্যাপ্লিকেশনের প্রসঙ্গে উপস্থিত না হয় তবে পিতামালিক প্রসঙ্গটি থেকে আনা হবে। : ওয়েব অ্যাপ্লিকেশানগুলির মধ্যে ডিফল্ট হিসাবে দুই অনুক্রমের মাত্রা, root ও সার্ভলেট প্রেক্ষিতে হয় ।
এটি আপনাকে পুরো অ্যাপ্লিকেশন (স্প্রিং সিকিউরিটি মটরশুটি এবং বেসিক ডাটাবেস অ্যাক্সেস পরিষেবাগুলি সাধারণত এখানে থাকে) এবং সিমের মধ্যে নাম সংঘর্ষ এড়ানোর জন্য সংশ্লিষ্ট সার্লেটগুলিতে পৃথক পরিষেবা হিসাবে কিছু পরিষেবা চালানোর অনুমতি দেয়। উদাহরণস্বরূপ, একটি সার্লেট প্রসঙ্গ ওয়েব পৃষ্ঠাগুলি পরিবেশন করবে এবং অন্যটি স্টেটলেস ওয়েব পরিষেবা প্রয়োগ করবে।
আপনি যখন স্প্রিং সার্লেট ক্লাস ব্যবহার করেন তখন এই দুটি স্তরের বিভাজনটি বাক্সের বাইরে চলে আসে: রুট অ্যাপ্লিকেশন প্রসঙ্গটি কনফিগার করতে আপনার ওয়েব.এক্সএমএলে কনটেক্সট- প্যারাম ট্যাগ ব্যবহার করা উচিত
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/root-context.xml
/WEB-INF/applicationContext-security.xml
</param-value>
</context-param>
(মূল অ্যাপ্লিকেশন প্রসঙ্গটি ContextLoaderListener দ্বারা তৈরি করা হয় যা ওয়েব.এক্সএমএল- এ ঘোষণা করা হয়
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
) এবং সার্লেট অ্যাপ্লিকেশন প্রসঙ্গের জন্য সার্লেট ট্যাগ
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>app-servlet.xml</param-value>
</init-param>
</servlet>
দয়া করে মনে রাখবেন যে আরম্ভ-পরম বাদ দিলে বসন্তটি এই উদাহরণে myservlet-servlet.xML ব্যবহার করবে।
আরও দেখুন: স্প্রিং ফ্রেমওয়ার্ক এপ্লিকেশনকন্টেক্সটেক্সএক্সএমএল এবং স্প্রিং-সার্লেটলেট.এক্সএমএল এর মধ্যে পার্থক্য
web.xml
ফাইলটির বিষয়বস্তু সম্পর্কে জিজ্ঞাসা করে ; এই প্রশ্নটি কিছু স্প্রিং ক্লাস সম্পর্কে জিজ্ঞাসা করছে।