La méthode getRealPath(String) retourne le l'emplacement et le fichier de la ressource demandée, dans le système de fichier. 
Tu demandes une ressource interne à l'application, dans WEB-INF.
	
	String propPathName=application.getRealPath("WEB-INF/fic1.properties");
 Ce répertoire, et tous les autres en-dessous, ne sont pas accessibles à partir d'une requête http. Tu peux que avoir les ressources accessibles depuis une URL (type 'http://serveur/applic/index.html').
Que dirais-tu de placer le fichier dans un repértoire 'ressources' dans la racine de ton application ? Tu pourrais alors charger le fichier par
	
	String propPathName=application.getRealPath("ressources/fic1.properties");
 Si tu veux absolument placer ton fichier dans WEB-INF, place-le dans le répertoire 'WEB-INF/classes', et change ton code par celui-ci :
	
	| 12
 3
 4
 5
 6
 
 | <web-app id="WebApp">
<display-name>tp_web</display-name>
<context-param>
<param-name>fic1</param-name>
<param-value>fic1.properties</param-value>
</context-param> | 
 et
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | try{
ServletContext application = this.getServletContext();
String propFicName=application.getInitParameter("fic1");
//String propPathName=application.getRealPath(propFicName);
java.util.Properties prop = new java.util.Properties();
prop.load(new FileInputStream(propPathName));
String valeurP2=prop.getProperty("propriete2","valeur_par_defaut2");
System.out.println("P2="+valeurP2);
String valeurP4=prop.getProperty("propriete4","valeur_par_defaut4");
System.out.println("P4="+valeurP4);
} catch(Exception ex)
{ ex.printStackTrace();
} | 
 
						
					
Partager