Training » All Courses » Tomcat » Tomcat

Course Summary

Administering Apache Tomcat training course covers the details of installing and configuring Tomcat Web Server.

Students will learn the details of the server.xml configuration file, an overview of Servlet and JavaServer Pages, a comparison of Tomcat to J2EE application servers, the Tomcat installation directories, deploying Java Web applications, the web.xml file, valves, logging, security realms, connecting Tomcat to Apache Web Server, hosting multiple Web sites, performance and scalability issues, load testing, clustering, monitoring, the Tomcat Manager and the Tomcat Administration tool.

Duration

3 days.

Objectives

Tomcat Architecture

Upon completion of Marakana Tomcat Training course, you will be able to:

  • Explain how Tomcat relates to Java EE (J2EE) and compares to other application servers (e.g. JBoss)
  • Install and setup Tomcat on both Windows and UNIX-type environments
  • Deploy, support, and troubleshoot applications on Tomcat
  • Navigate Tomcat's directory structure
  • Understand Tomcat architecture and configuration files: server.xml, context.xml, .properties, etc.
  • Understand web application structure and configuration: web.xml
  • Secure Tomcat and applications running on it
  • Set up Tomcat for SSL
  • Tune Tomcat's performance
  • Explore different load-balancing and high-availability strategies with Tomcat, including server affinity through sticky sessions as well as session replication via Tomcat Clustering

Audience

CompleteMarakana Tomcat Training course is for web/application server administrators who need to be able to install, configure, run, and tune the Apache Tomcat Application Server.

To get the most benefit from the Marakana Tomcat Training course, you should be familiar with the basic principles of web/application server administration.

Additionally, prior exposure to any of these concepts can be helpful:

  • 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

Please note that all these concepts are covered in the class.

Instructors

Photo
Adam Breindel brings over 10 years of successes working with cutting-edge technology for small startups as well as major players in the travel, media/entertainment, financial, productivity, and consulting industries.

In addition to web sites, GUI applications, and mobile device software, Adam has also built high-volume middleware for one of the world's largest banks, and produced a new, modern integration to a 1960s-vintage mainframe app for one of the world's largest airlines.

Adam focuses on designing and coding systems in a way that yields predictable results, leverages best practices and high-productivity tools, minimizes excess code, and is fun to do. He has also spoken at tech conferencs, written articles and skill assessments, and produced an open source tool for software development. Adam has enjoyed teaching large and small groups, covering topics from nuts-and-bolts Java programming to merging ideal process with real-world constraints in an organization. More about Adam Breindel...
Photo

Aleksandar (Saša) Gargenta is the technology brains at Marakana. Always on top of the latest in software, Aleksandar is company's radar for technology that matters.

Aleksandar is the author of Marakana's Java, Advanced Java, Spring/Hibernate, JBoss, Apache, XML/XSL, and JUnit/TestNG training courses. Phew. And if that's not enough, he's also the chief architect of Marakana Spark, the on-demand software platform that powers marakana.com and a number of other training companies. As an instructor he's taught hundreds of classes for everyone from Apple to Disney, from NASA to the Department of Defense.

In his spare time Aleksandar runs the San Francisco Java and the San Francisco Android User Groups with over a thousand members between the two. More about Aleksandar Gargenta...

Jason Brittain is Software Architect at spigit (http://www.spigit.com), a social networking software company with a web 2.0 software suite that can find the best ideas, and the best reputed people in communities of users.

Jason is a co-author of Tomcat: The Definitive Guide, now in its second edition, and has written some web articles for O'Reilly's OnJava.com web site.

Before joining the team at spigit, Jason was a Senior Principal Software Engineer for Orbital Sciences Corporation, working at NASA's Ames Research Center on the Kepler Space Telescope mission (http://kepler.nasa.gov).

Jason's specialties include Java software development, building social networking web applications, Tomcat web application development and deployment, scalability and fault tolerance, and Apache Ant build systems, and Linux system administration. He has contributed to many Apache Jakarta projects, and has been an active open source software developer for several years. More about Jason Brittain...
Photo
After graduating with a Computer Science degree from University of Cape Town, South Africa, Martin spent 13 years developing his career with WorldGroup consulting, starting as a Java programmer and ending his career there in 2005 as Chief Technical Officer of a company selling a J2EE infrastructure based product set to Fortune 500's. In 2005 Martin left his position and founded Javadojo, a company dedicated to building cutting edge delivery platform's in Java and hiring the best Java people in the business. Martin has been a freelance educator for the last 3 years teaching open source technology across the globe. Javadojo has since released the pureSolv platform, the first full RIA (Rich Internet Application) platform supporting interfaces across all mobile and desktop hardware, with a revolutionary scalable back end micro transaction manager - all with open source Java technologies. The first commercial product using pureSolv, called incaMoon, is a universal web store front for the masses, and is in Beta testing currently.

Additionally Martin has been producing electronic music for the last few years using Ableton Live. He has released two albums and has been playing his music live around the US and at festivals such as the Coachella, Shambhala and Burning Man festivals. Martin is currently working on a revolutionary open source music standard, to produce a platform for musicians to share and contribute to their art using the principals of open source software. Martin also teaches digital music production with tools such as Ableton Live and Cubase.

Martin has several real estate projects in progress in the Nicoya Peninsula in Costa Rica where he purchased large tracts of land several years ago and has begun developing infrastructure and reselling subdivisions. The ultimate goal in this project is to develop a 50 acre nature preservation around a man made reservoir, for the protection and preservation of indigenous animal and bird species that live in these coastal regions. More about Martin Folb...

Additional Notes

 

About the Platform

Marakana Tomcat Training course can be taught on both Windows and UNIX/Linux-type environments. The instructor covers both options during the training.

 

Marakana.com Runs on Tomcat

Spark Stack

Marakana.com is written in Java using Spring and Hibernate frameworks. We deploy it on Apache Tomcat Application Server. Both Marakana Spark and Apache Tomcat are Java applications and thus run on Java Virtual Machine. Spark uses MySQL database for persistence. Our operating system of choice is Ubuntu Linux, for security and reliability reasons. So we practice what we teach. You will learn from real developers.

Trademarks

Apache™ and Tomcat™ are a trademark of The Apache Software Foundation. All other marks are the properties of their respective owners.

Java Meetup Organized by Marakana

SF Java Users GroupMarakana team organizes and runs the San Francisco Java Meetup - an interactive group of Java developers. In our monthly meetings, we discuss Java landscape from both technology and business angles. We often have great presentations by industry experts, group discussions, as well as hands-on sessions. If you are in San Francisco Bay Area, we encourage you to join the group and meet other Java developers.

Outline

Apache Tomcat Training Overview

  • Brief history of Apache
  • The Apache Software Foundation
  • The Jakarta Project
  • Tomcat Licensing
  • The J2EE Technologies
  • Java Web Development
  • Servlet/JSP Containers

Java Web Applications

  • Overview of Servlets
  • Advantages of Servlets
  • Lifecycle of a Servlet
  • Overview of JavaServer Pages
  • A Simple JavaServer Page
  • JSP and JavaBeans
  • JSP Tag Libraries
  • The MVC frameworks (e.g. Struts)

Installing Tomcat

  • Downloading and Installing Apache Tomcat
  • Overview of Installing Tomcat
  • Download and install a JVM
  • Download Tomcat
  • Using the Windows installer
  • Understanding Java memory managemenet and tweaking the JVM for performance
  • Download and install Ant

Tomcat Directories

  • Examining the Tomcat Installation Directories
  • Tomcat Directory Structure
  • The bin Directory
  • common and shared Directories
  • The conf Directory
  • The logs Directory
  • The server directory
  • The work Directory
  • The temp Directory
  • The webapps Directory
  • Web Application Directory Structure
  • Deploying HTML and JSP Pages
  • Deploying a Web Context
  • Viewing the JSP Page
  • Viewing the Generated Code
  • Lab 1: Deploying a Web App

Configuring Tomcat

  • Tomcat Configuration Techniques
  • Tomcat’s Component Architecture
  • The <Server> Element
  • The <Service> Element
  • The <Connector> Element
  • The <Engine> Element
  • The <Host> Element
  • The <Context> Element
  • The <Realm> Element
  • The <Valve> Element
  • The <Listener> Element
  • The <Loader> Element
  • The <Manager> Element
  • The server.xml File
  • Lab 2: Modifying server.xml

Deploying Web Applications

  • Web Application Administration
  • Deploying Web Applications
  • The Directory Structure of a Web App
  • web.xml configuration file
  • Deployment Descriptors
  • The <web-app></web-app> Element
  • Mapping a Servlet to a URL
  • The <resource-ref></resource-ref> Element
  • The <env-entry></env-entry> Element
  • The <ejb-ref></ejb-ref> Element
  • A Sample web.xml file
  • Lab 3: Deploying a Web Application
  • Tomcat's default conf/web.xml file
  • Tuning default JSP and Static-content servlets

The Tomcat Manager

  • Deploying and Managing Web Application using the Tomcat Manager
  • Starting the Tomcat Manager
  • Tomcat Manager
  • The Manager Section
  • Applications
  • Deploy
  • Server Information
  • Creating a WAR File
  • Lab 4: Deploying a WAR File
  • Java Management Extensions (JMX) on Tomcat
  • Tomcat integration with Ant

Advanced Features

  • Using Some of the Advanced Features of Tomcat
  • Valves
  • Access Log Valve
  • Single Sign-on Valve
  • Remote Address Filter
  • Remote Host Filter
  • Request Dumper Valve
  • Configuring JNDI Resources
  • JNDI: Java Naming and Directory Interface
  • Defining a JNDI Resource
  • The <environment></environment>Element
  • The <resource></resource>Element
  • Configuring a JavaMail Session
  • Global Resources
  • Lab 5: Using Valves

JDBC Connectivity

  • Configuring Tomcat to Connect to a Database
  • Overview of JDBC
  • JDBC Drivers
  • Connecting to a Database
  • Connection Pools
  • Download and Install MySQL
  • Configure MySQL for Tomcat
  • Create a Database in MySQL
  • Download and Deploy a JDBC Driver
  • Defining a DataSource in Tomcat
  • Defining a Data Source Manually
  • Modifying the Deployment Descriptor
  • Detecting and closing leaked database connections
  • Lab 6: JDBC Connections

Tomcat Security

  • Configuring Security on Tomcat
  • Security Considerations
  • File System Security
  • Filesystem Recommendations
  • The Java Security Manager
  • Granting Permissions to Java Apps
  • Java Permissions
  • Adding Your Own Policies
  • Enabling the Java Security Manager
  • Security Manager Tips
  • Security Realms
  • Different Types of Realms
  • Configuring a Realm
  • Users and Roles (authentication and authorization)
  • Creating a Data Source Realm
  • Protecting passwords
  • FORM-based authentication
  • Configuring Tomcat for SSL
  • Requiring SSL in applications
  • Lab 7: Create a Data Source Realm

Connectors

  • Connecting Tomcat to Apache
  • Overview of Connectors
  • HTTP Connectors
  • Advantages of Using a Web Server
  • Connector Protocols
  • Step 1: Configure an AJP Connector
  • Step 2: Download mod_jk
  • Step 3: Create the mod_jk.conf file
  • Step 4: Start Tomcat
  • Step 5: Create a Worker
  • Step 6: Configure httpd.conf
  • Test the Setup
  • Load balancing applications across multiple Tomcat instances
  • Issues with load balancing
  • Server affinity via sticky sessions
  • Shared session storage
  • Replicated sessions via Tomcat clustering
  • Lab: Clustering

Shared Hosting

  • Overview of Shared Hosting
  • Tomcat Virtual Hosting
  • Configure Tomcat to enable virtual hosting as a stand-alone server
  • Configure Tomcat to enable virtual hosting using jk2 or webapp.
  • Configure Tomcat as Stand-alone
  • Configure Tomcat with AJP
  • Separate JVM for Each Host
  • Lab: virtual hosting

Load Testing

  • Using the JMeter Application
  • Load Testing with JMeter
  • Install JMeter
  • Running JMeter
  • Creating a Test Plan
  • Configure the Thread Group
  • Add a Task to the Thread Group
  • Configure the HTTP Request
  • Add a Report Listener
  • Run the Test Plan
  • Viewing the Results

Course Testimonials

It was exactly what we needed.

- SkillSoft

The instructor was great, well-rounded instructor, has expertise in the Tomcat and Java. This is definitely one of the best technical training course I have taken! I'd recommend this class to other Systems Admin who wants to learn more on Tomcat!

- Autodesk

This course gave me a very clear understanding about setting up Tomcat, deploying applications and setting the security. I learnt the JDBC aspect of the Tomcat and I really benefitted from this training as a developer

- RX SOLUTIONS - UNITED HEALTH GROUP

I would highly recommend this class for any one trying to obtain tomcat skill or understand overall Middle ware application server skills. The snippets of development were helpful to understand the overall technology and how it all works together.

- Accenture

It was definitely a very good learning experience.

- Avery Dennison

One of the best classes I have ever had. I will definitely be looking to come back again!

- Autoliv Inc.

The course content was very useful. The material was very well structured and presentation was excellent. The instructor was very knowledgeable. Overall, this is probably the best course I have taken.

- Research in Motion

The class is very fast paced. The information presented was superb! Sasa is a true expert and had an answer for every question. If you need to know Tomcat and need to know it NOW, this is the class to take! Marc Ferrin DTN Operations Internet Team Leader

- DTN

This class is like participating in a Vulcan mind meld. It is a wealth of information that you can take with you. Highly recommended!

- Avmed Health Plans

Instructor was excellent

- Synovus

The instructor took time out to help me address some issues that we have been having on a new Tomcat implementation, so major Kudos to the instructor.

- RxSolutions

The instructor came prepared. He was extremely knowledgeable.

- EDS

We may invite the instructor come to our company and teach us.

- Northrop Grumman

Definitely a worth while class. The instructor was great, he answered questions thoroughly and adapted his lesson plan to target my individual needs. I will certainly return to Marakana for additional training.

- SunGard

The course met my expectations and the instructor covered the topic well. I will recommend the class to anyone wanting to learn Tomcat.

- HCA

The breath and depth of the instructor's experience and knowlege was phenominal. The course was a great experience.

- Research in Motion

Awesome experience. Best training course I've ever attended.

- Sierra Systems Group

This was the best class I have ever been to

- JP Morgan Chase

The instructor has an excellent amount of knowledge. I wish I had more time to take additional classes and ask questions for fulfilling my expertise in other disciplines like apache, java, mysql, etc.

- Aerospace Computing, Inc.

Excellent Training!

- UC Davis

This was a very thorough class. I learned much more than I ever expected. Instructor knew the material inside and out and was able to answer all questions completely. The diagram of the server layout alone was worth whatever the class cost is.

- Shopko Stores Operating Co. LLC

The course was very clear and interesting, adapted to both developers and administrators. The charts and drawings made a significant difference.

- Marakana, Inc.

Nothing to improve. The instructor was very knowledgeable and no question was outside his ability to answer solidly and concise. Very enjoyable.

- SkillSoft

Very patient, great instructor, really knowledgeable. 'Excellent' really aplies to [the instructor]!

- Prescription Solutions

Have been in the IT environment for a lot of years and taken many courses. This was as good or better than any course I've taken in the past. The subject matter was relatively foreign to me going in but quite familiar by the end of the 3 days. The instructor (Martin) was patient and attentive to the student needs, while also keeping the course at the necessary speed to cover the material. Hectic three days, but learned a lot. Great course. Great instructor.

- State Farm Insurance

Marakana offered us a comprehensive and knowledgeable view of Tomcat that prepared us to meet the challenges of converting our entire Application Server infrastructure to the low-cost open source solution offered by Tomcat.

- CMP

Instructor is well informed with the ideal set on figuring out things for yourself and if you really get stuck he can easily help you out in more detail.

- Agriculture Financial Services Corporation

Thanks! Great class! I learned a lot and look forward to using what I learned next week.

- Pearson

Loved it! Great info... great instructor!

- USP

Sasa was an excellent teacher.

- Whitehead Institute for Biomedical Research