Вопрос

Есть ли способ для фильтра сервлета получить список всех сервлетов и их отображений?

Это было полезно?

Решение

Стандартного 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