Bueno mas o menos he resuelto mi problema... Lo dejo aqui posteado por si a alguien le sirviese.
El problema era acceder a la direccion del fichero desde las clases de autenticacion, así que lo que hice fue pasarle la ruta del servlet como parametro de la funcion de autenticacion. No se si habrá otra manera, pero de momento esto funciona bien. pongo el codigo:
Código PHP:
vo=aServices.Autenticar(login, password, servlet.getServletContext().getRealPath(""));
//Esto en el servlet action desde donde autenticamos
...
//ficheroParametros es el nombre del fichero
//Constructor que carga el archivo de propiedades
public PropiedadesUsers(String ruta) {
ruta=ruta+"/WEB-INF/usuarios/";
FileInputStream is = null;
try {
is = new FileInputStream(ruta+ficheroParametros);
prop.load( is ); // Cargo propiedades desde InputStream
}
catch (IOException e) {
mensajeError = new String("Mensaje de error: " + e.toString() );
}
}
//función para la obtención del parámetro por la clave
@SuppressWarnings("finally")
public String getParametro(String clave, String defecto) {
String retorno = defecto;
try {
retorno = prop.getProperty(clave, defecto);
}
catch (Exception e) {
retorno = defecto;
}
finally {
return retorno;
}
}
//Sobrecargado de la función de obtener el parámetro
public String getParametro(String clave) {
return getParametro(clave, "");
}
public void setParametro(String clave, String password, String ruta){
ruta=ruta+"/WEB-INF/usuarios/";
FileOutputStream out= null;
prop.setProperty(clave, password);
try {
out = new FileOutputStream(ruta+ficheroParametros);
prop.store(out, "Usuarios/claves");
} catch (IOException e) {
e.printStackTrace();
}
}
Espero que a alguien le valga, porque a mi me hubiera venido de perlas, que no he encontrado nada parecido.
1 saludo