servlet过滤器有没有办法获取所有servlet及其映射的列表?
答案 0 :(得分:4)
没有标准的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");