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)
上一篇 2022年6月28日 上午10:00
下一篇 2022年6月28日 上午10:00


相关推荐

  • java notifyall_Java Thread notifyAll()方法[通俗易懂]

    java notifyall_Java Thread notifyAll()方法[通俗易懂]Thread类的notifyAll()方法用于唤醒所有线程。此方法向特定对象的所有等待线程发出通知。如果使用notifyAll()方法并且多个线程正在等待通知,那么所有线程都会收到通知,但线程的执行将逐个执行,因为线程需要锁定,并且只有一个锁可用于一个对象。语法publicfinalvoidnotifyAll()返回此方法不返回任何值。异常IllegalMonitorStateExcepti…

    2025年10月4日
    5
  • JS判断数据类型的方法有哪些_c语言数据类型

    JS判断数据类型的方法有哪些_c语言数据类型javascript判断数据类型的方法

    2025年9月17日
    8
  • 深入Springboot启动流程+自动配置原理

    深入Springboot启动流程+自动配置原理深入Springboot启动流程+自动配置原理?写在前面?相关常见面试题Springboot启动入口@SpringBootConfiguration解读@ComponentScan解读@EnableAutoConfiguration解读(重点)@AutoConfigurationPackage解读@Import({AutoConfigurationImportSelector.class})解读(重点)?写在前面?自从SpringBoot问世以来,开发界可以说是乱了套。我还记得我朋友几年前去参加

    2025年9月23日
    5
  • [Ubuntu] How to install memcache in Ubuntu 10.10 with xampp

    [Ubuntu] How to install memcache in Ubuntu 10.10 with xamppWhatineedtodownload:zlib-1.2.5.tar.gzhttp://zlib.net/zlib-1.2.5.tar.gzlibxml2-2.7.2.tar.gzftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gzphp-5.3.4.tar.bz2http://ar.php.net/distributions/php-5.3.4.t…

    2022年5月29日
    26
  • Inno Setup:x64 vs x86

    Inno Setup:x64 vs x86BydefaultInnoSetupalwaysinstallsyourapplicationin32-bitmode.Butifyourapplicationiscompiledto64-bitbinaries(atleast,partly)youwill,probably,wanttouse64-bitmode.Firstthin

    2022年6月7日
    39
  • 独立成分分析 ( ICA )

    独立成分分析 ( ICA )PCA是一个降维的过程,ICA则是帮助你从多个维度分离有用数据的过程。1.概念独立成分分析是从多元(多维)统计数据中寻找潜在因子或成分的一种方法.ICA与其它的方法重要的区别在于,它寻找满足统计独立和非高斯的成分。这里我们简要介绍ICA的基本概念、应用和估计原理。1.1多元数据的线性表示统计数据处理及相关领域中的一个重要和需要长期研究的问题就是,寻

    2022年5月17日
    62

发表回复

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

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