Apache Tomcat is a server for hosting Java-based web applications. It's also
called a servlet container. It supports Java technologies including:
Java Servlet
JavaServer Pages (JSP)
Java Expression Language (EL)
Java WebSocket
The latest, working version is Tomcat 9. It supports:
Servlet 4.0
JavaServer Pages 2.3
Expression Language 3.0
WebSocket 1.1
Java 1.8+ is required.
Important directories and files:
bin: start-up, shut-down, other scripts and JARs like
tomcat-juli.jar (logging)
conf: configuration files including logging.properties
and logback-catalina.xml (logging)
lib: external libraries (JARs) including logging JARs if you
augment Tomcat's logging abilities
logs:
catalina.yyy-MM-dd.log
catalina.out, main log
host-manager.yyy-MM-dd.log
localhost.yyy-MM-dd.log
localhost_access_log.yyy-MM-dd.txt HTTP methods received
manager.yyy-MM-dd.log
temp: used by JVM
webapps: deployment target for web applications
work: temporary files for deployed web applications
Web applications are deployed in the form of web application archives
(WAR) in the webapps subdirectory of Tomcat. There are three ways to do
this:
Static deployment (you have direct access to the server's filesystem):
Stop the server.
Copy the new WAR to webapps.
Restart the server.
Hot deployment (you have direct access to the server's filesystem):
Copy the new WAR to webapps.
Deployment by Tomcat Manager application (you do not have direct access to
the server's filesystem, but a username and password for Tomcat Manager
application).
The web application can be deployed in the webapps
subdirectory from the server's filesystem.
The web application can be added for deployment by choosing a WAR
from the filesystem on the host accessing Tomcat Manager remotely.