Spring MVC


介绍一下 Spring MVC

  • Spring MVC 框架提供模型-视图-控制器(Model-View-Controller)架构和随时可用的组件,用于开发灵活且松散耦合的 Web 应用程序。
  • MVC 模式有助于分离应用程序的不同方面,如输入逻辑、业务逻辑和 UI 逻辑,同时在所有这些元素之间提供松散耦合

Spring MVC 各个组件说明

前端控制器(DispatcherServlet):用户请求会到达前端控制器,它就相当于 MVC 模式中的 C,前端控制器是整个流程控制的中心,由它调用其它组件处理用户的请求,前端控制器的存在降低了组件之间的耦合性。

处理器映射器(HandlerMapping):处理器映射器负责根据用户请求 url 找到 Handler 即处理器,Spring MVC 提供了不同的映射器实现不同的映射方式,例如:配置文件方式、实现接口方式、注解方式等。

处理器适配器(HandlAdapter):这是适配器模式的应用,通过扩展处理器适配器可以对更多类型的处理器进行执行。

处理器(Handler):处理器是继前端控制器之后的后端控制器,在前端控制器的控制下 Handler 对具体的用户请求进行处理。由于 Handler 涉及到具体的用户业务请求,所以一般情况需要程序员根据业务需求开发 Handler。

视图解析器(ViewResolver):视图解析器负责将处理结果生成 View 视图,首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。

视图(View):Spring MVC 框架提供了很多的 View 视图类型的支持,包括:jstlView、freemarkerView、pdfView 等。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。


Spring MVC 运行流程(DispatcherServlet 的工作流程)

Spring MVC流程图

  • 首先,客户发起一个 url 请求,WEB 容器会将该请求转交给 前端控制器 处理。
  • 前端控制器(DispatcherServlet) 接收到请求后,将根据请求信息交给 处理器映射器
  • 处理器映射器(HandlerMapping) 根据用户的 url 请求 查找匹配该 url 的 Handler,并返回一个执行链
  • 前端控制器(DispatcherServlet) 再请求 处理器适配器(HandlerAdapter) ,由它来请求处理器进行处理,处理器处理完之后会返回 ModelAndView,处理器适配器再将 ModelAndView 返回给前端控制器。
  • 前端控制器(DispatcherServlet) 将 ModelAndView 请求 视图解析器(ViewReslover) 解析,返回具体 视图(View)
  • 前端控制器(DispatcherServlet) 对 View 进行渲染,即将模型数据填充至视图中。
  • 最后,前端控制器(DispatcherServlet) 将页面响应给用户。

介绍一下 WebApplicationContext

  • WebApplicationContext 是 ApplicationContext 的扩展类,它具有 Web 应用程序所需的一些额外功能。

@RequestMapping 注解

  • 用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

发飙的蜗牛咻咻咻~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值