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将视图渲染的结果返回是给客户端(浏览器),用户看到请求的最终结果。
相关推荐
二哈赛车手7 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~8 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8298 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
未若君雅裁9 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
AI人工智能+电脑小能手10 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
阿维的博客日记10 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI10 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
辰海Coding12 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构
小小编程路12 小时前
C++ 多线程与并发
java·jvm·c++
AI视觉网奇12 小时前
linux 检索库 判断库是否支持
java·linux·服务器