Tomcat Java Support

  1. Tomcat Jvm Options
  2. Tomcat Java Ee Support
  3. Tomcat Java Support Tool

Tomcat 8 and Java 8 support. Thread starter StefanB; Start date Mar 15, 2016 S. StefanB Registered. Mar 15, 2016 2 0 1 Sweden cPanel Access Level Website Owner. Tomcat as being a barebones servletcontainer provides indeed only JSP, Servlet, EL and WS APIs out the box. You can however just provide JSF, JSTL, CDI, JPA, Hibernate, Spring, etc yourself along with the web application in flavor of JAR file (s) in the /WEB-INF/lib folder. Import a Java web project in Eclipse, build with Maven, once create a Tomcat server instance, unable to add the Java web project, and showing Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules.

It is an open-source Java servlet container that implements many Java Enterprise Specs such as the Websites API, Java-Server Pages and last but not least, the Java Servlet. The complete name of Tomcat is 'Apache Tomcat' it was developed in an open, participatory environment and released in 1998 for the very first time. It began as the reference implementation for the very first Java-Server Pages and the Java Servlet API. However, it no longer works as the reference implementation for both of these technologies, but it is considered as the first choice among the users even after that. It is still one of the most widely used java-sever due to several capabilities such as good extensibility, proven core engine, and well-test and durable. Here we used the term 'servlet' many times, so what is java servlet; it is a kind of software that enables the webserver to handle the dynamic(java-based) content using the Http protocols.

So what exactly is Apache tomcat?

If you are a little familiar with the websites or have some basic knowledge about the websites, you must have heard about the HTTP protocol or may also know what actually are they. If you want to provide any web-services such as you want to provide a simple static content possibly by using HTML (or Hypertext Markup Language), or maybe you just want to send data from a server to point you, so you necessarily need a server and that server is HTTP(HyperText transfer protocol). So, as we all know that if anyone wants to make a simple, static website, he definitely requires an HTTP server, but if he wants to make website dynamic, he has to use servlet. We use the HTTP server if we want to send simple data. If we want to send dynamic data or to make our website dynamic, we need to use the servlet. Hence, we need an HTTP server and what else we need is a container where we will run or servlet, so when we combine the HTTP server and the servlet (or we can say servlet container), they both combine to become a single server know as tomcat server.

In simple words, we can say that The Apache Tomcat is actually a server and a servlet container.

What kind of server is Tomcat?

The Java ecosystem supports a wide variety of application servers, so let's have a little discussion on each of them and see where Tomcat fits in:


A servlet container is basically an implementation of the Java servlet specification, which is mainly used for the purpose of hosting Java servlets.

The Java enterprise application-server is an implementation of the Java specification.

A web- server is a kind of server designed to serve files using a local system such as Apache.

We can say that, at the center, the Tomcat is JSP (Java Server Pages) and Servlet. The JSP is one of the server-side programming technologies that enables the developers to create platform-independent dynamic content and also known as the server-side view rendering technology. A servlet is a java-based software component that helps in extending the capabilities of a server. However, it can also respond to several kinds of requests and generally implemented web server containers to host the web-applications on the webservers. As the developer's point of view, we just have to write the java server pages (or JSP) or the servlet and not required to worry about routing; the Tomcat will handle the routing.

The Tomcat also consists of the webserver known as the Coyote engine due to which it's possible to extend the capability of Tomcat to include several java enterprise specs, and including the Java Persistence API(JPA). The Tomcat also has an extended version known as the 'TomEE' that contains more enterprise features.

Let's see how to install Tomcat. But before doing that, we are required to download the Tomcat. If you are a window ten user, you can use the following given steps for downloading and installing the Tomcat on your system:

Steps to download and install the Tomcat on Windows 10 operating system

There are many versions of the Tomcat available with different features on its website. You can choose the version according to your requirements, but we suggest you download the latest stable version.

Step 1. Open the Google Chrome or any of your web browser and type 'download Tomcat for windows' in the search box. You can also go directly on Tomcat's website by clicking on this

Now download any version of Tomcat you want:

