Skip Navigation Links

Course Length:
3 Days
Course Description:
This course is designed to implement a Tomcat Servlet Container. The course covers the installation and configuration of Tomcat as a secure corporate Servlet Container capable of virtual hosting and linking to the Apache Web Server. Advanced features of Valves, Connectors, the JNDI name service, and JDBC connection pooling are also discussed.
Who Should Attend:
The course is designed for Systems Administrators that wish to implement Tomcat in a production environment. The class is taught with Tomcat running on the UNIX operating system, therefore students should be comfortable with basic UNIX commands.
Benefits of Attendance:
Upon completion of this course, students will be able to:
  • Install, monitor, and maintain a secure corporate Tomcat Servlet Container.
Prerequisites:
Students should have familiarity with the UNIX operating system is assumed. Experience with Java Web applications is a plus.
Course Outline:
  • Overview of the Tomcat Project
    1. What is it?
    2. History
    3. Tomcat version vs. Servlet/JSP spec. versions
    4. Logical outline of the Tomcat components
  • Installation and Basic Configuration
    1. Downloading and installing manually (UNIX/Linux and Windows)
    2. Installing automatically (Windows)
    3. Running Tomcat
    4. Running Tomcat as a daemon or Windows service
    5. Tomcat directories
    6. Basic settings in the server.xml file (Ports for HTTP and shutdown)
    7. Adding users to the basic Tomcat security
  • Web Application Overview
    1. What is a Web Application?
    2. Static Files (HTML, GIF, JPG, etc.)
    3. Servlets
    4. JSPs
    5. Basic configuration (web.xml)
    6. WAR files
    7. Installing WAR files into Tomcat
  • Advanced Tomcat Configuration
    1. Valves
    2. Connectors
    3. JNDI Configuration
    4. JDBC Connection Pool Configuration
  • Classloaders
    1. What are they?
    2. Why do we care?
    3. Common classloader problems and solutions
  • Security
    1. System-Level Security
    2. Securing Web Applications
  • Shared Hosting
    1. What is it and why?
    2. Creating separate domains for each host
    3. Creating separate CATALINA_HOMEs for each host
    4. Configuring each host with a separate JVM.
  • Tomcat with Apache
    1. What is Apache?
    2. Why use Apache with Tomcat?
    3. Installing Apache
  • Load Balancing
    1. Sticky vs. non-sticky sessions
    2. Using the stupid Balancer.war application (bad bad bad)
    3. Using Apache to load balance multiple Tomcats