2012-06-26 14 views
5

लौटाएं मेरे पास मेरी वेब-आईएनएफ/lib निर्देशिका में एक जार फ़ाइल है। उस जार के अंदर एक फ़ाइल (image.jpg) के साथ एक मेटा-आईएनएफ/संसाधन निर्देशिका है। मैं सर्वलेट 3.0 एपीआई को समझने के रूप में, जब मैं बिलाव 7 के तहत अपने वेब एप्लिकेशन के हिस्से के रूप में इस की तैनाती, मैंमेटा-आईएनएफ/संसाधनों में संसाधन नहीं मिला और 404

http://host/context/image.jpg 

के पास जाकर छवि जार के भीतर से भरी हुई को देखने के लिए सक्षम होना चाहिए। लेकिन इसके बजाय, मुझे 404 त्रुटि मिलती है। ऐसा लगता है जैसे servlet_api मेरे जारों के भीतर से संसाधन लोड नहीं कर रहा है, भले ही प्रलेखन कहता है कि इसे करना चाहिए।

मैं क्या गलत कर रहा हूं? क्या कोई ऐसा क्षेत्र है जहां मुझे अपने वेब.एक्सएमएल फ़ाइल में इन संसाधनों को लोड करने के लिए टोमकैट बताने और उन्हें वेब ब्राउज़र में उपलब्ध कराने के लिए कहा जाना चाहिए?

+0

बस किसी भी भ्रम को दूर करने के लिए, मैं कन्वेंशन/रेस्ट प्लगइन्स के साथ Struts2 का उपयोग कर रहा हूं, लेकिन सर्वलेट 3.0 दस्तावेज के अनुसार, इससे कोई फर्क नहीं पड़ता, फिर भी यह अभी भी काम नहीं करता है! मैं कुछ मदद की जरूरत है। –

उत्तर

5

जार बनाया गया तरीका सही है। टोमकैट 7 सर्वलेट 3.0 जार के साथ जहाज करता है, लेकिन यह जार से संसाधनों की सेवा नहीं करेगा जब तक कि web.xml विशेष रूप से कहता है कि यह संस्करण 3.0 है। टॉमकैट आपको नहीं मानेंगे कि आप सर्वलेट 3.0 कार्यक्षमता चाहते हैं। आपके द्वारा निर्दिष्ट के रूप में वेब अनुप्रयोग है

<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    version="3.0"> 

नोट संस्करण 3.0

के लिए संदर्भ जैसे ही:

अपने web.xml में, अपने वेब एप्लिकेशन टैग इस तरह शुरू करने की आवश्यकता संस्करण 3.0, आपको सर्वलेट 3.0 कार्यक्षमता तक पहुंच प्राप्त होगी।

संबंधित मुद्दे