Step 2. Go to Download and click on the downloaded file and wait for little until the installation process starts.

Step 3. Once the installation process gets started, click on the 'Next' button, as shown below:

Step 4. Click on the button labeled as 'I Agree.'

Step 5. Click on the 'Next' button.

Step 6. Enter the user name and password and click on the ' Next' button, as shown below:

Step 7. Then click on the 'Next' button again

Step 8. Now click on the 'Install' button.

Wait for some time until the Tomcat gets installed.

Step 9. Now click on the 'Finish' button, here the installation of Tomcat is completed. It may ask you to restart your system, so restart your system.

Now you can start the Tomcat by clicking on its icon, and you can start and stop the server.

Advantages of Tomcat:

Some significant advantages of Tomcat are as follows:

  • It is open-source
    It means anyone from anywhere can download, install, and use it free of cost, which makes it the first choice among the new developers and new users.
  • Incredibly Lightweight
    It is actually a very light application, even with the JavaEE's certification. However, it provides all necessary and standard functionalities required to operate a server, which means it gives very fast load and redeploys as compared to its various alternatives.
    Yes, it is right that it does not offer so many features in case you want a number of features, it might be good for you, but if you want to have an easy and fast means in order to run your application, it is the best option for you.
  • Highly flexible
    Due to its built-in customization options, extensive and lightweight nature, it offers high flexibility, a user can run it in any fashion he wants, and it will still work as fine without any issues. Since it is open-source, anyone who has knowledge can tweak it according to his requirements.
  • Stability
    It is one of the most stable platforms available today to build on and using it to run our applications. It is incredibly stable because it runs independently of our Apache installation. In case if there is a big failure in Tomcat due to which it to stop working, the rest of our server would run just well.
  • It provides us an extra level of security
    As the several organizations usually like to position their Tomcat's installation behind the protection of an extra firewall which can be accessible only from the Apache installation.
  • It is well documented
    It has several excellent documentation available, including a vast range of freely available online tutorials that can be downloaded or viewed directly online by the user, which makes it one of the best choices to fill the requirement of an application server in mostly every java web-application.Whether a user is looking for the installation instructions, startup settings, server configuration notes, all kind of information about the Tomcat is already available on the internet.
  • It is one of the most widely used application servers
    According to an estimation, it holds almost 60 percent of the market share almost all java application server deployments, which makes it one of the most popular application servers used for java web-based applications. However, we cannot say that it implements all of the features required for a JavaEE application server; instead, it enables us to run Java EE application.
    Tomcat acts as a 'webserver' or 'servlet container.' However, there is a plethora of terminology for anything.
  • It's mature
    We take a look back in the past; we will find that it has existed for almost 20 years, which is quite a significant time, in which it gets mature over time passage. Since the Tomcat is open-source software, it's updated, and new releases come out nearly on a regular basis, and the open-source community maintains it. The maturity makes it one of the most extremely stable application servers for the development of software, applications, and deploying java applications. Since now, it is extremely a stable option that becomes more powerful with excellent community support.

Let discuss some disadvantages of Tomcat

  • It is not as fast as the Apache if we are working with the static pages
  • It has some issues like a memory leak
  • It's way to handle the logs.
  • Issues in the SSL installations
  • Its user interface is inferior and basic.
Next TopicAnyDesk

Building Tomcat

Table of Contents


Building Apache Tomcat from source is very easy, and is the first step tocontributing to Tomcat. The complete and comprehensive instructions areprovided in the file BUILDING.txt.The following is a quick step by step guide.

Download a Java Development Kit (JDK) version 8

Building Apache Tomcat requires a JDK (version 8) to be installed. You can download one from
or another JDK vendor.


IMPORTANT: Set an environment variable JAVA_HOME to the pathname of thedirectory into which you installed the JDK release.

Install Apache Ant 1.9.10 or later

Download a binary distribution of Ant 1.9.10 or later fromhere.

Unpack the binary distribution into a convenient location so that theAnt release resides in its own directory (conventionally namedapache-ant-1.9.x). For the remainder of this guide,the symbolic name ${ant.home} is used to refer to the full pathname of the Ant installation directory.

