Fin'ora nelle mie webapp mi sono trovato a dover caricare file di properties all'interno di bean o Servlet.
Caricamento all'interno di un bean
Per caricare il file di properties all'interno dei bean (ma credo che per estensione il meccanismo funzioni benissimo anche all'interno di normalissime classi) il codice è il seguente:
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("file.properties");
Properties props = new Properties();
props.load(inputStream);
Per questo caso il file di properties deve essere posizionato alla base del package in cui il bean risiede.
Caricamento all'interno di una servlet
Per caricare file di properties all'interno di una servlet viene sfruttato il ServletContext tramite questo codice:
Properties props = new Properties();
InputStream is = getServletContext().getResourceAsStream("/WEB-INF/classes/file.properties");
props.load(is);
In questo esempio il file di properties è posizionato in fase di deploy sotto la directory WEB-INF/classes della mia webapp.