Pergunta

Existe uma maneira de um filtro de servlet obter uma lista de todos os servlets e seus mapeamentos?

Foi útil?

Solução

Não há mais API padrão (e o que havia lá era bastante limitado) - mas é um arquivo XML com um esquema padrão. Você pode obtê -lo em seu filtro via:

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

e obtenha o que você quer dele usando sax / dom / xpath / o que você tem, por exemplo

 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top