IMPORTANT: Create an ANT_HOME environment variable to point the directory ${ant.home},and modify the PATH environment variable to include directory${ant.home}/bin in its list. This makes the ant command line scriptavailable, which will be used to actually perform the build.

Checkout or obtain the Tomcat source code

Tomcat SVN repository URL:

Tomcat source packages:

Checkout the source using SVN, selecting a tag for released version or trunk for the current development code, or download and unpack a source package. For the remainder of this guide, the symbolic name ${tomcat.source} is used to refer to the location where the source has been placed.

Configure download area

Building Tomcat involves downloading a number of libraries that it depends on. It is strongly recommended to configure download area for those libraries.

By default the build is configured to download the dependencies into the ${user.home}/tomcat-build-libs directory. You can change this (see below) but it must be an absolute path.

The build is controlled by creating a ${tomcat.source}/ file. It can be used to redefine any property that is present in and build.xml files. The file does not exist by default. You have to create it.

The download area is defined by property base.path. For example:

Different versions of Tomcat are allowed to share the same download area.

Another example:

Users who access the Internet through a proxy must use the properties file to indicate to Ant the proxy configuration:

Building Tomcat

Use the following commands to build Tomcat:

cd ${tomcat.source}

Once the build has completed successfully, a usable Tomcat installation will have beenproduced in the ${tomcat.source}/output/build directory, and can be startedand stopped with the usual scripts.

Building with Eclipse

IMPORTANT: This is not a supported means of building Tomcat; this information isprovided without warranty :-).The only supported means of building Tomcat is with the Ant build described above.However, some developers like to work on Java code with a Java IDE,and the following steps have been used by some developers.

NOTE: This will not let you build everything under Eclipse;the build process requires use of Ant for the many stages that aren'tsimple Java compilations.However, it will allow you to view and edit the Java code,get warnings, reformat code, perform refactorings, run Tomcatunder the IDE, and so on.

WARNING: Do not forget to create and configure ${tomcat.source}/ file as described above before running any Ant targets.

Sample Eclipse project files and launch targets are provided in theres/ide-support/eclipse directory of the source tree.The instructions below will automatically copy these into the required locations.

Tomcat Jvm Options

An Ant target is provided as a convenience to download all binary dependencies, and to createthe Eclipse project and classpath files in the root of the source tree.

cd ${tomcat.source}
ant ide-eclipse

Start Eclipse and create a new Workspace.

Open the Preferences dialog and then select Java->Build Path->ClasspathVariables to add two new Classpath Variables:

TOMCAT_LIBS_BASEThe same location as the base.path setting in, where the binary dependencies have been downloaded
ANT_HOMEthe base path of Ant 1.9.10 or later

Use File->Import and choose Existing Projects into Workspace.From there choose the root directory of the Tomcat source tree (${tomcat.source})and import the Tomcat project located there.

start-tomcat and stop-tomcat launch configurations are provided inres/ide-support/eclipse and will be available in the Run->Run Configurationsdialog. Use these to start and stop Tomcat from Eclipse.If you want to configure these yourself (or are using a different IDE)then use org.apache.catalina.startup.Bootstrap as the main class,start/stop etc. as program arguments, and specify -Dcatalina.home=..(with the name of your build directory) as VM arguments.

Tomcat Java Ee Support

Tweaking a few formatting preferences will make it much easier to keep consistent with Tomcatcoding conventions (and have your contributions accepted):

Java -> Code Style -> Formatter -> Edit..Tab policy: Spaces only
Tab and Indentation size: 4
General -> Editors -> Text EditorsDisplayed tab width: 2
Insert spaces for tabs
Show whitespace characters (optional)
XML -> XML Files -> EditorIndent using spaces
Indentation size: 2
Ant -> Editor -> FormatterTab size: 2
Use tab character instead of spaces: unchecked

The recommended configuration of Compiler Warnings is documented inres/ide-support/eclipse/java-compiler-errors-warnings.txt file.

Tomcat Java Support Tool

Building with other IDEs

The same general approach should work for most IDEs; it has been reportedto work in IntelliJ IDEA, for example.