目录
经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
它是基于MVC开发模式的框架,用来优化控制器。它是spring家族的一员,它也具备IOC和AOP。

它是一种开发模式,它是模型视图控制器的简称。所有的web应用都是基于MVC开发
M:模型层,包含实体类,业务逻街层,数据访问层
V:视图层,html,javascript,vue等都是视图层,用来显现数据
C:控制器,它是用水接收客户端的请求,并返回响应到客户端的组件,servlet就是组件

SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的。
理解是servlet的一个升级。
web开发底层是servlet , 框架是在servlet基础上面加入一些功能,让你做web开发方便。
SpringMVC就是一个Spring。 Spring是容器,ioc能够管理对象,使用
SpringMVC能够创建对象, 放入到容器中(SpringMVC容器), springmvc容器中放的是控制器对象,我们要做的是使用@Contorller创建控制器对象, 把对象放入到springmvc容器中, 把创建的对象作为控制器使用这个控制器对象能接收用户的请求, 显示处理结果,就当做是一个servlet使用。使用@Controller注解创建的是一个普通类的对象, 不是Servlet。 springmvc赋予了控制器对象一些额外的功能。
web开发底层是servlet, springmvc中有一个对象是Servlet : DispatherServlet(中央调度器)
DispatherServlet: 负责接收用户的所有请求, 用户把请求给了DispatherServlet,之后DispatherServlet把请求转发给我们的Controller对象, 最后是Controller对象处理请求。
index.jsp-----DispatherServlet(Servlet)----转发,分配给---Controller对象(@Controller注解创建的对象)
main.jsp MainController
addUser.jsp UserController
MVC指MVC模式的某种框架,它强制性地使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。




简单的说就是首先是视图向控制器发送请求,控制器再将业务请求发送给模型,然后模型处理请求业务并把结果返回给控制器,控制器根据结果再选择视图。
1.用户点击某个请求路径,发起一个HTTP request请求,该请求会被提交到DispatcherServlet(前端控制器);
2.由DispatcherServlet请求一个或多个HandlerMapping(处理器映射器),并返回一个执行链(HandlerExecutionChain).
3.DispatherServlet将执行链返回的Handler信息发送给HandlerAdapter(处理器适配器);
4.HandlerAdapter根据Handler信息找到并执行相应的Handler(常称为Controller);
5.Handler执行完毕后会返回给HandlerAdapter一个ModelAndView对象(SpringMVC的底层对象,包括Model数据模型和View视图信息)
6.HandlerAdapter接收到ModelAndView对象后,将其返回给DispatcherServlet.
7.DispatcherServlet接收到ModelAndView对象后,会请求ViewResolver(视图解析器)对视图进行解析;
8.ViewResolver根据View信息匹配到相应的视图结果,并返回给DispatcherServlet;
9.DispatcherServlet接收到具体的View视图后,进行视图渲染,将Model中的模型数据填充到View视图中的request域,生成最终的View(视图)
10.视图负责将结果显示到浏览器(客户端).
