This article, in which we examine issues specific to Tomcat, is the second in our series on the JakartaTomcat server. In this article we will discuss • the requirements for installing and configuring Tomcat, • the process of installing and configuring Tomcat, and • deploying Tomcat web applications.
Requirements for Installing and Configuring Tomcat Before performing the tasks outlined by this article you will need to download the items listed in the Table 1. Table 1. Requirements Name
Location
Tomcat 4.0 beta 1
http://jakarta.apache.org/
JDK 1.3 Standard Edition For this article we will be using the latest versions of the tools listed above.
Installing and Configuring Tomcat In this article we will be installing Tomcat as a stand-alone server. This means that Tomcat will service all requests, including static content, JSPs, and servlets. To configure Tomcat as a stand-alone server you will need to download the Tomcat 4.0 beta 1 and the JDK 1.3 Standard Edition from the locations listed above. You should choose the appropriate downloads based on your OS. We will be covering the steps involved in installing to both NT/2000 and Linux. Installing to Windows NT/2000 The first installation we will be performing is to Windows NT/2000. The first thing you need to do is install the JDK, following its installation instructions. For this article I am installing the JDK to drive D:, therefore my JAVA_HOME directory is D:\jdk1.3. Now you need to extract the Tomcat server. Again, I am installing to drive D:, which will make my TOMCAT_HOME directory D:\jakarta-tomcat-4.0-b1. After you have extracted Tomcat, the next step is putting your JDK into Tomcat's CLASSPATH and setting the TOMCAT_HOME environment variable. To do this under NT/2000, you must 1. Open the NT/2000 Control Panel. 2. Start the NT/2000 System Application and select the Advanced tab. 3. Select the Environment Variables button. 4. Select the New button on the System Variables section of the Environment Variables dialog. Add a JAVA_HOME variable and set its value to the location of your JDK installation. Figure 4 shows the settings associated with my installation.
Figure 4. JAVA_HOME Environment Settings 5. Repeat Step 4 using TOMCAT_HOME for the variable name and the location of your Tomcat installation as the value. For my installation I am setting the value to D:\jakarta-tomcat4.0-b1. That's all there is to it. You should skip the following section "Installing to Linux" and move on to "Testing You Tomcat Installation."
Testing Your Tomcat Installation To test the Tomcat installation, first start the Tomcat server. Table 4 contains the startup and shutdown commands for each OS. Table 4. Tomcat Startup/Shutdown Commands OS
Startup
Shutdown
Windows NT/2000
TOMCAT_HOME\bin\startup.ba TOMCAT_HOME\bin\shutdown.ba t t
TOMCAT_HOME/bin/startup.sh TOMCAT_HOME/bin/shutdown.sh Linux Once Tomcat has started, point your browser at http://localhost:8080/
If you would like to have all requests serviced on the default HTTP port of 80, instead of port 8080, you will need to make the following change to the TOMCAT_HOME/conf/server.xml file and restart Tomcat. Change to Now point your browser at http://localhost/
and you'll see results similar to those in Figure 5. The next step is to verify the installation of your JDK, which is done by executing one of the JSP examples provided with the Tomcat server. At the page shown in Figure 5, choose JSP Examples. You should see a page similar to Figure 6.
Figure 6. The JSP Examples Page
Now choose the JSP example Date and select the Execute link. If everything was installed properly you should see a page similar to Figure 7 (of course with a different date).
If you do not see the previous page, then you need to make sure that the location of your JAVA_HOME environment variable matches the location of your JDK installation. Deploying Web Applications to Tomcat Once Tomcat is installed and running, let's look at the steps necessary to deploy a web application. To deploy a web app, we need to examine the directory structure of Tomcat. Table 5 describes the directories that make up a Tomcat installation. It is assumed that the value of TOMCAT_HOME precedes each of these directories. And because we are using a beta release of Tomcat, these directories could change without notice.
Table 5. The Tomcat Directory Structure This directory contains the startup and shutdown scripts for both Windows and Linux. /bin
/conf /server /lib /logs
This directory contains the main configuration files for Tomcat. The two most important are the server.xml and the global web.xml. This directory contains the Tomcat Java Archive files. This directory contains Java Archive files that Tomcat is dependent upon. This directory contains Tomcat's log files.
This directory contains the source code used by the Tomcat server. Once Tomcat is released, it will probably contain interfaces and abstract classes only.
/src /webapps /work
All web applications are deployed in this directory; it contains the WAR file. This is the directory in which Tomcat will place all servlets that are generated from JSPs. If you want to see exactly how a particular JSP is interpreted, look in this directory.
We will examine most of these directories in future articles. For the remainder of this article we're interested in the /webapps directory, which is where all of our WAR files will be deployed. In our last article we described the contents of a web application and how they are packaged. Once you have a WAR file, containing your web application, deploying web applications to Tomcat is a simple two-step process. Steps Involved in Deploying a Web Application to Tomcat 1. Copy your WAR file to the TOMCAT_HOME/webapps directory. 2. Add a new Context entry to the TOMCAT_HOME/conf/server.xml file, setting the values for the path and docBase to the name of your web application. Restart Tomcat after completing these steps. Your application should now be running. The previously described application can be accessed by pointing your browser at http://localhost/onjava/
If you look at the TOMCAT_HOME/webapps directory, you will see a new directory matching the name of your WAR file. This is where your working web application now exists. When Tomcat starts it will extract all WAR files that have been recently placed into the TOMCAT_HOME/webapps directory. In the next article we will learn how to add Servlets, JSPs, and custom tag libraries to a web application. We will also discuss the relationship between a web application and its ServletContext. Also in Using Tomcat: Configuring Tomcat with IIS Web Server Configuring Tomcat and Apache With JK 1.2 Demystifying Tomcat 4's server.xml File Embedding Tomcat Into Java Applications Using SOAP with Tomcat