Spring MVC图解

  1. 浏览器 (客户端请求)
    用户通过浏览器发起HTTP请求,这个请求首先被Spring MVC的DispatcherServlet捕获。DispatcherServlet是前端控制器,用于协调整个请求处理过程。
  2. DispatcherServlet (前的端控制器)
    DispatcherServlet接收到请求后,首先会根据请求URL找到对应的Handler Mapping,这一步用于确定由哪个Controller来处理这个请求。
  3. Handler Mapping (映射处理器)
    Handler Mapping根据配置或注解,将请求URL映射到对应的处理器(通常是一个Controller方法),找到对应的处理器后,DispatcherServlet会将处理器传递给Handler Adapter。
  4. Handler Adapter (调用处理器)
    Handler Adapter负责调用具体的Controller方法。它会将请求信息传递给Controller,并在调用结束后接收处理结果(通常是一个Model或View)。
  5. Controller (控制层)
    Controller接收请求并处理中业务逻辑。它通常会调用Service层看来来完成业务处理,然后将处理结果封装到一个Model,对象中返回。
  6. Service (业务层) 和 DAO (数据库交互层)
    Service层负责业务逻辑的具体实现。它通常会调用DAO层来与数据库进行交互。DAO层负责从数据库中对获取数据或保存数据,Service层则基于这些数据执行业务逻辑并将结果返回给Controller。
    7 Spring. Model
    Model对象用来存储处理结果(通常是数据),这个对象会被传MVC传递到View层,用于数据展示。
  7. ViewResolver (视图解析器)
    View 的Resolver根据Controller返回的View名称(或者是直接从Controller返回的视图对象)解析出理具体的视图。视图通常是一个HTML、JSP或Thymeleaf模板。
    9.解 View
    View层负责将Model中的数据展示给用户。这个展示可能通过HTML页面、JSON和数据、XML数据等多种格式。
  8. 描述返回视图
    最终,DispatcherServlet将视图渲染的结果返回是给客户端(浏览器),用户看到请求的最终结果。
相关推荐
ps酷教程8 小时前
Jackson 解决没有无参构造函数的反序列化问题
java
NiceCloud喜云8 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
_日拱一卒9 小时前
LeetCode:994腐烂的橘子
java·数据结构·算法·leetcode·深度优先
隔窗听雨眠9 小时前
Nginx网关响应慢排查手记
java·服务器·nginx
智慧物业老杨9 小时前
智慧物业合同周期管理系统:从风险预警到智能交接的全流程数智化落地方案
java·人工智能·python
源码宝10 小时前
MES系统源码:Java8 + SpringBoot2.7 + MySQL8 + Redis,后端源码清爽易扩展
java·后端·源码·springboot·mes系统·源码二开·mes源码
JAVA社区10 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
金銀銅鐵10 小时前
[Java] 如何理解 class 文件中方法的 descriptor?
java·后端
云烟成雨TD10 小时前
Spring AI Alibaba 1.x 系列【63】AI Agent 长期记忆
java·人工智能·spring
憧憬成为java架构高手的小白10 小时前
苍穹外卖--day09
java·spring boot·百度