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
- Introduction
-
- Installing Tomcat
- Installing the Java Runtime Environment (JRE)
- Tweaking the JRE for performance
- Performing the actual Tomcat installation
- Installing Tomcat
-
- 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
- Examining the Tomcat installation directories
-
- Configuring Tomcat
- server.xml (detailed walkthrough)
- web.xml
- context.xml
- Configuring Tomcat
-
- Tomcat Valves
- AccessLog and FastCommonAccessLog
- RequestFilterValve
- SingleSignOnValve (by request)
- RequestDumperValve (by request)
- Tomcat Valves
-
- 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
- Memory management and JMX monitoring
-
- 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
- Logging
-
- Security
- File system security
- Java security manager
- Realms, authentication, and authorization
- SSL
- Classic JDBC approach
- Security
-
- 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
- Performance tuning strategies
-
- 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)
- Tomcat 7 New Features [optional]
-
- 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
- Running Tomcat behind Apache httpd or IIS [this section would be taught using your web server and connector module of choice]
- 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