वेबकैप के साथ टॉमकैट 7 अनुगामी स्लैश मुद्दा


13

हाल ही में मैंने अपने टॉमकैट सर्वर को 6.x संस्करण से सबसे हाल के 7.x संस्करण में उन्नत किया।

मैं थोड़ी परेशानी के साथ आया, मदद पाने की उम्मीद कर रहा था।

मेरे पास एक एप्लिकेशन है जिसे MyApp कहा जाता है

Tomcat6 पर, जब मैं http://www.example.com/MyApp/page/ पर गया तो मुझे सामान्य रूप से वांछित परिणाम मिलेगा।

अब, tomcat7 पर, उसी सटीक url (अनुगामी स्लैश के साथ) पर जाकर मुझे त्रुटि मिल रही है: "संसाधन उपलब्ध नहीं है", क्योंकि tomcat सोचता है कि / MyApp / पृष्ठ / अनुरोध नामों के बजाय पूरे वेबैप नाम है। MyApp वेबऐप के तहत पेज।

मुझे अपने url पर अंत में स्लैश की आवश्यकता है क्योंकि अन्यथा मुझे त्रुटि मिल रही है: "HTTP स्थिति 405 - अनुरोध विधि 'GET' समर्थित नहीं है" जो ठीक है क्योंकि मैंने वास्तव में "पृष्ठ" अनुरोध के लिए GET विधि की अनुमति नहीं दी थी ।

अगर किसी को पता है कि टॉमकैट को कैसे बताया जाए कि मौजूदा वेबएप के पथ के बाद स्लैश को नए वेबएप पर पुनर्निर्देशित नहीं किया जाना चाहिए, तो वह पूरी तरह से "स्ट्रिंग" कहता है और टॉमकैट 6 जैसे अनुरोध को संसाधित करता है, यह बहुत अच्छा होगा!


क्या इसमें कोई डिफ़ॉल्ट सर्वलेट web.xmlमैप किया गया है /*? अन्यथा टॉमकैट एक स्वागत-फ़ाइल-सूची का उपयोग करता है। आम तौर पर केवल पहला पथ खंड एक संदर्भ रूट के रूप में इंटरप्रेट होता है। तो अपने वेबएप को नहीं ढूंढना समस्या नहीं लगती है।
मन

पहला पथ खंड एक संदर्भ रूट है और वास्तव में काम करता है, यह इसे ढूंढता है, लेकिन पहले पथ का हिस्सा होने के बजाय निम्न पथ हैं, सभी पथ के साथ वेबकैप के लिए टकटक खोज .. मेरे पास ऐसा कुछ भी नहीं है जो कॉन्फ़िगर किया गया हो गैर-डिफ़ॉल्ट है ..

मुझे वास्तव में वह नहीं मिला जो आप कह रहे हैं। माफ़ करना। यदि आपके पास नाम के साथ एक वेबपेज कॉन्फ़िगर किया गया है, MyAppतो बचे हुए पथ का उपयोग करके टॉमकैट इस वेब एप्लिकेशन संदर्भ का उपयोग करेगा page/। यदि नहीं, तो यह ROOTलुकअप के लिए पूर्ण पथ का उपयोग करते हुए, संदर्भ के लिए दिखेगा ।
मान

मेरे पास एक वेबऐप कॉल है MyApp और example.com/MyApp काम कर रहा है, लेकिन जब example.com/MyApp/foo पर जाकर MyApp के अंदर foo कंटेंट की तलाश करें, तो वह "MyApp / foo /" वेबैप कॉल के लिए खोज करता है और न ही देख रहा है MyApp कॉल फ़ू के तहत सामग्री ..

2
इसे आज़माएं: stackoverflow.com/q/11055608/1031900

जवाबों:


1

प्राचीन प्रश्न, लेकिन जब से मैंने हाल ही में टॉमकैट 8 में समाप्ति स्लैश के साथ लड़ाई की है, मुझे पता है कि स्लैश के साथ समस्याएं टॉमकैट उपयोगकर्ता की दुनिया को प्लेग करना जारी रखती हैं। :-)

हो सकता है कि आप जिस तरह से चल रहे हैं, वह उस तरह से बदलाव हो, जब रूट संदर्भ को लोड करने के दौरान टॉमकैट पुनर्निर्देशित करता है। बग 58660 की जाँच करें और वहां डेवलपर चर्चा के कुछ पढ़ें। आपको तत्व की mapperContextRootRedirectEnabledविशेषता को संशोधित करके डिफ़ॉल्ट मैपर को बंद करने की आवश्यकता हो सकती Contextहै conf/context.xml


0

अपने स्वागत-फ़ाइल-सूची की जाँच करें .. अटकलें क्या है ...

मेरा मानना ​​है कि इस मुद्दे का सार यह है कि टॉमकैट को / के साथ प्रस्तुत किया जाता है - इसके कुछ विकल्प हैं - स्वागत फ़ाइल सूची पर Iterate - कुछ भी नहीं होने पर - निर्देशिका लिस्टिंग दिखाएं (यदि सक्षम है)

यहाँ है जहाँ मज़ा शुरू होता है ... बहुत से लोग स्ट्रट्स जैसी चीजों के लिए * .do का उपयोग करना चाहते हैं। इसलिए वे चाहते हैं कि index.do होम पेज हो। या भी सामान्य है index.jsp जहां * .jsp को JspServlet में मैप किया जाता है।

यहां जहां चीजें मजेदार होती हैं। तो आपको बता दें कि आपकी वेलकम फाइल्स index.jsp, index.do है।

टॉमकैट (IIRC) क्या कर रहा है, पहले उस नाम के संसाधनों की तलाश में स्वागत योग्य फ़ाइल सूची पर पुनरावृत्ति कर रहा है।

फिर यह उस मैच की मैपिंग की तलाश में दूसरा पास करेगा। तो अगर index.jsp का स्वागत सूची में किया गया है और * .jsp मैप किया गया है। फिर tomcat index.jsp को फॉरवर्ड करने की कोशिश करेगा और आपको 404 मिलेगा।

तो मुझे लगता है कि आपके पास एक सर्वलेट मैपिंग और स्वागत फ़ाइल ओवरलैपिंग है। और उस सर्वलेट का व्यवहार GET का समर्थन नहीं करता है। (इसलिए 405)


0

यदि आपका प्रोजेक्ट v2.2 के डायनेमिक वेब मॉड्यूल का उपयोग कर रहा है, तो आपको अपने WebContent में web.xml (उदाहरण: index.html) में मौजूद कम से कम एक फ़ाइल (खाली html फ़ाइल हो सकती है) बनाने की आवश्यकता है।


1
यह टिप्पणी है; उत्तर नहीं; अधिक अंक मिलने पर कृपया भविष्य में टिप्पणी करने पर विचार करें। धन्यवाद
हिरोवे voपोलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.