Apache Tomcat – Java Servlet and JSP

On occasion you might have come across a website that had pages with the “.jsp” extension. JSP stands for JavaServer Pages, which is a technology created by Sun Microsystems (Now Oracle) that uses a Java server to implement a server-side scripting environment. This allows a website developer to create dynamic web applications, similar to PHP or ASP.NET.

Apache Tomcat is an open source implementation of the Java Servlet and JavaServer Pages environments, released under the Apache License v2. In essence it is a Java-based web server that runs Java code. It is cross-platform and capable of running on numerous operating systems. Many Linux distributions offer versions of Tomcat in their software package repositories.

Because Tomcat is a server in itself, it must run on a different port than a simultaneously running version of Apache HTTP Server. Commonly used Tomcat ports are 8000 or 8080, rather than the traditional port 80 for Apache web server. Despite being a separate process, Tomcat must communicate and interact with Apache in order to properly function.

Tomcat ships with several components, including Catalina, its Java Servlet container, Coyote, an HTTP connector, and Jasper, Tomcat’s JavaServer Pages (JSP) engine.

Apache Tomcat is widely used in free and commercial web applications. Red Hat, for example, relies on Tomcat to power their JBoss Java application server. Other tools, such as Terracotta clustering software, use plugin modules to interface with Apache Tomcat.

The source code for Apache Tomcat is available for free download, and but it may be used for commercial purposes. While many Linux distributions offer Tomcat packages for your dedicated server, most are earlier versions than the current release. For the latest release, users may need to compile Tomcat from source.