SpringMVC的执行流程及组件详解

所属分类: 软件编程 / java 阅读数: 50
收藏 0 赞 0 分享

这篇文章主要介绍了SpringMVC的执行流程及组件详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、核心模块

数据库访问技术与集成:JDBC、XML等

Web与远程调用技术:SpringMVC、WebServlet、WebSocket等

面向切面编程:AOP

基础设施:Tomcat

Spring核心容器:Beans、Core、Context、Expression、ContestSupport

测试:Test

二、执行流程

1.用户通过页面发送Ajax之类的请求,DispatcherServlet捕获并解析用户发来的请求URL,得到请求资源标识符URI

2.DispatcherServlet根据URI调用HandlerMapping,HandlerMapping根据请求URL查找Handler,并将请求映射为HandlerExecutionChain处理器执行链(包含处理器拦截器和处理器对象)

3.HandlerMapping返回HandlerExecutionChain给DispatcherServlet

4.DispatcherServlet根据获得的Handler选择HandlerAdapter,通过处理器适配器调用具体的处理器,HandlerAdapter把处理器包装为适配器,并开始执行拦截器的preHandler()方法,并根据适配器的结果调用真正的处理器的功能处理方法

5.调用具体的处理器Handler,在填充Handler的入参过程中spring将会进行:执行HttpMessageConveter、数据转换、数据格式化、数据验证,调用具体的Controller完成处理功能,并返回一个ModelAndView对象

6.Controller返回ModelAndView对象到HandlerAdapter

7.HandlerAdapter再将ModelAndView对象的视图逻辑名或模型返回给DispatcherServlet

8.DispatcherServlet调用视图解析器ViewResolver来解析HandlerAdapter传递过来的逻辑视图名

9.ViewResolver将解析的逻辑视图名传递给DispatcherServlet

10.DispatcherServlet根据解析出的视图结果,调用具体的视图,根据传来的Model模型数据进行渲染

11.最后View返还控制权给DispatcherServlet,由DispatcherServlet返回最终视图给用户

三、核心组件

1.DispatcherServlet:前端控制器,控制中心

2.HandlerMapping:解析请求URL,解析出控制器,从而映射控制器,相关类有16个

3.HandlerAdapter:调度Controller来处理业务逻辑

4.ViewResolver:解析DispatcherServlet传递的逻辑视图名,并将结果传递给DispatcherServlet

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java Set简介_动力节点Java学院整理

Set最大的特性就是不允许在其中存放的元素是重复的。接下来通过本文给大家分享java set常用方法和原理分析,需要的的朋友参考下吧
收藏 0 赞 0 分享

Java Timezone类常见问题_动力节点Java学院整理

这篇文章主要介绍了Java Timezone类常见问题的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

javaWeb项目部署到阿里云服务器步骤详解

本篇文章主要介绍了javaWeb项目部署到阿里云服务器步骤详解,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解使用zxing库生成QR-Code二维码

这篇文章主要介绍了详解使用zxing库生成QR-Code二维码的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

java实现对服务器的自动巡检邮件通知

这篇文章主要为大家详细介绍了java实现对服务器的自动巡检邮件通知,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java随机验证码生成实现实例代码

这篇文章主要介绍了java随机验证码生成实现实例代码的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

java读取txt文件代码片段

这篇文章主要为大家详细介绍了java读取txt文件的代码片段,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java连接mysql数据库的方法

这篇文章主要为大家详细介绍了java连接mysql数据库的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java 算法之快速排序实现代码

这篇文章主要介绍了java 算法之快速排序实现代码的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用

这篇文章主要介绍了详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多