Apache Tomcat is an open source Web server and web container that implements the specification for Java Servlets and Java Server Pages ( JSP) and thus allows to run Java web applications on Servlet or JSP based.
Design and operation
Tomcat consists of the actual servlet container Catalina, the Jasper JSP engine and the connector framework Coyote. Using various connectors Tomcat supports various communication protocols and can be operated either as a standalone Web server using the HTTP connector or integrated by means of the AJP connector in other web server such as Apache Web Server or Microsoft IIS. With the currently existing AJP implementation (version 1.3 ), it is possible to run the servlet container on a separate host computer to relieve the web server; in particular, it allows the load balancing functionality, to be submitted to the appropriate power requirements to the Web server a cluster of multiple servlet containers to the side.
The directory hierarchy of a Tomcat 6.x/7.x installation includes:
The development of Tomcat originally started as a project by James Duncan Davidson at Sun Microsystems as a reference implementation for the Java Servlet and JavaServer Pages specifications. Sun over 1999 was the Tomcat code base to the Apache Software Foundation, which continued the project under the umbrella of their top-level project Jakarta as an open source project. In 2005 Tomcat itself became a separate Apache top-level project and has since its own organizational and management structure.
Prior to accepting the Tomcat project, the Apache Software Foundation already maintained a servlet container named JServ. The development of JServ was discontinued in favor of Tomcat in 2000. Only the connector that Tomcat can connect to other web server via the AJP protocol, was taken from the code base of JServ out in Tomcat. In 2001 was organized by the Tomcat version 4 a thorough redesign of the Tomcat structure and much of the code base were re-created.
Tomcat is also found in a number of JavaEE application servers application, it is part of eg Apache Geronimo and Apache Tomee.