Apache Tomcat Java

Posted : admin On 1/26/2022

Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.

Apache TomEE, pronounced 'Tommy', is an all-Apache Java EE 6 Web Profile certified stack where Apache Tomcat is top dog. Apache TomEE is assembled from a vanilla Apache Tomcat zip file. We start with Apache Tomcat, add our jars and zip up the rest. The result is Tomcat with added EE features - TomEE.

Download Apache TomEE Now » and get started today!

Tomcat 9.0.26 on Java 13 from AdoptOpenJDK on macOS Mojave without a problem. No more JRE †, just JDK. Oracle no longer intends for end-users to be installing a JRE or a JDK. Java Applets in a browser and Java Web Start app delivery are both being phased out, leaving the end-user with no need for a JRE. Java-based apps are expected to bundle their own Java implementation. The Apache Tomcat ® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies. The Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket specifications are developed under the Java Community Process.


The Web Profile version of TomEE contains

  • CDI - Apache OpenWebBeans
  • EJB - Apache OpenEJB
  • JPA - Apache OpenJPA
  • JSF - Apache MyFaces
  • JSP - Apache Tomcat
  • JSTL - Apache Tomcat
  • JTA - Apache Geronimo Transaction
  • Servlet - Apache Tomcat
  • Javamail - Apache Geronimo JavaMail
  • Bean Validation - Apache BVal


The TomEE Plus distribution adds the following:

  • JAX-RS - Apache CXF
  • JAX-WS - Apache CXF
  • JMS - Apache ActiveMQ
  • Connector - Apache Geronimo Connector

Microprofile is an open forum to optimize Enterprise Java for a microservices architecture by innovating across multiple implementations and collaborating on common areas of interest with a goal of standardization. TomEE is actively participating in this effort, and would welcome help from the community in moving this process forward.

RebelLabs released an annual study with awards to recognize Geeky Excellence for 2014. Tomcat and TomEE were named as one of the 10 Geek Choice Awards winner. For a complete list of winners, check out the report '10 Kick-Ass Technologies Modern Developers Love'.

Simple, get much more from Apache Tomcat, yet without giving anything up.

Some core principles guide the integration:

  • Don't mess with Tomcat - Just take it as it comes and extend it
  • Keep it as simple as possible for the end user
  • Avoid architectural overhead - It should just run existing applications out of the box

The desire to beef-up Tomcat installations has persisted despite the existence of full-profile application servers,many of which actually include Tomcat in some truncated or stripped-down form.TomEE strives to fill this gap.

Apache TomEE is assembled from a vanilla Apache Tomcat official distribution.No picking and choosing individual parts of Tomcat and building a 'new' serverleveraging Tomcat. We start with Tomcat, add our jars and configuration and zip up the rest. The result is Tomcat with added EE features, TomEE.

Tomcat provides plenty of hooks for filling out parts of its lifecycle. Weleverage them all to fill the gaps. The result is a whole lotta sharing!

Servlets now get access to JPA and Transactions, EJBs get access to Tomcatprovided Security. Any Tomcat provided resources, say from a context.xml,can be looked up or injected by any managed component in the system.

There's a definite 'less is more' philosophy in Apache TomEE. It's tooeasy to go too far when developing an app server. The result is usually aslow to start, memory hogging, beast. We're not here to create an ultraflexible, super powerful, infinitely composable, be anything to anyoneplatform. We're here to deliver Java EE 6 Web Profile in the simplest waypossible.

If you were to imagine taking a plain Tomcat install and integrating themissing components in the most direct and to-the-point style possible,you'd end up with TomEE. The result speaks for itself:

  • Runs without any additional memory requirements
  • Compatible with most Tomcat-aware tools
  • Compatible with Tomcat-tested apps

In Apache TomEE's previous life, it was simply known as the OpenEJB+Tomcatintegration. That description was always quite misleading. For one,there's incredible benefit even if EJB is never used.

Quite simply, EJB as a technology integrates with the most number of specsthan any other spec. It touches JMS, Web Services, Connectors, Servlets(EJB Web Services are still driven by Servlets!), JPA, JDBC, Transactions,Security. Integrating with all these technologies takes time and expertiseand in the end has very little to do with EJB specifically. To apply thisall to Tomcat and leverage it all from a simple Servlet is a naturalextension and the reason most app servers started out as EJB servers.

Whereas most app servers pluck Tomcat out of its environment, ApacheOpenEJB has always existed as an embeddable container focused on being astiny and invisible as possible. The natural extension of this is to embedthe 'EE' into Tomcat, rather than the other way around.

But in the end, it is not about EJB. It's about the other guys: ActiveMQ,CXF, MyFaces, OpenJPA, OpenWebBeans, and of course Tomcat! So out withOpenEJB+Tomcat and in with Apache TomEE!

