TrustRadius Insights for Apache Tomcat are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Pros
Quick and Convenient Deployment: Many users have found the deployment process of Spring Boot applications using Tomcat to be quick and convenient. They appreciate how easy it is to set up Tomcat, with its straightforward installation process and compatibility with popular IDEs like Eclipse. This convenience allows developers to get started quickly and efficiently.
Stability and Robustness: Reviewers frequently highlight that Tomcat is a lightweight Java servlet container with a minimal memory footprint, making it efficient for running web applications without consuming excessive resources. Users praise Tomcat for its stability and robustness, requiring minimal maintenance and ensuring a stable and reliable application server environment. This reliability instills confidence in users regarding its performance.
Extensive Documentation: Users appreciate the availability of extensive documentation for Tomcat, making it easy to find solutions and troubleshoot any issues. The comprehensive documentation not only helps users understand the features of Tomcat but also provides guidance on how to configure and optimize their deployments. Having access to detailed documentation enhances the overall user experience by reducing time spent on problem-solving.
These three pros - Quick and Convenient Deployment, Stability and Robustness, Extensive Documentation - were commonly mentioned by reviewers when discussing their positive experiences with Tomcat.
My organization offers a web product for mobile operators to expose their own web APIs as a managed service, which is expected to be highly performed since it handles millions of transactions on daily basis. So Apache Tomcat is a part of it by deploying all the web applications/services associated with the product.
Pros
Apache Tomcat is the best lightweight servlet container for j2ee web applications.
Unless you want advanced j2ee features, Tomcat is the right choice.
Since this is open source, it is freely available for anyone to use.
Cons
Apache tomcat does not come with the implementations of full j2ee stack.
Developers who need the advanced features may realize that tomcat lacks some functionalities.
Tomcat may raise memory issues if is not tuned up.
Likelihood to Recommend
Tomcat is more than enough to deploy most of the mid-end web applications without any problem but for the high-end applications which require high scalability and high availability, which might need some tune-ups with the support of expertise in this regard. Otherwise, you may realize numerous performance issues, memory leaks, server crashes etc.
Alternatives
Eclipse Jetty
Eclipse Jetty is the best alternative for Apache Tomcat because which is also an open-source and lightweight servlet container like Tomcat. A major advantage of this over Tomcat is that Jetty server can easily be embedded with the source code of web applications. Since it requires less memory to operate, you may realize that it is very efficient.
VU
Verified User
Engineer in Engineering (Computer Software company, 201-500 employees)
Tomcat is being used as an application server across the organization. Most of our backend web applications and RESTful APIs run on Tomcat platform. Tomcat is baked into the AMI that is created for AWS and our web applications are pushed into the AMIs using Chef scripts. Then the tomcat server is brought up and applications are deployed.
Pros
Tomcat is used for writing backend web applications in Java, Spring etc.
They are also used to host our APIs. Our Spring or RestEasy API frameworks run are used to build APIs and Tomcat is the application server where they are hosted.
Cons
Tomcat is a fairly stable and lightweight application server and it being open source lot of organizations are using it to host their applications.
I have seen the use of Tomcat decline in recent years because of serverless technical platforms like Lambdas on AWS. Also Spring Boot and Jetty servers can run web applications/APIs by bringing container bundled into the app and without a need for separate server deployment and management. Same is the case with Spring boot, though in Spring Boot you could use embedded Tomcat too. But I have seen developers using Jetty more.
Likelihood to Recommend
Anywhere where you need HTTP thread handling like a web application or restful APIs, Tomcat would be a good option. Each individual instance of Tomcat can handle tens of thousands of requests per second (depending on your web infra and request/response latency). However new embedded servers like Jetty are being widely adopted. Another embedded server framework - Netty, is being used to develop servlet containers by developers for event based microservices.
Alternatives
As I have described before, Tomcat has competition from Jetty & frameworks like Netty. Also with NodeJs, lot of web application server side development and API development is beign done using javascript & Nodejs. So there is some decline in the use of Apache Tomcat. Though it is still very well placed in the java community.
VU
Verified User
Team Lead in Engineering (Financial Services company, 10,001+ employees)
Tomcat was our main server. We used it both in our local machines and we ran it in our Amazon Web Services host. This was only being used by the engineering team because no other teams needed to know what server we were running. In addition, it was only our web team that dealt with the actual server.
Pros
The server is easy to install, start up and shut down.
It integrates very cleanly with Eclipse.
It's supported by AWS which makes deployments very smooth.
Cons
Because it's Java-based, you typically must re-compile to make use of updates which can drastically increase development time.
It was slightly painful to get set up in Eclipse relative to other newer solutions.
It would be nice if it were easier and more intuitive to make changes to the server configurations.
Likelihood to Recommend
If you want to use Java or the Spring framework, you need to be using Tomcat. However, this is probably best for larger companies. If you're a startup looking to move quickly, it may not be the best choice. However, it is well tested and universally supported, so I would highly suggest using it if you are set on being a Java shop.
Alternatives Evaluated
Relative to other solutions that worked with the Spring framework, Tomcat was the best. It worked exactly as desired and made releasing production builds a very smooth process. However, if I were able to choose, I would use one of the newer scripting languages that has a server built in - for example, Node/Express, Python/Django, or Ruby on Rails.
VU
Verified User
Engineer in Engineering (Internet company, 11-50 employees)
Apache Tomcat served as the Servlet Container for any web-based applications written in Java. It was used throughout the organization for a number of different products.
Pros
Apache Tomcat is easy to install and get rolling quickly with a basic single-application deployment
Tomcat provides a lot of fine-grained configuration around administrator permissions, and security in a multi-app environment
Tomcat's management API actually makes it pretty easy to manage automatic code updates and self-updating code
Cons
As an apache product, it would be nice to automate the common install/configuration/deployment of httpd alongside Tomcat, where httpd serves static files and only passes control to Tomcat in the case that a servlet needs to be invoked.
Another nice-to-have would be the ability to, at installation time, specify the jar/war/folder that should be served from ROOT, rather than having the management interface be the default.
Likelihood to Recommend
Tomcat is well suited for simple Servlet-based applications that use more modern approaches to web-based applications (a simple servlet entry point, backed by web MVC resources). For EJB-style applications, perhaps WebLogic might be more appropriate.
Alternatives Evaluated
Oracle GlassFish Server
GlassFish seemed to be fairly comparable in terms of easy of configuration and deployment, but we didn't do any side-by-side performance comparisons. Tomcat was better-known by the team, has more online forum support, and met the requirements of our project. Tomcat is fairly easy to deploy and forget, and then focus on developing the actual web application itself.