简单总结Tomcat/SpringMVC/Spring/SpringBoot的关系

Tomcat是一个Web应用服务器,可以作为Servlet容器。它的作用是,解析客户端client发起的request,并组装出HttpRequest、创建HttpResponse,将二者交于内部的HttpServlet处理和填充,如图所示

简单总结Tomcat/SpringMVC/Spring/SpringBoot的关系

(图源见参考文档1)

Tomcat映射处理请求的Servlet是通过web.xml做的。

SpringMVC使用一个DispatcherServlet来接收所有的请求,并把它们分发到不同的controller中来做进一步处理。

SpringMVC = Spring + Web框架,Spring这部分主要是AOP/IOC容器。

SpringBoot是Spring的扩展,简化了Spring的配置,通过starter的方式简化了常用组件依赖的引入,使其更加易用。

SpringBoot内置了tomcat。

参考文档:
SpringMVC、Tomcat怎样完成一次Http请求的?
Spring与SpringMVC的区别
SpringBoot:简述SpringBoot和Spring的区别
SpringBoot内置tomcat启动原理

Original: https://www.cnblogs.com/wuyuegb2312/p/12970114.html
Author: 五岳
Title: 简单总结Tomcat/SpringMVC/Spring/SpringBoot的关系

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/541844/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • JS基础总结

    JS细化知识点总结 1. EcmaSctipt 语法 1.1 语法简介:js代码不能直接写,需要用script标签来包裹 js是一种弱类型的脚本语言,即语法没有严格的要求和限制,任…

    Java 2023年6月8日
    074
  • 识别一个文件的真实格式

    识别一个文件的真实格式 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFou…

    Java 2023年6月7日
    074
  • SSM整合

    正常创建一个maven项目,环境是jDK1.8及以上,maven3.8及以上 无论SSM项目、SpringBoot项目还是SpringCloud项目第一件事就是添加相关的依赖。这里…

    Java 2023年6月13日
    085
  • 三次握手 四次挥手

    什么是三次握手? 1.进行三次握手&#x…

    Java 2023年6月13日
    094
  • JS 模块化-03 AMD 规范与 Require JS

    1 AMD 规范介绍 AMD 规范,全称 Asynchronous Module Definition,异步模块定义,模块之间的依赖可以被异步加载。 AMD 规范由 Common …

    Java 2023年6月16日
    087
  • 开源动态可监控线程池DynamicTp介绍

    前言 使用线程池 ThreadPoolExecutor 过程中你是否有以下痛点呢? 代码中创建了一个 ThreadPoolExecutor,但是不知道那几个核心参数设置多少比较合适…

    Java 2023年6月15日
    096
  • 国内三大地图(腾讯、高德、百度)路线规划功能的整合

    写在前面 基于导航到门店的需求,于是有了这一个随笔,例如一些社区团购,自提点导航的功能,同样适用的。 话不多说,开整 一、先定一个目标点(这个通常是通过接口获取的) 建议通过腾讯地…

    Java 2023年6月16日
    0165
  • Flink总结

    从头儿过一遍书,做了些摘要。SQL那里还没仔细复习。 核心目标:数据流上的有状态计算 具体定位:以内存执行速度(速度快)和任意规模来执行计算(可扩展性强) -> 小松鼠快速灵…

    Java 2023年6月8日
    077
  • SpringCloudAlibaba项目之Nacos-config配置中心

    SpringCloudAlibaba随笔目录 一、SpringCloudAlibaba项目之父工程搭建 二、 SpringCloudAlibaba项目之Nacos搭建及服务注册 三…

    Java 2023年6月5日
    087
  • MySQL学习-import java.sql.*;报错

    解决方法:在项目自带的module-info.java文件中添加 requires java.sql; 如图所示 Original: https://www.cnblogs.com…

    Java 2023年6月9日
    0111
  • Eclipse WindowBuilder(SWT)插件安装及初次使用记录(萌新)

    Eclipse WindowBuilder(SWT)插件安装及初次使用(萌新) 一、插件安装 (有VPN 的挂VPN ,服务器在外网更新下载比较慢) 1.首先更新到最新版本 点击 …

    Java 2023年6月5日
    094
  • msf攻击android

    msf攻击android [1] 1.msf生成android apk文件 msfvenom -p android/meterpreter/reverse_tcp lhost= l…

    Java 2023年6月14日
    088
  • SpringBoot+vue 练手项目– 个人博客系统

    dSpringBoot+vue练手项目—博客系统 项目使用技术 : springboot + mybatisplus+redis+mysql+jwt 项目讲解:http…

    Java 2023年6月9日
    081
  • CAS 单点登录【2】自定义用户验证

    方案1:CAS默认的JDBC扩展方案: CAS自带了两种简单的通过JDBC方式验证用户的处理器。 这两个处理类位于cas-server-support-jdbc这个扩展工程下。 第…

    Java 2023年5月29日
    076
  • 20220808-final关键字

    1. 使用场景: 2. 注意细节: final关键字:可以修饰类、属性、方法和局部变量 1. 使用场景: 当不希望类被继承时,可以使用final修饰类 当不希望父类的某个方法被子类…

    Java 2023年6月15日
    068
  • MinIO实现文件上传

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月7日
    077
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球