SpringMVC知识,spring的执行流程

简介: SpringMVC知识,spring的执行流程

SpringMVC知识



SpringMVC有三大组件分别是:处理器映射器,处理器适配器,视图解析器。

处理器映射器(HandlerMapping):

它负责根据用户的请求URL来找到处理器(Handler),SpringMVC提供了不同的映射器来实现不同的映射方式,因此我们需要由处理器映射器来进行区分。


处理器适配器(HandlerAdapter):

通过不同的处理器适配器可以调用不同的处理器。


视图解析器(ViewResolver):

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


SpringMVC执行流程

第一步:发起请求到前端控制器(DispatcherServlet)


第二步:前端控制器请求HandlerMapping查找 Handler


可以根据xml配置、注解进行查找


第三步:处理器映射器HandlerMapping向前端控制器返回Handler


第四步:前端控制器调用处理器适配器去执行Handler


第五步:处理器适配器去执行Handler


第六步:Handler执行完成给适配器返回ModelAndView


第七步:处理器适配器向前端控制器返回ModelAndView


ModelAndView是springmvc框架的一个底层对象,包括Model和view


第八步:前端控制器请求视图解析器去进行视图解析


根据逻辑视图名解析成真正的视图(jsp)


第九步:视图解析器向前端控制器返回View


第十步:前端控制器进行视图渲染


视图渲染将模型数据(在ModelAndView对象中)填充到request域


第十一步:前端控制器向用户响应结果

目录
相关文章
|
6月前
|
设计模式 前端开发 Java
【深入浅出Spring原理及实战】「夯实基础系列」360全方位渗透和探究SpringMVC的核心原理和运作机制(总体框架原理篇)
【深入浅出Spring原理及实战】「夯实基础系列」360全方位渗透和探究SpringMVC的核心原理和运作机制(总体框架原理篇)
68 0
|
6月前
|
SQL Java 数据库连接
挺详细的spring+springmvc+mybatis配置整合|含源代码
挺详细的spring+springmvc+mybatis配置整合|含源代码
|
2月前
|
缓存 安全 Java
Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程
从底层源码入手,通过代码示例,追踪AnnotationConfigApplicationContext加载配置类、启动Spring容器的整个流程,并对IOC、BeanDefinition、PostProcesser等相关概念进行解释
170 24
Spring框架中Bean是如何加载的?从底层源码入手,详细解读Bean的创建流程
|
1月前
|
XML Java 应用服务中间件
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
137 2
|
27天前
|
JSON 前端开发 JavaScript
优雅!Spring Boot 3.3 实现职责链模式,轻松应对电商订单流程
本文介绍如何使用 Spring Boot 3.3 实现职责链模式,优化电商订单处理流程。通过将订单处理的各个环节(如库存校验、优惠券核验、支付处理等)封装为独立的处理器,并通过职责链将这些处理器串联起来,实现了代码的解耦和灵活扩展。具体实现包括订单请求类 `OrderRequest`、抽象处理器类 `OrderHandler`、具体处理器实现(如 `OrderValidationHandler`、`VerifyCouponHandler` 等)、以及初始化职责链的配置类 `OrderChainConfig`。
|
4月前
|
Java 持续交付 Maven
Spring Boot程序的打包与运行:构建高效部署流程
构建高效的Spring Boot部署流程对于保障应用的快速、稳定上线至关重要。通过采用上述策略,您可以确保部署过程的自动化、可靠性和高效性,从而将专注点放在开发上面。无论是通过Maven的生命周期命令进行打包,还是通过容器技术对部署过程进行优化,选择正确的工具与实践是成功实现这一目标的关键。
182 2
|
5月前
|
设计模式 前端开发 Java
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
73 1
|
5月前
|
缓存 NoSQL Java
在 SSM 架构(Spring + SpringMVC + MyBatis)中,可以通过 Spring 的注解式缓存来实现 Redis 缓存功能
【6月更文挑战第18天】在SSM(Spring+SpringMVC+MyBatis)中集成Redis缓存,涉及以下步骤:添加Spring Boot的`spring-boot-starter-data-redis`依赖;配置Redis连接池(如JedisPoolConfig)和连接工厂;在Service层使用`@Cacheable`注解标记缓存方法,指定缓存名和键生成策略;最后,在主配置类启用缓存注解。通过这些步骤,可以利用Spring的注解实现Redis缓存。
75 2
|
5月前
|
前端开发 Java 应用服务中间件
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
|
5月前
|
XML Java 数据格式
SpringMVC的XML配置解析-spring18
SpringMVC的XML配置解析-spring18