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将视图渲染的结果返回是给客户端(浏览器),用户看到请求的最终结果。
相关推荐
程柯梦想5 分钟前
Maven修改默认编码格式UTF-8
java·maven
涛ing5 分钟前
【5. C++ 变量作用域及其深入探讨】
java·linux·c语言·开发语言·c++·ubuntu·vim
字节全栈_mMD1 小时前
Flink Connector 写入 Iceberg 流程源码解析_confluent icebergsinkconnector
java·大数据·flink
小园子的小菜1 小时前
RocketMQ中的NameServer主要数据结构
java·中间件·rocketmq·java-rocketmq
武昌库里写JAVA2 小时前
redis原理之数据结构
spring boot·spring·毕业设计·layui·课程设计
平凡君2 小时前
缓存的今生今世
java·spring·缓存
纠结哥_Shrek2 小时前
Java 有很多常用的库
java·开发语言
爱是小小的癌3 小时前
Java-数据结构-优先级队列(堆)
java·前端·数据结构
天乐敲代码3 小时前
JAVASE入门十五脚-网络TCP,UDP,,Lambda
java
2501_903238654 小时前
自定义登录页面的Spring Security实践
java·后端·spring·个人开发