Overview of Java Web Technologies, Part 1 - Creating a Servlet Directory Structure (
Page 3 of 9 )
To run your servlet applications, you need a servlet container. One such
container is Tomcat, the most popular container, which is an open-source
project. The code in this book was tested using Tomcat, but you can use any
Servlet 2.3-compliant servlet container to run it.
NOTE: JSF is currently based on the Servlet 2.3
specification, but this may change. The release version may be based on the
Servlet 2.4 specification (to be released soon also).
When you first install Tomcat (Appendix A provides step-by-step instruction
on installing and configuring Tomcat), several directories are created under the
directory in which you install Tomcat. Tomcat’s directory structure is shown in
Figure 1.

Figure 1 Tomcat’s directory
structure.
In Figure 1, Tomcat is installed in the tomcat5 directory. This directory is
also known as %CATALINA_HOME%.
One of the subdirectories is webapps. This is the parent directory of every Web
application that will be run under this Tomcat installation.
When you first install Tomcat, a number of sample applications are also
created: jspexamples, ROOT, servlets-examples, and tomcat-docs. Therefore, a directory
under webapps is called an application directory, and it contains the resources
for a particular application. For an example of an application directory
structure, look at the jsp-examples application
directory.
Directly beneath an application directory is a directory
called WEB-INF, which has special
significance in a Web application. Under WEB-INF, you can have a classes
directory and a lib directory.
The classes directory contains
all servlet classes and other Java classes used by the Web application. The
directory structure under classes must represent the fully qualified name of the
Java class. For example, if you have a servlet class called ch01.MyServlet, you must create a ch01 directory under classes and put
the MyServlet.class file in classes/ch01. The lib directory, if one
exists, contains all libraries (.jar files) referenced by any resource in the
Web application.
All static resources and JSP files are stored directly under the application
directory. For better organization, you can create subdirectories under the
application directory. For example, you may want to create a jsp directory for
all JSP pages and an images
directory for all your image files. A Web client
can access anything you put under the application directory, except those under
WEB-INF, because WEB-INF is a special directory.
A Web application normally has a deployment descriptor, which is an XML file
called web.xml containing the description of the application. You store the
web.xml file under WEB-INF. We’ll
take a look at the deployment descriptor in the next section.
Remember: This is
part one of the first chapter of JavaServer Faces Programming, by Budi
Kurniawan (McGraw-Hill/Osborne, ISBN 0-07-222983). Stay tuned for part 2 of
"Overviews of Java Web Technologies," where we learn about JSP, JavaBeans, and
Model 2. Buy
this book! |