A Web module has two special folders for Java code: WEB-INF/classes and WEB-INF/lib. The classes folder may contain “loose” Java classes (classes that are not inside a JAR file), and it can be used for Servlet or Utility classes within the scope of the Web application. **Often a special class loader is used for this folder, so that if changes are made to the classes, they are automatically reloaded by the application server
The lib folder may contain JAR files (not ZIP files by default!) that the Web application also uses. You should place third-party JAR files and other utility JAR files in this folder. However, if other Web or EJB modules use the JAR files, move them into the Enterprise Application project instead, as explained in the Enterprise applications section below.