What is Apache Tomcat – We all know that Java is a general-purpose programming language which means that Java is designed to be used in the widest variety of development possibilities. It differs to the domain-specific language (we’ll talk about the difference in the next post). This makes Java still bravely standing on the modern software development era, though being the “old horse”
Java being a general-purpose programming language also has its contribution to the web development industry.
Java on web development
Since long, Java has been a big contributor to web development. Java web applications are typically not running directly on the server. But usually, Java web applications are running inside a web container on the server. This container provides a runtime environment for web applications in Java
So, what is Apache Tomcat?
Apache Tomcat, or also widely known as Tomcat server, has been a popular choice for many web developers building and maintaining amazing dynamic websites and applications based on the Java platform.
First developed by Apache Software Foundation (ASF) Tomcat was born as one of many Java-based Open-Source projects. Apache Tomcat is basically a Java Servlet container, or you might as well say “web container”. It provides extended functionality to interact with Java Servlets.
But what is a Java servlet?
Well, we all know by now that we can use Java to create dynamic web pages using Apache Tomcat, but what makes it possible? The answer is Java servlets.
Servlets are Java programs that runs on the Java-enabled web server or application server (i.e Tomcat server). Java servlets are used to handle request obtained from the webserver. It process the request, produce what response is correct, then sends that response back to the webserver.
Details on servlets
- Servlets work on the server-side of the development.
- Servlets are capable of handling complex requests obtained from a webserver.
Okay, so back to our main topic about Apache Tomcat.
Apache Tomcat implements the Java Servlet, JavaServer Pages, Java Expression Language, and Java WebSocket technologies. It also provides a “pure Java” HTTP web server environment so Java code can run. For example, in the simplest configuration, Tomcat runs in a single operating system process. Now that process itself runs a Java Virtual Machine (JFM) and every single HTTP request from the webserver is processed in the Tomcat process in a separate thread.
Apache Tomcat components
Tomcat consists of 3 components:
- Catalina: Catalina is Tomcat’s servlets container.
- Coyote: Coyote is a Connector component for Tomcat that supports the HTTP 1.1 protocol as a web server.
- Cluster: Used to manage large applications
- High availability
- Web applications (Based from Wikipedia)
You can check out and try Apache Tomcat here.
The programming language that I specialize in is Java, because I think Java programming language is more universal and of course because I like it regardless of any reason.