目录
1.Mvc的概念
2.SpringMvc的概念
3.SpringMvc的核心组件
4.SpringMvc的执行流程
5.SpringMvc+Filter+Interceptor执行流程
一、Mvc的概念
Mvc(Model View Controller):Mvc是一种设计规范,它将数据、视图、业务逻辑代码进行分离,降低代码的耦合,实现三层代码功能的解耦。
1.Model(模型)
数据模型,提供要展示数据,包含数据和行为。现一般分开进行表示,服务层Service和数据数据层Dao.
2.View(视图)
进行内容的展示。例如:用户界面等。
3.Controller(控制器)
起调度的作用。接收用户请求,委托模型进行处理,处理完成返回视图进行展示。
二、SpringMvc的概念
Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架
1.SpringMvc的特点
Spring MVC 拥有强大的灵活性,非侵入性和可配置性。
Spring MVC 提供了一个前端控制器 DispatcherServlet ,开发者无须额外开发控制器对象。
Spring MVC 分工明确,包括控制器、验证器、命令对象、处理器映射器、视图解析器等,每一个功能实现由一个专门的对象负责。
Spring MVC 可以自动绑定用户输入,并正确地转换数据类型。
Spring MVC 使用一个名称 / 值的 Map 对象实现更加灵活的模型数据类型。
Spring MVC 内置了常见的校验器,可以检验用户输入,如果校验不同,则重定向回输出表单。输入校验是可选的,并且支持编程方法及声明方式。
Spring MVC 支持国际化,支持根据用户区域显示多国语言,并且国际化的配置非常简单。
Spring MVC 支持多种视图技术,最常见的由JSP技术以及其他技术,包括 Velocity 和 FreeMarker。
Spring MVC 提供了一个简单而强大的JSP标签库,支持数据绑定功能,使得编写JSP页面更加容易。
三、SpringMvc的核心组件
DispatcherServlet:前端控制器。接收请求、返回响应
HandlerMapping:处理器映射器。根据请求URL,找到对应的处理器
HandlerAdapter:处理器适配器。适配调用具体的处理器,执行处理器请求方法,处理完成返回ModelAndView对象
Handler:处理器。具体业务逻辑的处理
ViewResolver:视图解析器。将ModelAndView进行视图解析,返回View对象
View:视图。将视图进行渲染,支持不同类型:JSP、FreeMarker、Thymeleaf
四、SpringMvc执行流程
1.用户发送请求,请求到前端控制器DispatcherServlet;
2.前端控制器DispatcherServlet调用HandlerMapping处理器映射器,HandlerMapping处理器映射器根据请求URL找到对应的处理器,并返回给DispatcherServlet;
3.前端控制器DispatcherServlet调用处理器适配器HandlerAdapter去适配并调用具体的处理器Handler处理请求;
4.处理器Handler处理具体的业务逻辑,处理完成后返回给处理器适配器HandlerAdapter一个ModelAndView对象,处理器适配器HandlerAdapter将其返回给前端控制器DispatcherServlet;
5.前端控制器DispatcherServlet将ModelAndView传给视图解析器ViewResolver进行视图解析,并返回一个View对象给前端控制器DispatcherServlet;
6.前端控制器DispatcherServlet将视图进行渲染,并返回给用户。