2011-11-15 6 views
10

के रूप में कहा में शीर्षक में, मैं बिल्ला में डिफ़ॉल्ट त्रुटि पृष्ठों को बदलना चाहते हैं और क्या किया:क्या tomcat's web.xml में सभी त्रुटि कोड के लिए एक कस्टम त्रुटि पृष्ठ के उपयोग को कॉन्फ़िगर करने का कोई तरीका है?

<error-page> 
    <error-code>500</error-code> 
    <location>/error_500.html</location> 
</error-page> 

<error-page> 
    <error-code>404</error-code> 
    <location>/error_404.html</location> 
</error-page> 

यह

<error-page> 
    <error-code>*</error-code> 
    <location>/error.html</location> 
</error-page> 

तरह वाइल्डकार्ड त्रुटि कोड का उपयोग करना संभव है?

(उदाहरण के ऊपर काम नहीं करता है, लेकिन वहाँ एक और तरीका है?)

धन्यवाद

+0

जिस तरह से मैंने ऊपर "समुदाय द्वारा परिभाषित" दायरे को पढ़ा है, मुझे इस सवाल को बंद विषय के रूप में बंद करना गलत लगता है। सवाल यह है कि "प्रोग्रामर द्वारा आमतौर पर उपयोग किए जाने वाले सॉफ़्टवेयर टूल" और "एक व्यावहारिक, उत्तरदायी समस्या जो सॉफ्टवेयर विकास के लिए अद्वितीय है" को रेफर कर रही है। संदेह में, मॉडरेटर को बंद करने के बजाए खुले छोड़ने का विकल्प चुनना चाहिए, स्टैक ओवरफ्लो हमारे उपयोगकर्ताओं के लिए प्रासंगिक रहने के लिए (इस धारणा के आधार पर कि यदि कोई उपयोगकर्ता पूछने के लिए पर्याप्त प्रासंगिक प्रश्न सोचता है, तो बेहतर है कि दूसरों को योगदान देने के लिए इसे खोलना बेहतर हो नहीं)। मेरे दो सेंट। –

उत्तर

10

नहीं, बिलाव में कोई रास्ता नहीं है। इस प्रकार

सर्वलेट 3.0 विनिर्देश एक वैश्विक त्रुटि पृष्ठ का समर्थन करता है:

<error-page> 
    <location>/error.html</location> 
</error-page> 

तो सिद्धांत रूप में यह कम से कम काम करना चाहिए बिलाव 7.0। लेकिन यह टॉमकैट 7.0 में ठीक से लागू नहीं किया गया है। मैंने कभी इस बारे में issue 52135 की सूचना दी है, लेकिन उन्होंने इसे अस्वीकार कर दिया है। यह हालांकि अन्य सर्वलेट 3.0 कंटेनर पर काम करता है।

हालांकि आप टॉमकैट-विशिष्ट ErrorReportValve कक्षा को कार्यान्वित करके इसे कार्यान्वित कर सकते हैं जिसे आप <Host errorReportValveClass> के रूप में पंजीकृत करते हैं।

+0

बहुत बहुत धन्यवाद। मैंने आपके बगजिला मुद्दे और टिप्पणियों को भी पढ़ा और दोहराया xsd एक spec। दुर्भाग्य से त्रुटि-कोड या अपवाद-प्रकार के वैकल्पिक उपयोग के बारे में आपके बयान पर कोई और टिप्पणी नहीं है। क्या आपको लगता है कि इस मुद्दे को फिर से खोलना उचित है? –

+1

आप ऐसा कर सकते हैं। जब Servlet spec incompliance से संबंधित बग रिपोर्ट की बात आती है तो मैंने टॉमकैट devvers को बहुत snarky होने का अनुभव किया है। मैंने पहले सर्वलेट spec से संबंधित कई समान मुद्दों की सूचना दी है; अक्सर उन्हें अमान्य (विशेष रूप से मार्क थॉमस द्वारा) के रूप में बंद कर दिया गया था और कुछ समय बाद उन्हें अंततः फिर से खोल दिया गया और तय किया गया। यह समय की बात है :) – BalusC

+2

ध्यान दें कि टोमकैट [अंक 52135] (https://issues.apache.org/bugzilla/show_bug.cgi?id=52135) अब हल हो गया है (और टॉमकैट 7.0.2 9 में शामिल किया जाएगा)। –

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

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