Last Update February 6, 2023
0 already enrolled

About This Course

Course Overview :

Apache Tomcat is an open source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems, and provides a “pure Java” HTTP web server environment for Java code to run in. In the simplest config Tomcat runs in a single operating system process. The process runs a Java virtual machine (JVM). Every single HTTP request from a browser to Tomcat is processed in the Tomcat process in a separate thread.

  • Basic rules of XML (i.e., being able to edit XML files).
  • HTTP protocol (i.e., the stateless nature of HTTP, the need for sessions, HTTP methods, SSL, etc.).
  • Java environments (e.g., memory settings, automatic garbage collection, JDBC).
  • Other Java EE (J2EE) application servers and basic concepts behind Java Web Applications.
  • Manage message transport.

Course Content

    • Introduction
      • Overview of the Apache Software Foundation and the Jakarta Project
      • Overview of Java EE as a platform
      • Overview of the features and functionality specifically provided by Tomcat


    • Installing Tomcat
      • Installing the Java Runtime Environment (JRE)
      • Tweaking the JRE for performance
      • Performing the actual Tomcat installation


    • Examining the Tomcat installation directories
      • bin
      • conf
      • common (Tomcat 5.5 and earlier)
      • lib (Tomcat 6 and later)
      • logs
      • server (Tomcat 5.5 and earlier)
      • shared (Tomcat 5.5 and earlier)
      • temp
      • webapps
      • work


    • Configuring Tomcat
      • server.xml (detailed walkthrough)
      • web.xml
      • context.xml


    • Tomcat Valves
      • AccessLog and FastCommonAccessLog
      • RequestFilterValve
      • SingleSignOnValve (by request)
      • RequestDumperValve (by request)


    • Memory management and JMX monitoring
      • Understanding Java garbage collection
      • Using JAVA_OPTS, JMX and JConsole to monitor and tune Tomcat memory usage
      • Sizing Tomcat’s JVM memory heap
      • Using JMX and JConsole to configure Tomcat via Tomcat’s MBeans
      • Updating Tomcat’s configuration via JMX “on the fly” without restarting Tomcat
      • Load testing with JMeter
      • Using VisualVM (new monitoring tool built into JDK 6) and PSI Probe
      • Controlling JMX MBeans via Ant


    • Logging
      • JULI logging
      • log4j logging
      • Understanding exceptions and thread dumps
      • Connecting databases with Tomcat applications
      • Classic JDBC approach
      • Better approach: JNDI resources
      • Setting up and monitoring database connection pools


    • Security
      • File system security
      • Java security manager
      • Realms, authentication, and authorization
      • SSL
      • Classic JDBC approach


    • Performance tuning strategies
      • Additional JVM tuning tips
      • Enabling parallel garbage collection
      • Building native connectors
      • Disabling/removing unneeded applications
      • Tuning incoming connections and database connection pools
      • Turning off Jasper development mode
      • Realms, authentication, and authorization
      • Precompiling JSPs
      • Preloading servlets


    • Tomcat 7 New Features [optional]
      • Memory leak prevention and detection
      • Servlet 3.0, JSP 2.2, and EL 2.2 support (and the practical implications of this for Tomcat admins)
      • Cross-site request forgery prevention (and how to configure)
      • How Tomcat 7’s new session management features prevent session fixation attacks
      • Alias support (which allow static content to be stored outside the WAR file)


    • Running Tomcat behind Apache httpd or IIS [this section would be taught using your web server and connector module of choice]
      • Why run Tomcat behind Apache httpd or IIS?
      • Installing mod_jk (Apache or Tomcat) or mod_proxy_ajp and mod_proxy_balancer (Apache 2.2 or later only)
      • Proxying traffic to Tomcat via AJP
      • Monitoring the status of your web servers connection to Tomcat
      • Load balancing Tomcat via mod_jk or mod_proxy_balancer


  • Tomcat Clustering
    • Configuring mod_jk (in Apache or IIS) or mod_proxy_balancer (Apache 2.2 or later only) as a load balancer
    • Hardware load balancing as an alternative to software load balancing
    • Sticky sessions
    • Configuring a shared session back-end
      • FileStore/JDBCStore (older approach, generally not recommended)
      • Using the tag
    • Configuring the application to be distributable
    • Setting up and testing failover


Your Instructors


42 Courses
0 Reviews
1 Student
See more
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar