मैं पूर्ण ग्रहण (जेएसपी) में एक वेब अनुप्रयोग बना रहा हूं और टॉमकैट को सर्वर (ग्रहण में एकीकृत) के रूप में उपयोग कर रहा हूं। मुझे नीचे ऑब्जेक्ट बनाना है और कॉन्फ़िगरेशन फ़ाइल के पथ को निर्दिष्ट करना है। यह पूर्ण पथ बहुत अच्छा काम कर रहा है:सापेक्ष पथ (ग्रहण, जेएसपी)
Store store = StoreFactory.create("file:///C:/Users/Aliens/workspace/myProject/WebContent/config/sdb.ttl");
हालांकि मुझे आश्चर्य है कि मैं सापेक्ष पथ का उपयोग क्यों नहीं कर सकता। क्या यह "config/sdb.ttl"
सही होना चाहिए (यदि परियोजना का नाम रूट है)? लेकिन यह इस तरह से नहीं ढूंढ सकता (NotFoundException
)।
मैं एक वर्ग कि src फ़ोल्डर में स्थित है में इस स्टोर वस्तु बनाने रहा http://adderpit.com/jdk/j2eedocs/api/javax/servlet/ServletContext.html#getResourceAsStream(java.lang.String)
उपयोग करने के लिए है। चूंकि यह जेएसपी/सर्वलेट नहीं है, इसलिए मैं विधि ServletContext() प्राप्त नहीं कर सकता। जेएसपी में मैं इस कक्षा को तुरंत चालू करता हूं और इसके कन्स्ट्रक्टर में स्टोर ऑब्जेक्ट उत्पन्न होता है। कोई अन्य समाधान? – Aliens
नौकरी के लिए एक जेएसपी फ़ाइल अर्थात् [गलत जगह] (http://stackoverflow.com/questions/3177733/howto-avoid-java-code-in-jsp-files) है। भले ही, जेएसपी फाइलों को सर्वलेट में संकलित किया गया है, इसलिए 'getServletContext') तक 'ServletContext' तक पहुंच है। आप अंतर्निहित परिवर्तनीय 'एप्लिकेशन' का भी उपयोग कर सकते हैं जो इसे संदर्भित करता है। अर्थात। 'Application.getRealPath (relativeWebPath)'। वैसे, क्या आपने ** ** वास्तव में यह कोशिश करने से पहले ** क्या मैं विधि का उपयोग नहीं कर सकता "? – BalusC
हे। बेशक मैंने कोशिश की और यह अभी भी काम नहीं कर रहा है। मुझे नहीं पता कि तुम मुझे समझते हो। मैं जेएसपी में getServletContext() को कॉल नहीं कर रहा हूं। मैं इसे .java फ़ाइल में/src में कॉल करना चाहता हूं लेकिन मैं ऐसा नहीं कर सकता। यह .java फ़ाइल एक वर्ग है। और वह वर्ग जेएसपी में तत्काल है। – Aliens