Home >Java >javaTutorial >What is the Purpose and Content of the WEB-INF Directory in Java EE Web Applications?
Understanding the Purpose of WEB-INF in Java EE Web Applications
The WEB-INF directory is an integral part of a Java EE web application, serving a specific purpose as outlined by the Servlet 2.4 specification.
What's the Deal with WEB-INF?
According to the specification:
"A special directory exists within the application hierarchy named WEB-INF. This directory contains all things related to the application that aren't in the document root of the application. The WEB-INF node is not part of the public document tree of the application."
In simpler terms, WEB-INF is not accessible directly by clients. Instead, it's visible to servlet code and can be utilized to store sensitive information like:
JSP Files and WEB-INF
Technically, JSP files can reside anywhere, but placing them in WEB-INF prevents direct client access. To make them accessible to servlets, you can use the RequestDispatcher.
Other WEB-INF Content
Aside from JSP files, WEB-INF can house:
WEB-INF vs. WAR Structure
It's important to differentiate between the project structure and the WAR file structure. While static resources may overlap, the mapping process involves transformations and copying to create the artifact.
WEB-INF/classes and WEB-INF/lib in WARs
WEB-INF/classes will contain the compiled classes and resources required at runtime. WEB-INF/lib holds the necessary JAR files. In Maven projects, this is handled automatically, eliminating the need for manual management.
The above is the detailed content of What is the Purpose and Content of the WEB-INF Directory in Java EE Web Applications?. For more information, please follow other related articles on the PHP Chinese website!