Course Outline
Tomcat Overview
- Brief introduction to Apache
- The Apache Software Foundation
- The Jakarta Project
- Tomcat licensing models
- J2EE technologies
- Java web development fundamentals
- Servlet and JSP containers
Java Web Applications
- An overview of Servlets
- Servlet advantages and lifecycle management
- JavaServer Pages (JSP)
- JSP, JavaBeans, and JSP Tag Libraries
- MVC frameworks
Installing Tomcat
- Download and installation of Apache Tomcat
- Installing the JVM, Tomcat, and Ant
- Utilizing the Windows installer
- Java memory management and JVM performance tuning
Tomcat Directories
- Tomcat installation paths, directory structure, the bin directory, and common/shared directories
- Details on the conf, logs, server, work, temp, and webapps directories
- Analysis of the web application directory structure
- Deploying HTML and JSP pages and understanding web context
- JSP pages and generated code
- Process for deploying a web application
ConfiguringTomcat
- Tomcat configuration techniques and methodologies
- Tomcat's component architecture
- Examination of key elements: <Server>, <Service>, <Connector>, <Engine>, <Host>, <Context>, <Realm>, <Valve>, <Listener>, <Loader>, and <Manager>
- The server.xml file
- Methods for modifying server.xml
Web Applications
- Web application administration and deployment workflows
- Directory structure of a web application
- The web.xml configuration file
- Deployment descriptors
- The <web-app></web-app> element
- Mapping Servlets to URLs
- The <resource-ref></resource-ref> element
- The <env-entry></env-entry> element
- The <ejb-ref></ejb-ref> element
- Review of a sample web.xml file
- Deploying a web application
- 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
- Starting and exploring the Tomcat Manager interface
- Review of the Manager section
- Applications, Deploy, and Server Information views
- Creating a WAR file
- Lab 4: Deploying a WAR file
- Java Management Extensions (JMX) on Tomcat
- Tomcat integration with Ant
Advanced Features
- Leveraging advanced Tomcat features
- Valves, including 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 resources
- The <environment></environment> element and the <resource></resource> element
- Configuring a JavaMail Session
- Global resources
JDBC Connectivity
- Configuring Tomcat for database connectivity
- Overview of JDBC
- JDBC drivers
- Database connections and connection pooling
- Download and installation of MySQL
- Configuring MySQL for Tomcat
- Creating a database in MySQL
- Downloading and deploying a JDBC driver
- Defining a DataSource in Tomcat, including manual definition
- Modifying the deployment descriptor
- Detecting and closing leaked database connections
Tomcat Security
- Security configuration and considerations for Tomcat
- General security principles
- File system security and best practices
- The Java Security Manager
- Granting permissions to Java applications and reviewing Java permissions
- Creating and implementing custom policies
- Enabling the Java Security Manager
- Security Manager tips and security realms
- Types of realms and realm configuration
- Users and roles (authentication and authorization)
- Creating a Data Source Realm
- Password protection mechanisms
- FORM-based authentication
- Configuring Tomcat for SSL
- Requiring SSL within applications
Connecting
- Connecting Tomcat to Apache
- Examining connectors
- HTTP connectors
- Advantages of using a web server
- Connector protocols
- Configuring an AJP connector
- Downloading mod_jk
- Creating the mod_jk.conf file
- Starting Tomcat
- Creating a worker
- Configuring httpd.conf
- Testing the setup
- Load balancing applications across multiple Tomcat instances
- Common issues with load balancing
- Server affinity using sticky sessions
- Shared session storage
- Replicated sessions via Tomcat clustering
- Shared hosting
- Tomcat virtual hosting
- Configuring Tomcat for virtual hosting as a stand-alone server
- Configuring Tomcat for virtual hosting using jk2 or webapp
- Configuring Tomcat as Stand-alone
- Configuring Tomcat with AJP
- Assigning a separate JVM for each host
Load Testing
- The JMeter application
- Performing load testing with JMeter
- Installing and running JMeter
- Creating a test plan
- Configuring the Thread Group and adding tasks
- Configuring HTTP requests
- Adding a report listener
- Executing the test plan
- Viewing and analyzing results
Requirements
This course is tailored for web and application server administrators responsible for the installation, configuration, execution, and tuning of the Apache Tomcat Application Server.
To derive the maximum value from this Tomcat training, participants should possess a foundational understanding of web and application server administration principles.
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.