क्या सर्वलेट फ़िल्टर के लिए सभी servlets और उनके मैपिंग की सूची प्राप्त करने का कोई तरीका है?आप servlet से web.xml का निरीक्षण कैसे करते हैं?
5
A
उत्तर
4
कोई मानक एपीआई नहीं है (अब और क्या सीमित था) - लेकिन यह मानक स्कीमा वाला एक्सएमएल फ़ाइल है। आप के माध्यम से अपने फिल्टर में इसे प्राप्त कर सकते हैं:
filterConfig.getServletContext().getResource("/WEB-INF/web.xml");
और क्या आप SAX/डोम/XPath/क्या है आप, उदाहरण के लिए उपयोग कर इसे से चाहते
InputStream is = filterConfig.getServletContext()
.getResourceAsStream("/WEB-INF/web.xml");
DocumentBuilder builder = DocumentBuilderFactory.newInstance()
.newDocumentBuilder();
Document document = builder.parse(is);
NodeList servlets = document.getElementsByTagName("servlet");
+0
यह ईई 6 में थोड़ा सा गिरता है, जहां सर्वलेट को एनोटेशन द्वारा परिभाषित किया जा सकता है, और वेब-fragment.xml फ़ाइलों द्वारा। उन लोगों पर भी एक ही दृष्टिकोण का उपयोग किया जा सकता है; यह प्रोग्रामिंग का एक साधारण मामला है। –
मानक API का उपयोग नहीं कर रहा है। विशिष्ट कंटेनर आपको ऐसा करने दे सकते हैं, लेकिन यह आपके कंटेनर पर निर्भर करेगा। – skaffman
यह अजीब बात है कि इस तरह की चीजों के लिए एपीआई होता था, लेकिन गिरा दिया गया था। – jsight