什么是MVC
MVC是一种软件开发模式,是java中使用广泛的一种开发模式,MVC适用于中大型项目开发,开发时由底层向上开发,越底层复用性越高,项目分为三个部分:
- Model(模型):包裹数据模型(实体类)和业务模型(业务逻辑)
- View(视图):呈现给用户的具体内容
- Controller(控制器):调用业务代码,返回视图和模型
MVC组件
- DispathcherServlet(前端控制器):MVC的入口,也是MVC的核心组件,MVC的调度中心。
- HandlerMapping(映射处理器):处理URL得到对应Handler
- HandlerAdpter(适配器):调用具体的Handler处理
- ViewResolver(视图处理器):解析视图
- HandlerExceptionResolver(异常处理器):异常处理
- ModelAndView(模型和视图):SpringMvc提供视图和模型接口
- HandlerInterceptor(拦截器):拦截控制器资源
注解
-
@Controller:定义控制器类
-
@RestController:相当于@Controller+@ResponseBody,返回jason
-
@RequestMapping:定义映射路径
-
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping:处理对应的请求方式
###MVC执行流程
- 前端发送一个Request被DispthcherServlet拦截
- DispathcherServlet自动调用Handermapping解析URL得到对应的Hander处理器
- 将解析后的信息返回给DispathcherServlet
- 调用HanderAdapter找到对应的Hander
- Hander让具体的Controller执行对应的逻辑代码
- 返回一个ModelAndView给DispathcherServlet
- 返回ModelAndView
- DispathcherServlet调用ViewResolver(视图解)找到要返回的视图
- 找到视图渲染并返回给前端页面显示