Home >Java >javaTutorial >How to Access Resources in the WEB-INF Folder of a WAR File?

How to Access Resources in the WEB-INF Folder of a WAR File?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-23 03:38:11190browse

How to Access Resources in the WEB-INF Folder of a WAR File?

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn