jsi*_*ght 5 java web.xml servlets java-ee servlet-filters
有没有办法让servlet过滤器获取所有servlet及其映射的列表?
没有标准的 API(已经不再存在;并且那里的内容相当有限)——但它是一个具有标准模式的 XML 文件。您可以通过以下方式在过滤器中获取它:
filterConfig.getServletContext().getResource("/WEB-INF/web.xml");
Run Code Online (Sandbox Code Playgroud)
并使用 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");
Run Code Online (Sandbox Code Playgroud)