SpringMVC基础

1.什么是SpringMVC

Spring MVC是Spring家族中的一个web成员,
它是一种基于Java的实现了Web MVC设计思想的请求驱动类型的轻量级Web框架,
即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,
框架的目的就是帮助我们简化开发,Spring MVC也是要简化我们日常Web开发的。
Spring MVC是服务到工作者思想的实现。

2.功能组件

2.1 前端控制器DispatcherServlet

拦截客户端请求并分发到其他组件,整个流程控制的中心,负责调度其他组件的执行,降低各组件之间耦合。

2.2 处理器映射器Handler Mapping

负责根据URL寻找处理器,SpringMVC提供配置文件,注解等方式,这些映射方式将由相应的处理器映射器负责处理。

2.3 处理器Handler

负责对客户端请求处理,由于处理涉及具体的业务逻辑,需要编写业务逻辑代码

2.4 处理器适配器HandlerAdapter

负责根据特定的规则对处理器进行执行,可以执行多种类型的处理器,设配器模式的具体应用。

2.5 视图解析器ViewResolver

负责视图解析,处理结果生成View展示给用户

3.工作流程


Spring MVC框架也是一个基于请求驱动的Web框架, 并且使用了前端控制器模式(是用来提供一个集中的请
求处理机制,所有的请求都将由一个单一的处理程序处理来进行设计,再根据请求映射规则分发给相应的页面控制
器(动作/处理器)进行处理。
1.首先用户发送Http请求,被SpringMVC前端控制器(DispatherServlet) 捕获;
2.前端控制器(DispatherServlet)对请求URL解析获取请求URI,根据URI,调用HandlerMapping;
3.前端控制器(DispatherServlet)获得返回的HandlerExecutionChain (包括Handler对象以及Handler对象对应的拦截器);
4. DispatcherServlet根据获得的HandlerExecutionChain,选择一个合适的HandlerAdapter。
(附注: 如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandr方法);
5. HandlerAdapter根据请求的Handler适配并执行对应的Handler; HandlerAdapter(提取Request中的模型数据,填充Handler入参,开始执行Handler (Controller)。
在填充Handler的入参过程中,根据配置,Spring将做一些额外的工作:
HttpMessageConveter:将请求消息(如Json,XML等数据)转换成一个对象,将对象转换为指定的响应信息。
数据转换:对请求消息进行数据转换。如String转换成Integer. Double等数据格式化:
数据格式化。如将字符串转换成格式化数字或格式化日期等
数据验证:验证数据的有效性 (长度、格式等), 验证结果存储到BindingResult或Error中)
6.Handler执行完毕,返回一个ModelAndView(即模型和视图)给HandlerAdaptor
7.HandlerAdaptor适配器将执行结果ModelAndView返回给前端控制器。
8.前端控制器接收到ModelAndView后,请求对应的视图解析器。
9.视图解析器解析ModelAndView后返回对应View;
10.渲染视图并返回渲染后的视图给前端控制器。
11.最终前端控制器将渲染后的页面响应给用户或客户端

posted @   lwx_R  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示