Tomcat 和 Spring MVC

TomcatSpring MVC 是 Java Web 开发中两大核心组件,分别承担不同的角色:


一、Tomcat

  1. 定义

    • Apache Tomcat 是一个开源的 Servlet 容器 (也称为 Servlet 引擎)+ JSP 引擎,实现了 Java EE(现称 Jakarta EE)规范中与 Web 相关的部分。
  2. 主要功能

    • 监听 HTTP 请求(端口默认 8080),将请求交给对应的 Servlet 处理,最后把 Servlet 的响应(HTML、JSON、图片等)返回给客户端。

    • 支持 JSP(JavaServer Pages),可以把 JSP 文件编译成 Servlet 并执行。

  3. 在 Spring Boot 中的地位

    • spring-boot-starter-web 默认会引入嵌入式 Tomcat。你打包成 JAR 直接运行时,实际上是 Tomcat 在后台启动并提供 Web 服务。

二、Spring MVC

  1. 定义

    • Spring MVC(Model-View-Controller)是 Spring Framework 中的一个 Web 框架模块,基于经典的 MVC 设计模式,用来处理 Web 请求和响应。
  2. 核心组件

    组件 职责
    DispatcherServlet 作为前端控制器(Front Controller),接收所有 HTTP 请求并分发给具体的处理器(Controller)。
    HandlerMapping 根据请求 URL、HTTP 方法等规则,找到对应的 Controller 方法。
    Controller 你在代码中用 @Controller@RestController 注解的类,负责业务逻辑处理并返回 Model 或数据。
    ViewResolver 将 Controller 返回的视图名称(如 home)解析为具体的 JSP、Thymeleaf 模板等,并渲染页面。
    ModelAndView 用于在 Controller 中携带要渲染到页面的数据(Model)和视图名称(View)。
  3. 工作流程

    1. 浏览器发起请求 → 2. DispatcherServlet 拦截 → 3. 通过 HandlerMapping 找到 Controller →

    2. 执行 Controller 方法,返回数据或视图名 → 5. ViewResolver 渲染 → 6. 响应结果返回给浏览器。

  4. 与 Spring Boot 的结合

    • Spring Boot 自动帮你注册好 DispatcherServlet、默认的 ViewResolver(如 Thymeleaf)以及静态资源映射。

    • 你只需在启动类或配置类加上 @EnableWebMvc(可选),并编写带 @Controller/@RestController 的类和 @RequestMapping 方法,就能快速构建 Web 接口或页面。


小结

  • Tomcat 是运行你的 Web 应用的 服务器容器,负责接收和转发 HTTP 请求;

  • Spring MVC 是构建应用内部 请求--处理--响应 流程的 框架,让你以注解+POJO 的方式组织 Web 业务逻辑。

两者配合:Tomcat 负责网络层面的通信,Spring MVC 负责应用层面的请求调度与业务处理。

相关推荐
0x5311 小时前
网站通信(一)
java
Terra.K11 小时前
Java异常学习[特殊字符]
java·开发语言·学习
葡萄城技术团队12 小时前
InfluxDB 2\.x 深度解析:核心架构、Flux 函数与制造业落地指南(三)
java·开发语言·架构
Super 含12 小时前
Android 启动优化(五):线程、GC 与 IO 为什么会拖慢启动?
java·服务器·数据库
counting money12 小时前
Java IO流详解:从InputStream到文件操作实战
java·开发语言·python
程序员小八77713 小时前
上海百度B端java后端日常实习一面
java·开发语言
mldong14 小时前
零依赖的秘密:8 大 SPI 设计
java·架构
Diligently_16 小时前
Anolis 系统更新与密码设置&磁盘扩容
java·后端·spring
mqiqe16 小时前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络