57 votes

Howto charger une ressource à partir du répertoire WEB-INF de l'archive web

J'ai une archive web avec un fichier placé dans le répertoire WEB-INF.

Comment puis-je charger ce fichier dans une classe java?

Je sais que je peux le mettre dans le répertoire classes et de le charger à partir de là. Il serait juste de le mettre dans WEB-INF.

87voto

skaffman Points 197885

Utiliser l' getResourceAsStream() méthode sur le ServletContext objet, par ex.

servletContext.getResourceAsStream("/WEB-INF/myfile");

Comment vous obtenez une référence à la ServletContext dépend de votre application... voulez-vous le faire à partir d'une Servlet ou à partir d'une JSP?

ÉDITÉ: Si vous êtes à l'intérieur d'une Servlet objet, puis appelez getServletContext(). Si vous êtes en JSP, utilisez la variable prédéfinie application.

7voto

webcom Points 31

Voici comment cela fonctionne pour moi avec pas de Servlet utilisation.

Disons que je suis en train d'essayer d'accéder à web.xml dans project/WebContent/WEB-INF/web.xml

  1. Dans les propriétés du projet, à la Source de l'onglet ajouter une source de dossier en pointant vers le conteneur parent pour le dossier WEB-INF (dans mon cas WebContent )

  2. Maintenant, nous allons utiliser la classe loader:

    InputStream inStream = class.getClass().getClassLoader().getResourceAsStream("Web-INF/web.xml")
    

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X