"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo acceder a los recursos en el directorio WAR/WEB-INF con ServletContext?

¿Cómo acceder a los recursos en el directorio WAR/WEB-INF con ServletContext?

Publicado el 2024-12-21
Navegar:619

How to Access Resources in the WAR/WEB-INF Directory with ServletContext?

Acceso a recursos en el directorio WAR/WEB-INF con ServletContext

Introducción:

Las aplicaciones web Java suelen almacenar recursos esenciales dentro del directorio WAR/WEB-INF. Para acceder a estos recursos, los desarrolladores pueden aprovechar la API ServletContext.

Pregunta:

¿Cómo se puede crear la ruta correcta a un recurso ubicado en WAR/WEB-INF? carpeta, como "/war/WEB-INF/test/foo.txt"?

Respuesta:

Hay dos métodos principales para construir la ruta a los recursos en WAR/ Directorio WEB-INF usando ServletContext:

1. Método getRealPath():

Si el archivo WAR se ha expandido a un conjunto de archivos, puede utilizar el método getRealPath():

ServletContext context = getContext();
String fullPath = context.getRealPath("/WEB-INF/test/foo.txt");

Esto devolverá la ruta completa del sistema al recurso.

2. Métodos getResource() o getResourceAsStream():

Estos métodos se pueden utilizar independientemente de si el archivo WAR está expandido o no:

ServletContext context = getContext();
URL resourceUrl = context.getResource("/WEB-INF/test/foo.txt"); // for URL
InputStream resourceContent = context.getResourceAsStream("/WEB-INF/test/foo.txt"); // for input stream

Notas adicionales:

  • El método getContext() mencionado en el código de muestra es específico de la aplicación. En las páginas JSP, está disponible como "contexto", mientras que en los servlets, se obtiene de ServletConfig durante la inicialización.
  • Es posible que el método getRealPath() no funcione si el contenedor de servlet no extrae el archivo WAR.
  • Los métodos getResource() y getResourceAsStream() son confiables y funcionan en todos los escenarios de implementación.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3