Accessing Resources in the WEB-INF Folder
In web applications, deployed as WAR files, it's essential to access resources stored in the war/WEB-INF folder. This question explores how to construct paths to such resources for use with File().
Answer
To obtain the full system path to a resource in the WEB-INF folder, consider the following options:
getRealPath() Method:
ServletContext context = getContext(); String fullPath = context.getRealPath("/WEB-INF/test/foo.txt");
Note that this requires the WAR file to be expanded (not as a single .war file).
getResource() Method:
ServletContext context = getContext(); URL resourceUrl = context.getResource("/WEB-INF/test/foo.txt");
This can be used to obtain either the URL or InputStream of the resource.
Alternatively, if you just want the InputStream of the resource:
InputStream resourceContent = context.getResourceAsStream("/WEB-INF/test/foo.txt");
By using either of these methods, you can access resources stored in the WEB-INF folder, regardless of whether the WAR file is expanded or not.
The above is the detailed content of How to Access Resources in the WEB-INF Folder of a WAR File?. For more information, please follow other related articles on the PHP Chinese website!