Deploying Web Applications to Tomcat

In this article we are going to cover the deployment of web applications using Tomcat. We are performing a manual deployment to fully explain the steps involved when deploying a web application.

The best way to describe the deployment process is to create a web application of our own that includes the important components found in most Java web applications; then package it for deployment. The following sections will take you through the steps involved in deploying a web application. The name of our web application will be onjava.

.

In this article, we

create the web application directory structure,

create a web application ServletContext,

add JSPs,

add Servlets,

add Tag Libraries, and

create and deploy a WAR file.

Creating the Web Application Directory Structure

The first thing you need to do is create the directory structure
that will contain the application. We discussed this structure in Part
1, Java Web
Applications, and I include the relevant details in Table 1.

Table 1. The Web Application Directory
Structure

Directory

Contains

/onjava

This is the root
directory of the web application. All JSP and XHTML files are stored
here.

/onjava/WEB-INF

This directory
contains all resources related to the application that are not in the
document root of the application. This is where your web application
deployment descriptor is located. Note that the WEB-INF directory is
not part of the public document. No files contained in this directory
can be served directly to a client.

/onjava/WEB-INF/classes

This directory is
where servlet and utility classes are located.

/onjava/WEB-INF/lib

This directory
contains Java Archive files that the web application depends upon.
For example, this is where you would place a JAR file that contained a
JDBC driver.

The name of our web application, onjava, is the root
of our directory structure.

While in development I suggest creating the directory directly in
the Tomcat /webapps directory. When it comes time for
deployment, you can package your web application into a WAR file and
go though the production deployment process.

The last step in creating the web application directory structure
is adding a deployment descriptor. At this point you'll be creating a
default web.xml file that contains only the DTD, describing the
web.xml file, and an empty <webapp/> element. Listing 1
contains the source for a default web.xml file.