MVC
MVC是一种架构,或者说是一种设计模式,这种设计模式将应用分成三个部分,M(模型),V(视图),C(控制器)
MVC优点:
1.分工明确,松耦合,复用性高,
前后端分离,后端开发只需要关注于业务的开发,而不需要关注页面的开发,
mvc三个模块相互独立,松耦合架构,
多视图共享一个模型,业务层代码复用率更高
M: Model(模型)
包含:service,pojo,entity,dao等
V:View(视图)
包含:html,jsp,pdf,excel等
C: Controller(控制器)
包含:controller,DispatcherServlet,等
springmvc是什么
springmvc是spring提供的一个基于mvc设计模式的轻量级web开发框架.本质上相当于servlet.它角色划分清晰,分工明确,并且与spring无缝衔接.
springmvc组件
1.DispatcherServlet(前端控制器)
作用:接收请求,响应结果,转发.松耦合就是通过转发实现.
2.HandlerMapping(处理器映射器)
作用:根据请求的url找到对应的handle(处理器)
3.HandlerAdapter(处理器适配器)
作用:执行handle
4.Handler(处理器)(后端人员开发)
5.View Resolver(视图解析器)
作用: 进行视图解析,根据视图逻辑名解析成真正的视图view
6.View(视图)(前端人员开发)
springmvc执行流程
1.用户发起请求,该请求会提交到前端控制器(DispatcherServlet);
2.前端控制器请求处理器映射器(HandlerMapping),返回执行器链(HandlerExecutionChain);
3.前端控制器将返回的执行器链交给处理器适配器(HandlerAdapter),由适配器去执行对应的处理器(Handler) 处理相应的业务.返回ModelAndView 对象;
4.前端控制器再请求视图解析器(ViewResolver ) 对ModelAndView进行试图解析 并返回view对象;
5.最后由前端控制器对view进行视图渲染和数据填充,并响应给用户;
SpringMVC优点:
1.支持各种视图,不局限于jsp
2.与spring无缝衔接,ioc/aop
3.角色分配清晰,前端控制器,处理器映射器,适配器,...