¿Hay alguna manera para que un filtro de servlet obtenga una lista de todos los servlets y sus asignaciones?¿Cómo introspedes web.xml de un servlet?
5
A
Respuesta
4
No hay una API estándar (más, y lo que allí era bastante limitado), pero es un archivo XML con un esquema estándar. Puede obtenerlo en el filtro a través de:
filterConfig.getServletContext().getResource("/WEB-INF/web.xml");
y conseguir lo que quiere de él usando SAX/DOM/XPath/lo que sea, 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");
+0
Esto se reduce un poco en EE6, donde los servlets se pueden definir mediante anotaciones y mediante archivos web-fragment.xml. Sin embargo, el mismo enfoque se puede usar con eso; es simplemente una simple cuestión de programación. –
Cuestiones relacionadas
- 1. Cómo externalizar web.xml servlet init-param? Spring DelegatingFilterProxy para Servlets?
- 2. web.xml 404 redirigir a servlet, cómo obtener el URI original?
- 3. ¿Se puede invocar a un servlet sin <servlet-mapping> en la entrada Web.xml
- 4. WebSphere 8, web.xml version = "3.0", mapeo de servlet predeterminado?
- 5. Accediendo al segundo servlet cuando grails está configurado en web.xml
- 6. servlet 3.0 @WebServlet use..what estará en web.xml?
- 7. Agregar múltiples servlets en un único web.xml
- 8. cómo redirigir url a JSP en web.xml
- 9. Tomcat startup (web.xml) número
- 10. ¿Cómo excluir/redirigir cierto patrón de URL en web.xml o en el módulo de servlet Guice?
- 11. ¿Cómo arrojo un error 404 dentro de un servlet java?
- 12. Parámetros de servlet y ruta como/xyz/{value}/test, cómo mapear en web.xml?
- 13. Configurar web.xml (Tomcat 5) para un servlet para manejar todas las solicitudes entrantes?
- 14. Servlets de mallas múltiples en un solo web.xml
- 15. ¿Cómo puedo leer los valores de parámetro de contexto/web.xml en un archivo java que no sea de servlet?
- 16. ¿Alguien puede explicar el archivo Spring web.xml?
- 17. Eclipse web.xml editor
- 18. Cómo conectar HttpServlet con Spring Application Context en web.xml?
- 19. Aplicación web Java: ¿qué determina mi versión de la API Servlet? ¿Se especifica en web.xml?
- 20. <servlet-name> dentro de <filter-mapping> de web.xml, ¿qué significa esto?
- 21. Agregar ContextLoaderListener a web.xml en Spring MVC
- 22. Cómo incluir otros archivos de configuración en web.xml
- 23. ¿Qué sucede si tengo dos asignaciones de servlet en web.xml que coinciden con una solicitud?
- 24. cómo inicializar un servlet en el inicio del servidor
- 25. un web.xml para las pruebas de integración con embarcadero
- 26. Filtro de servlet para todas las solicitudes
- 27. ¿Cómo redirigir en un filtro de servlet?
- 28. ¿Cuál es el propósito de async-supported en web.xml?
- 29. Patrón de URL para asignación de servlets en web.xml
- 30. Cómo determinar el orden de los oyentes en web.xml
No utiliza la API estándar. Los contenedores específicos pueden permitirte hacerlo, pero eso dependerá de tu contenedor. – skaffman
Es extraño que solía haber API para cosas como esta, pero se descartaron. – jsight