Spring Framework and Spring Boot
Early versions of Java EE (most notably Enterprise Java Beans) were infamous for being hard to use for developers and requiring a lot of boilerplate code. JAX-RS (mentioned above) and CDI (the dependency injection standard) only came to Java EE with version 6, released in 2009.
That situation motivated the creation of the Spring Framework (https://spring.io/), with version 1.0 released in 2004. Among other features and modules, it provided support for dependency injection, aspect-oriented programming, and Spring Web MVC, the module enabling web service implementation with controller classes.
Spring Framework with Spring Web MVC (commonly referred to as just Spring Web) and many other modules, thanks to improvements in developer experience, has become very popular and is the most used framework for developing server-side Java applications currently.
The requirement to deploy applications to a separate software product, the Java EE container...