Home > Tomcat, Why Tomcat? > Why Tomcat?

Why Tomcat?



Why Webserver?

Have you ever wondered about the mechanisms that delivered this page to you? So, when you clicked on the link for this page, or typed its URL (Uniform Resource Locator), what happened behind the scenes to bring this page onto your screen? If you’ve ever been curious about the process, or have ever wanted to know some of the specific mechanisms that allow you to surf the Internet, then read on. At the most basic level possible, the following diagram shows the steps that brought that page to your screen:







The browser breaks the URL into three parts:

  • The protocol (“http”)
  • The server name (“www.tecneosis.com“)
  • The file name (“why-tomcat.htm”)

The browser communicates with a name server to translate the server name “www.tecnoesis.com” into an IP Address, which then the browser uses to connect to the server machine. The browser then forms a connection to the server at that IP address on port 80. Following the HTTP protocol, the browser sends a GET request to the server, asking for the file “http://www.tecnoesis.com/why-tomcat.htm.” The server then sends the HTML text for the Web page to the browser. The browser reads the HTML tags and formats the page onto your screen. Your browser forms a connection to a Web server, requests a page and receives it.


Clients and Servers:

In general, all of the machines on the Internet can be categorized as two types: servers and clients. Those machines that provide services (like Web servers or FTP servers) to other machines are servers. And the machines that are used to connect to those services are clients. When you connect to Yahoo! at www.yahoo.com to read a page, Yahoo! is providing a machine (probably a cluster of very large machines),to service your request. Yahoo! then is a server. Your machine, on the other hand, is a user machine also known as a client.

The server usually serves either static or dynamic pages to the client. Static pages are those that do not change unless the creator of the page edits it. Dynamic pages are those which the server has to perform certain processes (invoke the component that executes perticular logic) to dynamically display the content to the client.


Tomcat as a Webserver:

If you’re going to be running Java code on your web server (either in the form of Servlets or Java Server Pages), then you’ll need an appropriate software for that purpose. You’ll need a container to run your Servlets and JSPs, and the most commonly used container is Tomcat. Tomcat executes Java servlets and renders Web pages that includes Java Server Page.

Tomcat is developed in an open and participatory environment and released under the Apache Software License. Tomcat is intended to be a collaboration of the best-of-breed developers from around the world. Although Tomcat is not a full Java Enterprise Application Server, such as Geronimo, JBoss, Websphere or Weblogic, Tomcat still has many advanced features of an applications server. Tomcat is not an portal server or a portlet container. Its a webserver designed to handle web applications.

Tomcat is the de-facto web server of choice. Written entirely in Java, being an open source with both source and binary freely downloadable, you will have access to the entire code. For Java developers, the basis of most of the web applications are Servlets and JSP’s which are written in Java. Servlets and JSP’s are server-side components, which need a dedicated environment to maintain and process them. This environment is provided by Tomcat’s container. Servlet and JSP’s reside in Tomcat’s container. The container delegates the request from the client to servlets / JSP’s.


Apache Tomcat Quotes:

Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed under the Java Community Process.

Apache Tomcat is developed in an open and participatory environment and released under the Apache Software License. Apache Tomcat is intended to be a collaboration of the best-of-breed developers from around the world. We invite you to participate in this open development project. To learn more about getting involved, click here.

Apache Tomcat powers numerous large-scale, mission-critical web applications across a diverse range of industries and organizations. Some of these users and their stories are listed on the PoweredBy wiki page.


Tomcat Versions Features:

Tomcat 4.x

  • Released 2001
  • implements the Servlet 2.3 and JSP 1.2 specifications
  • servlet container redesigned as Catalina
  • JSP engine redesigned as Jasper
  • Coyote HTTP connector
  • Java Management Extensions (JMX), JSP and Struts-based administrations

Tomcat 5.x

  • implements the Servlet 2.4 and JSP 2.0 specifications
  • reduced garbage collection, improved performance and scalability
  • native Windows and Unix wrappers for platform integration
  • faster JSP parsing

Tomcat 6.x

  • implements the Servlet 2.5 and JSP 2.1 specifications
  • support for Unified Expression Language 2.1
  • designed to run on Java SE 5.0 and later
  • support for Comet through the CometProcessor interface
  • is not packaged with an admin console as in past releases





Note: Refer to other posts in Tomcat category for further knowledge. 



  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: