SpringMVC

SpringMVC概述

Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架。

MVC和三层架构的区分

  • 三层架构:在服务器内部进行模块划分
  • MVC:主要集中在Web层,是请求和响应的过程中提供解耦,模块化

MVC模式

  • Model:
    数据模型,提供要展示的数据,因此包含数据和行为,行为是用来处理这些数据的。也就是数据由实体类或者javabean来提供,行为由service层来提供.
  • View
    负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。
  • Controller
    接收用户请求,委托给模型进行处理,处理完毕后把返回的模型数据交给给视图进行渲染填充。也就是说控制器在中间起到一个调度的作用。

Spring MVC的特点:

  1. 轻量级,简单易学
  2. 高效 , 基于请求响应的MVC框架
  3. 与Spring兼容性好,无缝结合
  4. 约定优于配置
  5. 功能强大:RESTful、数据验证、格式化、本地化、主题等
  6. 简洁灵活

SpringMVC核心组件:


   1.DispatcherServlet: 前端控制器,用来过滤客户端发送过来,想要进行逻辑处理的请求。
   2.HandlerMapping: 处理器映射器。DispatcherServlet接收到客户端请求的URL之后,根据一定的匹配规则,再把请求转发给对应的Controller,这个匹配规则由HandlerMapping决定。
   3.HandlerAdaptor:处理器适配器。处理器适配器用来适配每一个要执行的Handler对象。通过HandlerAdapter可以支持任意的类作为处理器
   4.Controller/Headler: 控制器/处理器。开发人员自定义,用来处理用户请求的,并且处理完成之后返回给用户指定视图的对象。
   5.ViewResolver:视图解析器。Handler返回的是逻辑视图名,需要有一个解析器能够将逻辑视图名转换成实际的物理视图。而且Spring的可扩展性决定了视图可以由很多种,所以需要不同的视图解析器,解析不同的视图。但是一般由jsp充当视图的情况居多
    

SpringMVC执行的流程

  1. 首先用户发送请求,前端控制器DispatcherServlet收到请求后 自己不进行处理,而是委托给其他的解析器进行处理,前端控制器作为统一访问点,进行全局的流程控制;【用户发送请求至前端控制器DispatcherServlet
  2. DispatcherServlet把请求转交给HandlerMapping ,HandlerMapping根据请求url查找Handler。
  3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
  4. DispatcherServlet再把请求转交给HandlerAdapter,HandlerAdapter将会把处理器包装为适配器。
  5. HandlerAdapter将会根据适配的结果调用真正的处理器(controller)
  6. Controller返回一个ModelAndView对象(包含模型数据、逻辑视图名);
  7. HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
  8. ModelAndView的逻辑视图名交给ViewResolver解析器, ViewResolver解析器把逻辑视图名解析为具体的View
  9. DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
  10. 最后返回到DispatcherServlet,由DispatcherServlet返回响应给用户,到此一个流程结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YJY@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值