Any help with the documentation is greatly appreciated.

All edits are reviewed before going live, so feel free to do much more than fix typos or links. If you see a page that could benefit from an entire rewrite, we'd be thrilled to review it. Don't be surprised if we like it so much we ask you for help with other pages :)

NOTICE: unless indicated otherwise on the pages in question, all editable content available from apache.org is presumed to be licensed under the Apache License (AL) version 2.0 and hence all submissions to apache.org treated as formal Contributions under the license terms.

Apache Tomcat (formerly known as Jakarta Tomcat) is an open-source web server developed by Apache to provide a Java HTTP server that allows you to easily run Java files.

This means that Tomcat is not a normal server similar to Apache or Nginx since its main purpose is to provide a good web environment for running Java applications that other web servers do not.

Recently On February 2, 2021, Apache Tomcat reached version 10 (version 10.0.2), which is the first stable version of the 10.x.0 series.

There are a number of notable changes in version 10 of Apache Tomcat.


Apache Tomcat Java Path

In this article, we will install Apache Tomcat 9 on RHEL / CentOS 7.0 / 6.x.

Steps To Install Apache Tomcat 10 On CentOS

  1. Java 8 installation and settings
  2. Install Apache Tomcat 10
  3. Apache Tomcat 10 settings
  4. Change Apache Tomcat port

Step 1: Java 8 installation and settings

Before you start installing Tomcat, be sure to install JAVA on your Linux to run Tomcat. Otherwise, install the latest version of Java 9 using yum command.

As soon as java is installed, you can check the version with the following command on your system.

java -version


Output sample:

Step 2: Install Apache Tomcat 9

After installing java on your system, it’s time to download the latest version of Apache Tomcat (version 9.0.14), which is the latest stable version now. If you want to know the newer versions, it is recommended that you check the Apache download page.

Now download the latest version of Apache Tomcat 9 using the wget command and install it as below.

Tip: Replace the version in the above commands with the version you downloaded yourself.

Before starting the Tomcat service, define the CATALINA_HOME environmental variable in your system using the following command.

We can now set up a Tomcat web server using the script provided by the Tomcat package.

Output sample:

Now open Tomcat from your browser. Use your IP or Domain with the 8080 port (because the tomcat always runs on the 8080 port). For example, mydomain.com:8080, which uses your IP or domain address instead of mydomain.com.


The default directory for Tomcat files is located in usr/local/tomcat9/, ‌ You can see the configuration files in the conf folder. You see the above home page he home page when you open your website on port 8080 in the path /usr /local /tomcat9/webapps/ROOT/.

Step 3: Apache Tomcat 9 settings

By default, you will only be able to access the Tomcat default page. To access admin and other sections such as Server Status, App Manager, and Host Manager, you need to configure the user account for admin and administrators.

To do this, you need to edit the “tomcat-users.xml” file located in the /usr/local/tomcat9/conf/ directory.

Set up User Accounts in Tomcat

For example, to assign the role of manager-gui to a user named linuxzone and the password t$cm1n1, add the following line to the config file inside the desired section.

vi /usr/local/tomcat9/conf/tomcat-users.xml

Similarly, you can also add the admin-gui role to an admin user named admin with the admin password as below.

Restart Tomcat after admin settings and management roles, and then try to access the admin section.

Then click the Server Status tab, you will be prompted to enter your username and password. Enter the username and password that you added to the configuration file above.

As soon as you enter the username and password, you will see a page similar to the one below.

Step 4: Change Apache Tomcat port

If you want to run Tomcat on a different port like Port 80, you must edit the server.xml file in the /usr/local/tomcat9/conf/ path. Before changing the port, make sure the Tomcat service is stopped using the following command.

Now open the server.xml file using the vi/vim editor.

Now search for Connector port and change its value from 8080 to 80 or whatever you want.

Run the following command to save the file and restart the Apache Tomcat service.

Apache Tomcat Java Options

Your server is now running on port 80.

You must execute all of the above commands under the root user. If you are not a root user, they will not work because we are working in the /usr/local/ directory where the owner of this directory is the only root. If you want, you can run the server with a normal user, but you will have to use your HOME folder as a workspace to download, extract, and run the Apache Tomcat server.

Download Tomcat 8.5

To get some information about the running Tomcat server, run the following command.

Apache Tomcat Java Ee

Output sample:

Now you can use Java-based apps under Apache Tomcat 9
I hope you have enjoyed it and you find this tutorial useful.
Also, you can order for Linux VPS to run your configurations.

Difference Between Apache And Tomcat

Thanks for being with us.
We will be happy to get your opinions in the comments section.

Download Apache Tomcat Server

Let us know if you liked the post. That’s the only way we can improve