Tomcat provides an implementation of both the servlet and JSP specifications. These specifications are in turn part of Sun's Java Enterprise Edition. Java EE is designed to let application developers move their applications from one compliant application server (a program that implements the Java EE specification) to another, without significant rewriting or revising. To accomplish this, applications are packaged in very specific, portable ways; for example, as web application archives or enterprise application archives.
The Java Servlet Specification defines the Web Application aRchive (WAR) file format and its file structure for this very purpose. For your webapp to be application-server-implementation-independent, your files must follow certain conventions, such as the directory layout for storing web pages, configuration files, and so on. This general layout is shown in Figure 3-2.
Figure 3-2. Servlet/JSP web application file layout
As a concrete example, Acme Widgets' site might look like Example 3-1.
Example 3-1. Example web application file layout
/ /index.jsp /products.jsp /widgets/index.html /widgets/pricing.jsp /images/logo.png /WEB-INF/web.xml /WEB-INF/classes/com/acme/PriceServlet.class /WEB-INF/classes/DataHelper.class /WEB-INF/lib/acme-util.jar
As you can see, the web pages (whether static HTML, dynamic JSP, or another dynamic templating language's ...