Pregunta

¿Hay alguna manera de que un filtro de servlet obtenga una lista de todos los servlets y sus mapeos?

¿Fue útil?

Solución

Ya no hay una API estándar (y lo que era bastante limitado), pero es un archivo XML con un esquema estándar. Puede obtenerlo en su filtro a través de:

filterConfig.getServletContext().getResource("/WEB-INF/web.xml");

y obtén lo que quieres de él usando Sax / Dom / XPath / What You, por ejemplo,

 InputStream is = filterConfig.getServletContext()
   .getResourceAsStream("/WEB-INF/web.xml");
 DocumentBuilder builder = DocumentBuilderFactory.newInstance()
   .newDocumentBuilder();
 Document document = builder.parse(is);
 NodeList servlets = document.getElementsByTagName("servlet");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top