Tomcat Java Ee

Posted : admin On 1/26/2022


If you want modern Java conveniences like JSF, EJB and JPA (eg Hibernate), you either have to add these separately to your.war (in WEB-INF/lib) or to the lib directory of Tomcat itself. However, if you add all that to Tomcat manually, you could just as well use Glassfish, JBoss AS, or Apache Geronimo. Java EE applications are created from components. Components are self-contained software units that provide certain functions and having the ability to communicate with other components. They shall include in the appropriate classes and any other necessary files. They form a kind of building blocks that make up the application. Deploy And Undeploy Java EE Web Applications In Tomcat Leave a Comment / J2EE Tutorial / Tomcat Deploy or undeploy java web applications in tomcat is very easy to handle. You can either deploy or undeploy your war file manually or use tomcat manager. They migrated a large number of Tomcat based applications using various third-party libraries to Java EE. They also migrated over legacy C/C applications as well as legacy J2EE applications. They even ported from one Java EE application server to another to get to a common base with TomEE.

Table of Contents

  • Migrating from 9.0.x to 10.0.x
  • Upgrading 10.0.x
Tomcat java ee example


Please read general Migration Guide page first,for common considerations that apply to migration or upgrade between versionsof Apache Tomcat.

Migrating from 9.0.x to 10.0.x

This section lists all the known changes between 9.0.x and 10.0.x which may cause backwards compatibility problems when upgrading.

Java 8 required

Apache Tomcat 10.0.x requires Java 8 or later. This is unchanged from Tomcat 9.0.x.

Specification APIs

Apache Tomcat 10 supports the Jakarta Servlet 5.0, Jakarta Server Pages 3.0, Jakarta Expression Language 4.0, JakartaWebSocket 2.0 and Jakarta Authentication 2.0 specifications.

There is a significant breaking change between Tomcat 9.0.x and Tomcat 10.0.x. The Java package used by the specification APIs has changed from javax... to jakarta.... It will be necessary to recompile web applications against the new APIs. Alternatively, users can convert an existing WAR file from Java EE 8 to Jakarta EE 9 using the Apache Tomcat migration tool for Jakarta EE.

Servlet 5.0 API

The Java package has changed from javax.servlet to jakarta.servlet.

Server Pages 3.0

The Java package has changed from javax.servlet.jsp to jakarta.servlet.jsp.

Expression Language 4.0

The Java package has changed from javax.el to jakarta.el.

WebSocket 2.0

The Java package has changed from javax.websocket to jakarta.websocket.

Authentication 4.0

Tomcat vs java ee

The Java package has changed from to

Internal APIs

Whilst the Tomcat 10 internal API is broadly compatible with Tomcat 9 there have been many changes at the detail level and they are not binary compatible. Developers of custom components that interact with Tomcat's internals should review the JavaDoc for the relevant API.

Of particular note are:

  • GenericPrincipal.getPassword() has been removed.

web.xml defaults

conf/web.xml sets the default request and response character encoding to UTF-8.

Session management

Session persistence on restart has been disabled by default. It may be re-enabled globally in conf/context.xml or per web application.


The configuration settings that were duplicated between the HTTP/1.1 and HTTP/2 connectors have been removed from the HTTP/2 connector which will now inherit them from the associated HTTP/1.1 connector.

Tomcat Java Ee Support


The logging implementation now only creates log files once there is something to write to the log files.

Upgrading 10.0.x

When upgrading instances of Apache Tomcat from one version of Tomcat 10 to another, particularly when using separate locations for $CATALINA_HOME and $CATALINA_BASE, it is necessary to ensure that any changes in the configuration files such as new attributes and changes to defaults are applied as part of the upgrade. To assist with the identification of these changes, the form below may be used to view the differences between the configuration files in different versions of Tomcat 10.

Tomcat 10.0.x noteable changes

The Tomcat developers aim for each patch release to be fully backwards compatible with the previous release. Occasionally, it is necessary to break backwards compatibility in order to fix a bug. In most cases, these changes will go unnoticed. This section lists changes that are not fully backwards compatible and might cause breakage when upgrading.

  • None as yet.

Tomcat Java Ee Setup

Tomcat 10.0.x configuration file differences

Select a configuration file, old version and new version from the boxes below and then click 'View differences' to see the differences. The differences will be shown in a new tab/window.

Note: If there are no differences you will see an error page.

You can also use a Git command similar to the following from within a working copy: