Junior — Middle
Can you explain how the Spring MVC architecture works and what its main components are?
sobes.tech AI
Answer from AI
Spring MVC is a framework for building web applications in Java, based on the Model-View-Controller (MVC) pattern. Its main task is to divide the application logic into three parts:
- Model — contains business logic and data.
- View — responsible for displaying data to the user (e.g., JSP, Thymeleaf).
- Controller — handles incoming HTTP requests, interacts with the model, and selects the view for display.
Main components of Spring MVC:
- DispatcherServlet — the central servlet that receives all requests and distributes them to controllers.
- HandlerMapping — determines which controller should handle a specific request.
- Controller — a class with methods annotated, for example, with
@RequestMapping, that handle requests. - ViewResolver — selects a specific view template to display the result.
- ModelAndView — an object that contains the model and the view name.
Example of a simple controller:
@Controller
public class HelloController {
@RequestMapping("/hello")
public String sayHello(Model model) {
model.addAttribute("message", "Hello, Spring MVC!");
return "helloView"; // view name
}
}