हाल ही में मैंने अपने टॉमकैट सर्वर को 6.x संस्करण से सबसे हाल के 7.x संस्करण में उन्नत किया।
मैं थोड़ी परेशानी के साथ आया, मदद पाने की उम्मीद कर रहा था।
मेरे पास एक एप्लिकेशन है जिसे MyApp कहा जाता है
Tomcat6 पर, जब मैं http://www.example.com/MyApp/page/ पर गया तो मुझे सामान्य रूप से वांछित परिणाम मिलेगा।
अब, tomcat7 पर, उसी सटीक url (अनुगामी स्लैश के साथ) पर जाकर मुझे त्रुटि मिल रही है: "संसाधन उपलब्ध नहीं है", क्योंकि tomcat सोचता है कि / MyApp / पृष्ठ / अनुरोध नामों के बजाय पूरे वेबैप नाम है। MyApp वेबऐप के तहत पेज।
मुझे अपने url पर अंत में स्लैश की आवश्यकता है क्योंकि अन्यथा मुझे त्रुटि मिल रही है: "HTTP स्थिति 405 - अनुरोध विधि 'GET' समर्थित नहीं है" जो ठीक है क्योंकि मैंने वास्तव में "पृष्ठ" अनुरोध के लिए GET विधि की अनुमति नहीं दी थी ।
अगर किसी को पता है कि टॉमकैट को कैसे बताया जाए कि मौजूदा वेबएप के पथ के बाद स्लैश को नए वेबएप पर पुनर्निर्देशित नहीं किया जाना चाहिए, तो वह पूरी तरह से "स्ट्रिंग" कहता है और टॉमकैट 6 जैसे अनुरोध को संसाधित करता है, यह बहुत अच्छा होगा!
MyApp
तो बचे हुए पथ का उपयोग करके टॉमकैट इस वेब एप्लिकेशन संदर्भ का उपयोग करेगा page/
। यदि नहीं, तो यह ROOT
लुकअप के लिए पूर्ण पथ का उपयोग करते हुए, संदर्भ के लिए दिखेगा ।
web.xml
मैप किया गया है/*
? अन्यथा टॉमकैट एक स्वागत-फ़ाइल-सूची का उपयोग करता है। आम तौर पर केवल पहला पथ खंड एक संदर्भ रूट के रूप में इंटरप्रेट होता है। तो अपने वेबएप को नहीं ढूंढना समस्या नहीं लगती है।