এটি করার কয়েকটি উপায় রয়েছে। যতক্ষণ না ওয়ার ফাইলটি প্রসারিত হবে (এক .war ফাইলের পরিবর্তে ফাইলগুলির একটি সেট), আপনি এই API টি ব্যবহার করতে পারেন:
ServletContext context = getContext();
String fullPath = context.getRealPath("/WEB-INF/test/foo.txt");
http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/SerletContext.html#getRealPath(java.lang.String)
এটি আপনাকে যে সংস্থানটি সন্ধান করছে তার পুরো সিস্টেমের পথ পাবে। তবে সার্ভলেট কনটেইনার কখনও ওয়ার ফাইলটি (টমক্যাটের মতো) প্রসারিত না করলে এটি কাজ করবে না। সার্ভলেট কনটেক্সট এর getResource
পদ্ধতিগুলি ব্যবহার করে কী কাজ করবে ।
ServletContext context = getContext();
URL resourceUrl = context.getResource("/WEB-INF/test/foo.txt");
অথবা বিকল্পভাবে যদি আপনি কেবল ইনপুট স্ট্রিমটি চান:
InputStream resourceContent = context.getResourceAsStream("/WEB-INF/test/foo.txt");
http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/SerletContext.html#getResource(java.lang.String)
পরের পন্থাটি আপনি যে কোনও সার্লেট পাত্রে ব্যবহার করেন এবং অ্যাপ্লিকেশনটি কোথায় ইনস্টল করা হবে তা বিবেচনা করেই কাজ করবে। প্রাক্তন পদ্ধতির কাজ কেবলমাত্র ওয়ার্ড ফাইল মোতায়েনের আগে আনজিপ করা থাকলে।
সম্পাদনা:
getContext () পদ্ধতিটি অবশ্যই আপনাকে প্রয়োগ করতে হবে। জেএসপি পৃষ্ঠাগুলি এটি context
ক্ষেত্র হিসাবে উপলব্ধ করে । একটি সার্লেটে আপনি এটি আপনার কাছ থেকে পাবেন ServletConfig
যা সার্লেটের init()
পদ্ধতিতে পাস করা হবে । আপনি যদি সেই সময়ে এটি সঞ্চয় করেন তবে তার পরে আপনি যে কোনও সময় আপনার সার্লেটলেট কনটেক্সটটি পেতে পারেন।