Web applications have become a very important part of any enterprise system. The key requirement for a web framework is to simplify development of the Web Tier as much as possible. The Spring web framework naturally uses Inversion of Control (IoC) to set the dependencies in the controllers. Before we dive into discussing Spring MVC, we need to take a look at what MVC stands for and how it can help develop more flexible web applications.
More specifically, we cover the following key components of a web application:
MVC architecture: We need to start by explaining the MVC architecture, including both the Model 1 and Model 2 architectures. In this section, we provide a generic explanation of the MVC architecture, but we do not focus on J2EE in great detail.
Spring MVC: In this section, we explain in more detail how the components of the MVC architecture are implemented in Spring web applications.
Controllers: Controllers are one of the most important parts in Spring web applications. We explain how the controllers are implemented in Spring and how Spring identifies the controller to handle specific requests.
Themes and locales: Finally, we discuss how Spring allows the web applications to be internationalized and themed according to users' preferences.