有没有办法让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");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top