有没有办法让 servlet 过滤器获取所有 servlet 及其映射的列表?
最佳答案
没有标准的 API(不再存在;而且当时的 API 相当有限)- 但它是一个具有标准架构的 XML 文件。您可以通过以下方式在过滤器中获取它:
filterConfig.getServletContext().getResource("/WEB-INF/web.xml");
并使用 SAX/DOM/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");
关于java - 您如何从 servlet 内省(introspection) web.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1278774/