1、基本概念
- Spring MVC 是 Spring 中的一个很重要的模块,主要赋予 Spring 快速构建 MVC 架构的 Web 程序的能力。
- MVC 是模型(Model)、视图(View)、控制器(Controller)的简写,其核心思想是通过将业务逻辑、数据、显示分离来组织代码。
- Spring MVC 下我们一般把后端项目分为 Service 层(处理业务)、Dao 层(数据库操作)、Entity 层(实体类)、Controller 层(控制层,返回数据给前台页面)。
Entity 层(实体类):每个类和数据表是一一对应的,表里的字段和类的属性也一一对应。
Dao 层(mapper层):主要实现的功能是对数据库的操作
Service 层:主要实现的功能是具体的业务逻辑,首先设计接口再设计其实现类
Controller 层:主要实现的功能是请求转发,接收前端传过来的参数,调用相应的service接收到返回值后再传给前端。
Model 1时代:整个 Web 应用几乎全部用 JSP 页面组成,只用少量的 JavaBean 来处理数据库连接、访问等操作。这个模式下 JSP 即是控制层(Controller)又是表现层(View)。
Model 2 时代:JSP是表现层(View)+Servlet是控制层(Controller)
2、Spring MVC工作原理
步骤:
1、客户端(浏览器)发送请求,DispatcherServlet
拦截请求。
2、DispatcherServlet
根据请求信息调用 HandlerMapping
。HandlerMapping
根据 uri 去匹配查找能处理的 Handler
(也就是我们平常说的 Controller
控制器) ,并会将请求涉及到的拦截器和 Handler
一起封装。
3、DispatcherServlet
调用 HandlerAdapter
适配执行 Handler
。
4、Handler
完成对用户请求的处理后,会返回一个 ModelAndView
对象给DispatcherServlet
ModelAndView
顾名思义,包含了数据模型以及相应的视图的信息。Model
是返回的数据对象,View
是个逻辑上的 View
。
5、ViewResolver
会根据逻辑 View
查找实际的 View
6、DispaterServlet
把返回的 Model
传给 View
(视图渲染)
7、把 View
返回给请求者(浏览器)
核心组件:
DispatcherServlet
:核心的中央处理器,负责接收请求、分发,并给予客户端响应。HandlerMapping
:处理器映射器,根据 uri 去匹配查找能处理的Handler
,并会将请求涉及到的拦截器和Handler
一起封装。HandlerAdapter
:处理器适配器,根据HandlerMapping
找到的Handler
,适配执行对应的Handler
;Handler
:请求处理器,处理实际请求的处理器。ViewResolver
:视图解析器,根据Handler
返回的逻辑视图 / 视图,解析并渲染真正的视图,并传递给DispatcherServlet
响应客户端
标签:Spring,MVC,视图,Handler,笔记,DispatcherServlet,View From: https://www.cnblogs.com/coooookie/p/17430608.html