Course Outline
Tomcat Overview
- A brief introduction to the Apache project
- The Apache Software Foundation
- The Jakarta Project
- Licensing terms for Tomcat
- Overview of J2EE Technologies
- Foundations of Java Web Development
- Servlet and JSP Containers
Java Web Applications
- An overview of Servlets
- Benefits of Servlets and their lifecycle
- Introduction to JavaServer Pages
- Integration of JSP, JavaBeans, and JSP Tag Libraries
- Exploration of MVC frameworks
Installing Tomcat
- Steps for downloading and installing Apache Tomcat
- Procurement and installation of a JVM, Tomcat, and Apache Ant
- Utilizing the Windows installer
- Java memory management and JVM tuning for optimal performance
Tomcat Directories
- Overview of Tomcat installation paths, directory layout, bin directory, and common/shared directories
- Details on conf, logs, server, work, temp, and webapps directories
- Structure of the web application directory
- Deploying HTML and JSP pages and defining Web Contexts
- JSP pages and their generated code
- Process of deploying a web application
Configuring Tomcat
- Techniques for configuring Tomcat
- Understanding Tomcat's component architecture
- Key elements: <Server>, <Service>, <Connector>, <Engine>, <Host>, <Context>, <Realm>, <Valve>, <Listener>, <Loader>, and <Manager>
- In-depth look at the server.xml file
- Methods for modifying server.xml
Web Applications
- Administrative tasks and deployment of web applications
- Directory structure specific to web applications
- The web.xml configuration file
- Understanding Deployment Descriptors
- The <web-app></web-app> element
- Mapping Servlets to specific URLs
- The <resource-ref></resource-ref> element
- The <env-entry></env-entry> element
- The <ejb-ref></ejb-ref> element
- Example of a web.xml file
- Steps for deploying a web application
- Review of Tomcat's default conf/web.xml file
- Tuning default JSP and static-content servlets
Tomcat Manager
- Deploying and managing web applications via the Tomcat Manager
- Launching the Tomcat Manager and exploring its interface
- Analysis of the Manager section
- Managing applications, deployment, and server information
- Generating a WAR file
- Lab 4: Practical deployment of a WAR file
- Java Management Extensions (JMX) within Tomcat
- Integrating Tomcat with Ant
Advanced Features
- Leveraging advanced Tomcat features
- Valves: Access Log Valve and Single Sign-on Valve
- Remote Address Filter and Remote Host Filter
- Request Dumper Valve
- Configuration of JNDI Resources
- JNDI (Java Naming and Directory Interface) and defining JNDI resources
- The <environment></environment> element and The <resource></resource> element
- Setting up a JavaMail session
- Managing global resources
JDBC Connectivity
- Configuring Tomcat for database connectivity
- Fundamentals of JDBC
- Overview of JDBC drivers
- Database connections and connection pooling strategies
- Downloading and installing MySQL
- Configuring MySQL for use with Tomcat
- Creating a database in MySQL
- Downloading and deploying a JDBC driver
- Defining a DataSource in Tomcat and manual Data Source creation
- Modifying the Deployment Descriptor
- Detection and closure of leaked database connections
Tomcat Security
- Security configurations and considerations in Tomcat
- General security best practices
- File system security and filesystem recommendations
- The Java Security Manager
- Granting permissions to Java applications and reviewing Java permissions
- Creating and adding custom policies
- Activating the Java Security Manager
- Tips for the Security Manager and Security Realms
- Types of Realms and Realm configuration
- Managing users and roles for authentication and authorization
- Creating a Data Source Realm
- Password protection mechanisms
- FORM-based authentication setup
- Configuring Tomcat for SSL
- Enforcing SSL requirements in applications
Connecting
- Integrating Tomcat with Apache
- Overview of Connectors
- HTTP Connectors
- Benefits of using a dedicated web server
- Connector protocols
- Setting up an AJP Connector
- Downloading mod_jk
- Creating the mod_jk.conf file
- Starting Tomcat
- Defining a Worker
- Configuring httpd.conf
- Testing the integrated setup
- Load balancing applications across multiple Tomcat instances
- Common issues related to load balancing
- Maintaining server affinity through sticky sessions
- Shared session storage solutions
- Replicating sessions using Tomcat clustering
- Shared Hosting concepts
- Virtual Hosting in Tomcat
- Enabling virtual hosting on a stand-alone Tomcat server
- Configuring virtual hosting using jk2 or webapp
- Tomcat Stand-alone configuration
- Tomcat configuration with AJP
- Using separate JVMs for each host
Load Testing
- Introduction to the JMeter application
- Performing load tests with JMeter
- Installation and execution of JMeter
- Developing a Test Plan
- Configuring the Thread Group and adding tasks
- Setting up the HTTP Request
- Adding a Report Listener
- Executing the Test Plan
- Reviewing test results
Requirements
This course is tailored for web and application server administrators tasked with installing, configuring, operating, and optimizing the Apache Tomcat Application Server.
To maximize the value of this Tomcat training, prior familiarity with the fundamental principles of web and application server administration is recommended.
Testimonials (6)
Interective and examples.
Paulius Stankevicius - Festo SE & Co. KG
Course - Apache Tomcat Administration
Systematic approach; We have covered the whole process, from installation till creating a clustered environment...
Visnja Begovic - Euronet Services Kft
Course - Apache Tomcat Administration
I like the complexity of the training
Attila Molnar - Euronet Services Kft
Course - Apache Tomcat Administration
The delivery mechanism, being able to attend the training from home.
Chris Gagola - Canada Life Group Services
Course - Apache Tomcat Administration
I generally liked the labs / Exercises.
Deeksha Upadhyay - Canada Life Group Services
Course - Apache Tomcat Administration
Training was very interactive.