SpringMVC解析

起源

1. 三层架构:一个 Servlet 只能处理一个请求,耦合度高,复用性差,整页刷新用户体验差

2. MVC 模式:部分解耦但后端仍负责 View层,高并发有限

3. 前后端分离:异步调用,复用性强,支持复杂交互,用户体验性强


概念

  • SpringMVC 是 Spring 框架中的一个模块,用于构建 Web 的 MVC 架构,提供了简洁、优雅的方式来开发 Web 程序,尤其是 HTTP 请求和响应。
  • MVC:Model-View-Contorller,是一种软件设计模式,用于实现应用程序的分层和职责分离,达到解耦的目的。

1. Model(模型 )

  • 包含程序的业务逻辑和数据
  • 通常由 Service 层和 Dao 层支持。
  • 在 SpringMVC 中,Model 的数据可以通过 ModelModelAndView对象传递到 View 层。

2. View(视图)

  • 用户界面部分,负责展示页面和数据给用户。
  • SpringMVC 支持多种视图技术(之前的 JSP,Thymeleaf 等)

3. Controller(控制器)

  • 负责接受用户请求,调用业务逻辑(Model),并将结果返回给 View。
  • SpringMVC 使用注解方式来定义控制器,如@Controller,@RestController等。

执行流程


组件

1. DispatchServlet

2. HandlerMapping

3. HandlerAdapter

4. Handler(Controller)

5. ViewResolver

6. View

相关推荐
Java编程爱好者几秒前
这 4 种 SQL 写法,数据量一大就是生产事故(SQL 性能篇)
后端
YXWik61 分钟前
Claude Code
java
小旭95272 分钟前
分布式事务 Seata 详解 + 链路追踪 SkyWalking 实战
java·分布式·后端·信息可视化·skywalking
曹牧3 分钟前
Spring:@RequestMapping 注解匹配顺序
java·后端·spring
云烟成雨TD6 分钟前
Spring AI Alibaba 1.x 系列【44】多智能体 - 混合模式、监督者(SupervisorAgent)、自定义模式
java·人工智能·spring
_日拱一卒14 分钟前
LeetCode:23合并K个升序链表
java·数据结构·算法·leetcode·链表·职场和发展
cany100015 分钟前
C++ -- 泛型编程
java·开发语言·c++
lee_curry16 分钟前
第三章 jvm中的对象和执行引擎
java·jvm·执行引擎
wang090717 分钟前
Linux性能优化之文件系统基础介绍
java·linux·性能优化
AI攻城狮18 分钟前
DeepSeek 的 Vision 能力要来了吗?
人工智能·后端·openai