The Spring web MVC framework provides model-view-controller architecture
and ready components that can be used to develop flexible and loosely coupled
web applications. The MVC pattern results in separating the different aspects of
the application (input logic, business logic, and UI logic), while providing a
loose coupling between these elements.