দ্য সার্ভলেট ২.৪ স্পেসিফিকেশন ওয়েবে -আইএনএফ (পৃষ্ঠা )০) সম্পর্কে এটি বলে:
নামকরণ অ্যাপ্লিকেশন শ্রেণিবদ্ধের মধ্যে একটি বিশেষ ডিরেক্টরি বিদ্যমান
WEB-INF
। এই ডিরেক্টরিটিতে অ্যাপ্লিকেশন সম্পর্কিত সমস্ত জিনিস রয়েছে যা অ্যাপ্লিকেশনটির নথিতে নেই। নোড আবেদন প্রকাশ্য দলিল বৃক্ষ অংশ নয় । ডিরেক্টরিতে অন্তর্ভুক্ত কোনও ফাইল সরাসরি কোনও ক্লায়েন্টের কাছে ধারক দ্বারা পরিবেশন করা হতে পারে। তবে ডিরেক্টরিটির বিষয়বস্তু
সার্ভলেট কোডে
ও মেথড কলগুলি তে এবং মেথড কলগুলি ব্যবহার করে দৃশ্যমান এবং কলগুলি ব্যবহার করে উন্মুক্ত করা যেতে পারে ।WEB-INF
WEB-INF
WEB-INF
getResource
getResourceAsStream
ServletContext
RequestDispatcher
এর অর্থ হ'ল WEB-INF
সংস্থানগুলি আপনার ওয়েব-অ্যাপ্লিকেশনটির রিসোর্স লোডারটিতে অ্যাক্সেসযোগ্য এবং জনসাধারণের জন্য সরাসরি দৃশ্যমান নয়।
এ কারণেই অনেকগুলি প্রকল্প তাদের সংস্থান যেমন জেএসপি ফাইল, জেআর / লাইব্রেরি এবং তাদের নিজস্ব শ্রেণি ফাইল বা সম্পত্তি ফাইল বা অন্য কোনও সংবেদনশীল তথ্য WEB-INF
ফোল্ডারে রাখে। অন্যথায় এগুলি একটি সহজ স্ট্যাটিক URL (উদাহরণস্বরূপ CSS বা জাভাস্ক্রিপ্ট লোড করতে দরকারী) ব্যবহার করে অ্যাক্সেসযোগ্য হবে।
প্রযুক্তিগত দৃষ্টিকোণ থেকে আপনার জেএসপি ফাইলগুলি যে কোনও জায়গায় হতে পারে। উদাহরণস্বরূপ বসন্তে আপনি এগুলিকে WEB-INF
স্পষ্টভাবে কনফিগার করতে পারেন :
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp" >
</bean>
WEB-INF/classes
এবং WEB-INF/lib
ফোল্ডার উইকিপিডিয়ার উল্লেখ যুদ্ধ ফাইল নিবন্ধ রানটাইম এ সার্ভলেট স্পেসিফিকেশন প্রয়োজনীয় ফোল্ডার উদাহরণ।
কোনও প্রকল্পের কাঠামো এবং ফলস্বরূপ ওয়ার্ড ফাইলের কাঠামোর মধ্যে পার্থক্য তৈরি করা গুরুত্বপূর্ণ।
প্রকল্পের কাঠামোটি কিছু ক্ষেত্রে ওয়ার ফাইলের কাঠামোর আংশিক প্রতিফলন ঘটবে (স্ট্যাটিক রিসোর্সের জন্য যেমন জেএসপি ফাইল বা এইচটিএমএল এবং জাভাস্ক্রিপ্ট ফাইলগুলি, তবে এটি সবসময় হয় না।
প্রকল্পের কাঠামো থেকে ফলাফল ওয়ার ফাইলটিতে রূপান্তরটি একটি বিল্ড প্রক্রিয়া দ্বারা সম্পন্ন হয়।
আপনি সাধারণত নিজের বিল্ড প্রক্রিয়াটি ডিজাইনের জন্য নিখরচায় থাকাকালীন আজকাল বেশিরভাগ লোকেরা আপাচি মাভেনের মতো একটি মানক পদ্ধতির ব্যবহার করবে । অন্যান্য জিনিসের মধ্যে মাভেন ডিফল্টগুলি সংজ্ঞায়িত করে যার জন্য প্রকল্প কাঠামো মানচিত্রে সংস্থানগুলি কী কী সংস্থানগুলিতে ফলাফল প্রাপ্ত শিল্পীকরণের (ফলাফলস্বরূপ শৈল্পিক এই ক্ষেত্রে ওয়ার ফাইল)। কিছু ক্ষেত্রে ম্যাপিংয়ের ক্ষেত্রে একটি সরল অনুলিপি প্রক্রিয়া থাকে অন্য ক্ষেত্রে ম্যাপিং প্রক্রিয়াতে রূপান্তর অন্তর্ভুক্ত থাকে যেমন ফিল্টারিং বা সংকলন এবং অন্যান্য।
একটি উদাহরণ : WEB-INF/classes
ফোল্ডারে পরে সমস্ত সংকলিত জাভা ক্লাস এবং সংস্থান ( src/main/java
এবং src/main/resources
) থাকবে যা অ্যাপ্লিকেশনটি শুরু করার জন্য ক্লাসলোডার দ্বারা লোড করা দরকার।
অন্য উদাহরণ : WEB-INF/lib
ফোল্ডারে পরে অ্যাপ্লিকেশনটির জন্য প্রয়োজনীয় সমস্ত জার ফাইল থাকবে। কোনও মাভেন প্রকল্পে নির্ভরতাগুলি আপনার জন্য পরিচালিত হয় এবং মাভেন স্বয়ংক্রিয়ভাবে আপনার জন্য WEB-INF/lib
ফোল্ডারে প্রয়োজনীয় জার ফাইলগুলি অনুলিপি করে । এটি ব্যাখ্যা করে যে কেন lib
কোনও মাভেন প্রকল্পে আপনার কোনও ফোল্ডার নেই।