Maison > Java > javaDidacticiel > Comment accéder aux ressources du répertoire WAR/WEB-INF avec ServletContext ?

Comment accéder aux ressources du répertoire WAR/WEB-INF avec ServletContext ?

Patricia Arquette
Libérer: 2024-11-13 08:49:02
original
710 Les gens l'ont consulté

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

Accès aux ressources du répertoire WAR/WEB-INF avec ServletContext

Introduction :

Les applications Web Java stockent souvent les ressources essentielles dans le répertoire WAR/WEB-INF. Pour accéder à ces ressources, les développeurs peuvent exploiter l'API ServletContext.

Question :

Comment créer le chemin correct vers une ressource située dans le WAR/WEB-INF dossier, tel que "/war/WEB-INF/test/foo.txt" ?

Réponse :

Il existe deux méthodes principales pour construire le chemin d'accès aux ressources dans le WAR/ Répertoire WEB-INF utilisant ServletContext :

1. Méthode getRealPath() :

Si le fichier WAR a été développé en un ensemble de fichiers, vous pouvez utiliser la méthode getRealPath() :

ServletContext context = getContext();
String fullPath = context.getRealPath("/WEB-INF/test/foo.txt");
Copier après la connexion

Cela renverra le fichier complet chemin système vers la ressource.

2. Méthodes getResource() ou getResourceAsStream() :

Ces méthodes peuvent être utilisées que le fichier WAR soit développé ou non :

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
Copier après la connexion

Remarques supplémentaires :

  • La méthode getContext() mentionnée dans l'exemple de code est spécifique à l'application. Dans les pages JSP, il est disponible en "contexte", tandis que dans les servlets, il est obtenu à partir de ServletConfig lors de l'initialisation.
  • La méthode getRealPath() peut ne pas fonctionner si le conteneur de servlets n'extrait pas le fichier WAR.
  • Les méthodes getResource() et getResourceAsStream() sont fiables et fonctionnent dans tous les scénarios de déploiement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal