Apache Tomcat VS Spring Boot

Compare Apache Tomcat vs Spring Boot and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Apache Tomcat Spring Boot
24 166
7,231 72,230
1.1% 1.2%
9.9 10.0
7 days ago 7 days ago
Java Java
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Apache Tomcat

Posts with mentions or reviews of Apache Tomcat. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-02.
  • Spring Boot Monitoring with Open-Source Tools
    5 projects | dev.to | 2 Dec 2023
    Manual instrumentation allows you to define your Spans within the code itself rather than relying on automatic instrumentation finding the entry point for a trace. Manual instrumentation is especially helpful for applications that don’t use an application server such as Tomcat, JBoss, or Jetty.
  • Issue with chatgpy
    3 projects | /r/ChatGPTCoding | 23 Mar 2023
    99% is a huge exaggeration. Two essential deployment tools off the top of my head: https://tomcat.apache.org/ https://docs.jboss.org/author/display/AS71/Developer%20Guide.html
  • 7 years with Vaadin in production. Do we still enjoy it?
    2 projects | dev.to | 12 Feb 2023
    Do we still enjoy it? We are running many Vaadin apps in production since that first one. If there are not any specific requirements we use a “modular monolith” concept, which fits our stack best. We pack applications as WAR and deploy them under Apache Tomcat. And yes, we enjoy the development process. It’s very straightforward and Vaadin and SpringBoot fit together well.
  • TIBCO Jaspersoft Studio tutorial: Creating templates and integration with JasperReports Server
    3 projects | dev.to | 10 Nov 2022
    JasperReports Server Community requires a Java application server and a database to create a repository in order to work properly. After downloading JRS, the installation process can install Tomcat server and PostgreSQL database automatically for us and the services will run depending on the Jasper server. It's also possible to connect JRS to services already installed on the server. Moreover, while the free version supports the MySQL server, with the paid version you can also use commercial databases, for example, ORACLE Database, as a data repository.
  • Show HN: Open-source non-blocking NIO Java HTTP Server
    8 projects | news.ycombinator.com | 24 Oct 2022
    Regarding the venerable Tomcat, they [somewhat] recently added support for Unix domain sockets.

    * https://github.com/apache/tomcat/pull/402

    * https://github.com/apache/tomcat/pull/532

    We fronted the server with haproxy LTS. Our initial testing showed roughly and order of magnitude [10x] increase in the number of requests the server could handle.

    It's not completely plug-and-play; we still had a write a custom valve to set the request remote ip address and some other TCPish stuff, but nevertheless the capacity far outstripped our need for the technology.

  • The 12-Factor App Building Methodology
    3 projects | dev.to | 2 Jul 2022
    Example: Little Johnny was developing a Java web app and thinking about how he would configure Tomcat to listen to requests and redirect the data into his app... until he remembered this would violate Factor 7! Instead, he decided to declare Jetty as a dependency, keeping the HTTP service inside the app instead of configuring an external web server and then injecting its functionalities. Now, whenever he wants to instantiate another server for this app, all he has to do is installing dependencies and running the app, isn't it convenient?
  • Team 'print to console' assemble
    2 projects | /r/ProgrammerHumor | 12 Dec 2021
    Apache has multiple "server" projects- Apache HTTP Server is an a server program written in C, while Apache Tomcat is a server program written in Java.
  • Non Spring users what are you using ??
    7 projects | /r/java | 2 Nov 2021
    Multiple applications in the same JVM? Wildfly, Tomcat, Jetty.
  • Packaging and deploying Spring Boot applications as WAR files
    4 projects | dev.to | 2 Sep 2021
    Download Apache Tomcat from the project website. Make sure to download the correct version, depending on the Java and Servlet API versions that your application uses. For example, in the case of Vaadin applications, download Apache Tomcat version 9.
  • Apache Tomcat alternatives - tommy and DeepfakeHTTP
    3 projects | 15 Aug 2021

Spring Boot

Posts with mentions or reviews of Spring Boot. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-04.
  • Walmart is migrating the remaining F# code into Java
    8 projects | news.ycombinator.com | 4 Mar 2024
    - Usually manually wired and configured vs the spring boot "starter" pattern of having libraries that automatically do some of the manual setup work for you: https://github.com/spring-projects/spring-boot/blob/main/spr...

    I wish more client library sets had the feature-matrix that the pulsar one does, because in practice most end up being the same: Java supports everything because it's either built in the same codebase or is the most used client and gets the most support, while the dotnet client codebase has many feature-requests or performance improvement issues, often leading to a "third-party client" being created.

  • AI commented the entire Spring Boot codebase
    2 projects | news.ycombinator.com | 26 Feb 2024
    2 projects | news.ycombinator.com | 26 Feb 2024
  • Spring Boot 3 And Java 17 Migration Guide
    2 projects | dev.to | 16 Dec 2023
    If you’re currently running with an earlier version of Spring Boot, I recommend that you upgrade to Spring Boot 2.7 before migrating to Spring Boot 3.0. It minimizes compatibility issues as much as possible.
  • Netflix Uses Java
    3 projects | news.ycombinator.com | 10 Oct 2023
    It's weird that some people including you directly attack my competence. As a power user you should have plenty of experience getting something to work that is not properly document, does not work how the documentation promised it to, or has weird problems on top of it. Look at idiotic things like this:

    https://github.com/spring-projects/spring-boot/issues/33044

    Take any similar issue and you'll see a bunch of people who try to find a solution for them because they just aren't repeatable at all. The underlying issue is the auto configuration doing things you can't follow quite properly. It's like it wasn't mean to be understood. Issues like the one I linked above also show me that the spring dev crowd also doesn't understand the ecosystem anymore. The problem is complexity and automagic.

  • What's New in Spring Framework 6.1
    5 projects | news.ycombinator.com | 16 Aug 2023
    An interested reader can decide for themselves:

    https://github.com/spring-projects/spring-boot/tree/main/spr...

    5 projects | news.ycombinator.com | 16 Aug 2023
    > Spring has gotten so bloated.

    I'd call Spring feature-rich than bloated. You can always shed weight that you don't want to carry.

    > Plus there's multiple ways of doing the same thing. e.g. JPA, spring-data.

    That's because there are different ways to solve a problem. Someone may want an ORM-based approach to connect to the database; they can choose spring-data-jpa. Someone may want to use JDBC with a light abstraction on top of it; they can choose spring-data-jdbc. It's all about choices and right tradeoffs and Spring offers plenty of them.

    > they don't provide easy upgrade paths between majors versions

    That's not my experience. I've been happily upgrading 2.x.x versions and plan to upgrade to 3.2.x when it is ready. But depending on the codebase, I admit it can be painful. Projects like OpenRewrite[1] might help here.

    > and they stop updating vulnerabilities on older major versions.

    This is not news. They want you to pay for extended support if you need it.

    > No docs on migration.

    They do maintain migration docs on GitHub wiki which are a lot more detailed than their blog posts on migration. Here's the latest one to upgrade from Spring Boot 2 to 3: https://github.com/spring-projects/spring-boot/wiki/Spring-B...

    [1]: https://github.com/openrewrite/rewrite

  • Secure Java URL encoding and decoding
    3 projects | dev.to | 15 Aug 2023
    Explicitly decoding URL query parameters occurs less often because many frameworks, including Spring Boot, handle decoding automatically.
  • SpringBoot Serverless REST API - ApiGateway+Lambda, deployed using AWS SAM
    8 projects | dev.to | 12 Aug 2023
    https://aws.amazon.com/lambda/ https://aws.amazon.com/api-gateway/ https://aws.amazon.com/serverless/sam/ https://aws.amazon.com/cloudformation/ https://aws.amazon.com/s3/ https://spring.io/projects/spring-boot https://start.spring.io
  • Managing AI-powered Java App With API Management
    6 projects | dev.to | 23 Jun 2023
    In this article, we will explore how to integrate OpenAI's ChatGPT APIs with a Spring Boot application and manage the APIs using Apache APISIX, an open-source API gateway. This integration will allow us to leverage the power of ChatGPT, a state-of-the-art language model developed by OpenAI, in our Spring Boot application, while APISIX will provide a robust, scalable, and secure way to manage the APIs.

What are some alternatives?

When comparing Apache Tomcat and Spring Boot you can also consider the following projects:

open-liberty - Open Liberty is a highly composable, fast to start, dynamic application server runtime environment

helidon - Java libraries for writing microservices

Play - The Community Maintained High Velocity Web Framework For Java and Scala.

javalin - A simple and modern Java and Kotlin web framework [Moved to: https://github.com/javalin/javalin]

Quarkus - Quarkus: Supersonic Subatomic Java.

Jooby - The modular web framework for Java and Kotlin

WildFly - WildFly Application Server

ZK - ZK is a highly productive Java framework for building amazing enterprise web and mobile applications

Apache Wicket - Apache Wicket - Component-based Java web framework

PrimeFaces - Ultimate Component Suite for JavaServer Faces

Ratpack - Lean & powerful HTTP apps

Grails - The Grails Web Application Framework