How do I know what file reference to use to get a file from my WAR.
The structure of the WAR is:
WAR
src
- model
- web
build
WebContent
META-INF
WEB-INF
LIB
The JSPs are under WebContent, I have put the config.txt file under the WebContent folder and tried to get to it with
BufferedReader in = new BufferedReader(new FileReader("WebContent/config.txt"));
But this doesn't work. Does anyone know what reference I need to pass or how I can figure it out.
Check out ServletContext.getResourceAsStream(). Here is an example.
I think just remove WebContent from the path while reading the file and it should help.
One way to do this comes with a caveat that I'll explain below. You should do something like this:
// In a Servlet
ServletContext sc = getServletContext();
BufferedReader in =
new BufferedReader(new FileReader(sc.getRealPath("WebContent/config.txt"));
This assumes that your servlet container is configured to expand war files into their corresponding directory structure.
The safest way to access this file should be something like this:
InputStream input = getClass().getClassLoader().getResourceAsStream("your/path/enter/here");