JSP runs in servlet container, so its current working directory is defined by the container. Typically it is the directory where container is installed or its bin directory. In any case it is not the place where you want to store your custom properties file.
There are 2 typical approaches to do what you need.
The first approach is good if your file is a part of your application and you never change it on deployment. In this case read it from resources:
props.load(getClass().getResourceAsStream())
or even better
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream())
*
The second approach is good if you want to change your properties file
on deployment environment
*. In this case put it somewhere in the file system outside your container. For example /opt/mycompany/conf/myproperties.properties on linux or at any other location you like. Now you should use absolute path when creating FileInputStream.
To make system better configurable you should not write the path to configuration file inside the code. Better approach is to pass it to application using system properties, e.g. add parameter like -Dmycompany.conf=/opt/mycompany/myprops.properties when you are running your application server. When you want to read the file do the following:
new FileInputStream(System.getProperties("mycompany.conf"))
Now configuration of your system can controlled independently by deployer.