Bonjour,
J'ai besoin de récupérer un fichier situé dans le répertoire WEB-INF d'une application web. J'ai essayé avec ClassLoader.getSystemResourceAsStream(), mais à l'évidence, WEB-INF ne se trouve pas dans le classpath.
Merci de votre aide.
Bonjour,
J'ai besoin de récupérer un fichier situé dans le répertoire WEB-INF d'une application web. J'ai essayé avec ClassLoader.getSystemResourceAsStream(), mais à l'évidence, WEB-INF ne se trouve pas dans le classpath.
Merci de votre aide.
Salut,
En effet le répertoire WEB-INF ne fait pas partie du classpath.
Dans une application web, le classpath est composé du répertoire WEB-INF/classes et des archives contenu dans WEB-INF/lib (en plus des éléments du serveur d'application bien sûr).
Pour accéder aux fichiers du répertoire WEB-INF, tu dois donc spécifier leurs chemins complets, que tu récupères via la méthode getRealPath() de ton ServletContext :
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part new FileInputStream( context.getRealPath("/WEB-INF/tonfichier.txt") );
Cette technique n'est pas applicable si le war n'est pas explosé. autrement dit si getRealPath retourne null. La méthode "sure" pour accéder à la source est au choix
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 URL u = context.getResource("/WEB-INF/tonfichier.txt"); InputStream is = context.getResourceAsStream("/WEB-INF/tonfichier.txt");
Tiens j'ignorais complètement cela
a++
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager