table of contents

Configuring & Using Apache Tomcat 6

A Tutorial on Installing and Using
Jakarta Tomcat for Servlet and JSP Development

Quick Start Guide

I recommend that you use Tomcat with Eclipse or MyEclipse. The time it takes to download the IDE and learn the barebones basics of use will be quickly made up for by the simplification in development, debugging, and deployment.

Manual Tomcat Execution
(Details here)
Tomcat with Eclipse (Details here) Tomcat with MyEclipse (Details here)
  1. Install Java. Make sure you have Java 5 or 6 installed. Details here.
  2. Unzip Tomcat. Unzip tomcat-6.0.16-preconfigured.zip into the top level of the C drive. Details here.
  3. Set JAVA_HOME. Set this environment variable to point at the top-level of your Java installation directory (e.g., C:\Program Files\Java\jdk1.6.0_10). See this sample autoexec.bat file. Details here.
  4. Set CLASSPATH. Set this environment variable to include ".", C:\Servlets+JSP, and the servlet/JSP JAR files. See this sample autoexec.bat file. Details here.
  5. Test the server. Make sure you can start/stop the server. Test some sample HTML files, JSP pages, and servlets. Details here.
  1. Install Java. Make sure you have Java 5 or 6 installed. Details here.
  2. Unzip Tomcat. Unzip tomcat-6.0.16-preconfigured.zip into the top level of the C drive. Details here.
  3. Download Eclipse. Install the Java EE version of Eclipse. Details here.
  4. Test the server. Test Tomcat within Eclipse. Details here.
  1. Install Java. Make sure you have Java 5 or 6 installed. Details here.
  2. Unzip Tomcat. Unzip tomcat-6.0.16-preconfigured.zip into the top level of the C drive. Details here.
  3. Download MyEclipse. Install MyEclipse. Details here.
  4. Test the server. Test Tomcat within MyEclipse. Details here.
You can find details on customizing the Tomcat configuration here.

Overview

This tutorial is a guide to installing and configuring Apache Tomcat 6 for use as a standalone Web server (for development) that supports servlets 2.5 and JSP 2.1. (Note: Apache Tomcat is sometimes referred to as "Jakarta Tomcat" since the Apache Java effort is known as "The Jakarta Project"). This Tomcat tutorial covers version 6.0.16, but the steps are almost the same for any Tomcat 6.0.x version. For coverage of Tomcat 5.5, see the separate Tomcat 5.5 tutorial. For coverage of very old Tomcat versions (Tomcat 5.0.x and Tomcat 4.0.x), please see the Apache Tomcat 5.0 and 4.0 tutorial.

Using Tomcat as a deployment server or integrating Tomcat as a plugin within the regular Apache server or a commercial Web server is more complicated than what is described in this tutorial. Although such integration is valuable for a deployment scenario (see http://tomcat.apache.org/tomcat-6.0-doc/), my goal here is to show how to use Tomcat as a development server on your desktop. Regardless of what deployment server you use, you'll want a standalone server on your desktop to use for development.

The examples here assume you are using Windows, but they can be easily adapted for MacOS, Linux, Solaris, and other versions of Unix. Except when I refer to specific Windows paths (e.g., C:\blah\blah), I use URL-style forward slashes for path separators (e.g., install_dir/webapps/ROOT). Adapt as necessary.

To report errors or omissions in this writeup or to inquire about customized on-site training courses on servlets, JSP, Struts, JSF, Ajax, GWT, Java 5, Java 6, and other Java EE technologies, please contact Marty Hall at hall@coreservlets.com.


Manual Tomcat Execution: Details

Here are more details on using the preconfigured Tomcat version for direct (manual) execution. You can also use Tomcat within Eclipse or MyEclipse, or you can customize the configuration.
  1. Unzip Tomcat. Unzip tomcat-6.0.16-preconfigured.zip into the top level of the C drive. This should result in C:\apache-tomcat-6.0.16\. This version of Tomcat has the following settings already in place. For details on customizing this configuration, please see the detailed configuration guide.
    • The port is changed from 8080 to 80. This lets you enter URLs of the form http://localhost/... instead of http://localhost:8080/....
      • When you download Tomcat from the Apache site, the port is 8080 in case you already have another server running on port 80.
    • Servlet reloading is enabled. This lets you deploy a modified servlet .class file without restarting the server.
      • When you download Tomcat from the Apache site, servlet reloading is disabled for performance reasons. You might want it disabled on a server used for a deployed application, but you definitely want it enabled during development.
    • The invoker servlet is enabled. This lets you drop a servlet .class file into webapps/appName/WEB-INF/classes/packageName and immediately run it with a URL of the form http://localhost/appName/servlet/packageName.servletName. That is, the invoker servlet saves you from editing web.xml to give a servlet-mapping to your servlet.
      • When you download Tomcat from the Apache site, the invoker servlet is disabled. You definitely want the invoker servlet disabled on a server used for a deployed application, but having it enabled on your development server is very convenient for quick testing.
    • Tomcat monitors struts-config.xml and faces-config.xml. Whenever either of these files changes, Tomcat reloads the Web application. This saves you from restarting the server when you change these files.
      • If you do not use Struts or JSF, this change will not be beneficial to you. But it does not hurt either way.
    • Directory listings are turned on. If you type a URL ending in / and there is no welcome file, Tomcat shows a directory listing.
      • Directory listings were on by default in previous Tomcat versions. They are not required but are convenient, especially during development.
  2. Set JAVA_HOME. Set this environment variable to point at the top-level of your Java installation directory (e.g., C:\Program Files\Java\jdk1.6.0_10.) For details, see the sample autoexec.bat file or this section of the page on configuring your development environment.
  3. Set CLASSPATH. Set this environment variable to include ".", C:\Servlets+JSP, and the servlet/JSP JAR files. For details, see the sample autoexec.bat file or this section of the page on configuring your development environment.

For a very quick test, open C:\Servlets+JSP, double click on the shortcut to startup.bat, and open http://localhost/ in your browser. If you see something about Tomcat, the setup was successful. But be sure to do the more complete server tests to verify that you have your development and deployment environment also set up properly.


More Information

Online documentation