有没有办法让servlet过滤器获取所有servlet及其映射的列表?
最佳答案
没有标准的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");