MVC 是 Model — View — Controler 的简称,它是一种架构模式,它分离了表现与交互。它被分为三个核心部件:模型、视图、控制器。
-
- Model(模型):是程序的主体部分,主要包含业务数据和业务逻辑。在模型层,还会涉及到用户发布的服务,在服务中会根据不同的业务需求,更新业务模型中的数据。
- View(视图):是程序呈现给用户的部分,是用户和程序交互的接口,用户会根据具体的业务需求,在 View 视图层输入自己特定的业务数据,并通过界面的事件交互,将对应的输入参数提交给后台控制器进行处理。
- Controller(控制器):Controller 是用来处理用户输入数据,以及更新业务模型的部分。控制器中接收了用户与界面交互时传递过来的数据,并根据数据业务逻辑来执行服务的调用和更新业务模型的数据和状态。
- 1.客户端(浏览器)发送请求,直接请求到DispatcherServlet。
- 2.DispatcherServlet根据请求信息调用HandlerMapping,解析请求对应的Handler。
- 3.解析到对应的Handler(也就是我们平常说的Controller控制器)。
- 4.HandlerAdapter会根据Handler来调用真正的处理器来处理请求和执行相对应的业务逻 辑。
- 5.处理器处理完业务后,会返回一个ModelAndView对象,Model是返回的数据对象,View 是逻辑上的View。
- 6.ViewResolver会根据逻辑View去查找实际的View。
- 7.DispatcherServlet把返回的Model传给View(视图渲染)。
- 8.把View返回给请求者(浏览器)。
-
最简回答:Spring MVC的工作原理是基于Servlet容器的前端控制器模式,首先DispatcherServlet接收并分发请求,然后根据HandlerMapping找到对应的Controller进行业务处理,最后通过ViewResolver渲染视图并返回响应给客户端
- SpringMVC的常用注解
-
- Controller:用于标识一个类为控制器。
- RequestMapping:用于映射请求URL与处理方法。
- GetMapping:用于映射GET请求的URL到处理方法。
- PostMapping:用于映射POST请求的URL到处理方法。
- PutMapping:用于映射PUT请求的URL到处理方法。
- DeleteMapping:用于映射DELETE请求的URL到处理方法。
- PathVariable:用于获取URL路径中的参数。
- RequestParam:用于获取请求参数。
ResponseBody:用于直接返回数据给客户端