有没有一种方法让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");