springMVC执行流程及原理

springMVC执行流程及原理spring的MVC执行原理1.springmvc将所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求进行真正的处理工作。2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.3.DispatcherServlet请请求提交到目标Controller4.Controller进行

大家好,又见面了,我是你们的朋友全栈君。

spring的MVC执行原理

1.spring mvc将所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求 进行真正的处理工作。 2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller. 3.DispatcherServlet请请求提交到目标Controller 4.Controller进行业务逻辑处理后,会返回一个ModelAndView 5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象 6.视图对象负责渲染返回给客户端

优点:

1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑

2.可以提供众多服务,事务管理,WS等。

3.AOP的很好支持,方便面向切面编程。

4.对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等

5.Spring DI机制降低了业务对象替换的复杂性。

6.Spring属于低侵入,代码污染极低。

7.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或全部

SpringMVC执行流程

springMVC执行流程及原理

  1. 用户发起请求到前端控制器(Controller)
  2. 前端控制器没有处理业务逻辑的能力,需要找到具体的模型对象处理(Handler),到处理器映射器(HandlerMapping)中查找Handler对象(Model)。
  3. HandlerMapping返回执行链,包含了2部分内容: ① Handler对象、② 拦截器数组
  4. 前端处理器通过处理器适配器包装后执行Handler对象。
  5. 处理业务逻辑。
  6. Handler处理完业务逻辑,返回ModelAndView对象,其中view是视图名称,不是真正的视图对象。
  7. 将ModelAndView返回给前端控制器。
  8. 视图解析器(ViewResolver)返回真正的视图对象(View)。
  9. (此时前端控制器中既有视图又有Model对象数据)前端控制器根据模型数据和视图对象,进行视图渲染。
  10. 返回渲染后的视图(html/json/xml)返回。
  11. 给用户产生响应。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154079.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java数组的三种初始化方式

    java数组的三种初始化方式2018年4月3日Java语言中数组必须先初始化,然后才可以使用。所谓初始化就是为数组的数组元素分配内存空间,并为每个数组元素附初始值。注意:数组完成初始化后,内存空间中针对该数组的各个元素就有个一个默认值:           基本数据类型的整数类型(byte、short、int、long)默认值是0;           基本数据类型的浮点类型(float、double)默认值是0.0; …

    2022年5月5日
    46
  • 2021机械组培训

    2021机械组培训NBUT大一培训文档

    2022年5月15日
    59
  • python激活码【注册码】

    python激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    44
  • nfs之端口设置

    nfs之端口设置1,修改/etc/sysconfig/nfs文件  MOUNTD_PORT="4002"STATD_PORT="4003"LOCKD_TCPPORT="4004"LOCKD_UDPPORT="4004"查看rpcinfo-p能看到mouted_port=4002,其余三项未显示2,tcp 1112049端口udp111 4046端口 把…

    2022年6月27日
    28
  • time to countdown_反应物消耗速率

    time to countdown_反应物消耗速率前段时间使用CountDownTimer做了一个团购活动的倒计时功能,前期使用的时候没法先什么问题(测试不到位),最近同事发现了一个问题,页面频繁刷新的时候出现秒数显示速率变快的bug。现象:页面频繁刷新的时候出现秒数显示速率变快。原因初步分析:刷新时创建了多个CountDownTimer实例,并且多个实例同时在运行。验证:检查代码发现newCountDownTimer()创…

    2022年9月15日
    0
  • t276芯片(芯片st是什么意思)

    ST7789V2是一个单芯片TFT-LCD驱动器。该芯片可以直接连接到外部MCU,支持并行8080系列的8位/9位/16位/18位接口,也支持SPI串行通讯接口。显示数据可以存储在240x320x18bits的片上显示数据RAM中。它可以在没有外部操作时钟的情况下执行显示数据RAM读写操作,以尽量减少功耗。并行接口占用外部MCU芯片引脚较多,但其通讯速率较快,一般只在需要高速刷新及MCU资源比较丰富的场合使用。SPI串行通讯接口占用MCU芯片引脚较少,通讯速率相对并行接口较慢,但因其占用MCU引脚.

    2022年4月9日
    154

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号