SpringBootWeb、SpringMVC、SpringBoot三者关系和底层剖析

简介: 这是关于SpringBootWeb、SpringMVC、SpringBoot三者关系和剖析底层, 以及Web应用的帖子
  • SpringBootWeb SpringBoot的一部分, 底层是SpringMVC(框架), 用于构建Web应用程序
  • Spring MVC是一个基于Java的Web应用开发框架,提供了一种 模型-视图-控制器( Model-View-Controller )的架构模式. Spring MVC中,C代表的是控制器(Controller).
  • 控制器 (xxxController)负责处理( 前端控制器分发下来的 )特定类型的请求,处理器执行业务逻辑,并生成模型 数据 供 视图使用。
  • 前端控制器DispatcherServlet)是整个Web应用程序的入口点,它负责接收所有的HTTP请求,并将请求分发给 相应的控制器来处理。-- (前端控制器也叫 核心控制器)
  • Servlet是传统的Java Web开发中(没有框架时候单用的核心技术),充当了控制器, 将请求分发给适当的业务逻辑处理代码,并生成响应返回给客户端。
  • SpringMVC的执行流程:

(handler: 处理器, ( Controller类中的方法), 用于处理特定的请求和执行相应的业务逻辑。ect: 户在浏览器中输入了以下URL:http://www.example.com/product/1234

在Spring MVC中,我们可以定义一个ProductController类作为处理器,它可以包含一个方法,比如showProductDetails()。前端控制器根据URL分配给 showProductDetails()作为Handler来处理请求)

(ModelAndView( 逻辑视图名称==一个标识符)对象用于在 控制器处理请求后,将数据传递给视图进行展示。用于->将数据模型和视图封装在一起, 方便在Web应用程序中进行数据传递和视图渲染。)

  • SpringMVC的 3个组件 :
  • HandlerMapping处理器映射器:功能是根据请求的URL或其他标识符来确定是应该使用哪个Handler来处理请求。将请求映射到适当的Handler,以便后续的处理。
  • HandlerAdapter处理器适配器功能是将请求交给对应的Handler进行处理。它负责将请求对象适配到Handler的方法上,并根据Handler的处理结果生成响应。
  • ViewResolver 视图解析器: 控制器处理请求后会返回一个ModelAndView( 逻辑视图名称==一个标识符), ViewResolver的作用就是根据ModelAndView,找到(映射)对应的实际View对象,然后进行视图渲染

解析 Web应用 :

当我们在开发Web程序时,通常会使用 MVC架构模式来组织代码. 控制器(Controller)是MVC中的一个重要组件,用于接收和处理用户请求,并调用相应的业务逻辑 来生成响应。

  • 假设有一个 xxxController控制器, 它首先会被部署到 Tomcat服务器(是Servlet载体, 包含了DispatcherServlet)上, 等待接受浏览器请求......当收到一个HTTP请求时, Tomcat(DispatcherServlet)会将请求转发给xxxController处理.
  • 然后xxxController控制器会根据请求中的URL等确定具体要执行哪个业务逻辑, 确定后会 调用响应Server层处理请求....最后控制器生成响应结果返回给SpringMVC框架, 最后返回给浏览器
相关文章
|
8月前
|
缓存 前端开发 Java
SpringBoot&SpringMVC统一异常处理之RestControllerAdvice
SpringBoot&SpringMVC统一异常处理之RestControllerAdvice
53 0
|
11天前
|
JSON Java Maven
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
42 0
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
|
5月前
|
前端开发 JavaScript Java
什么是SpringMVC以及和 SpringBoot 的关系
什么是SpringMVC以及和 SpringBoot 的关系
35 0
|
5月前
|
SQL JSON 前端开发
【源码免费下载】SpringBoot整合Spring+SpringMVC+MyBatisPlus案例:图书管理系统
【源码免费下载】SpringBoot整合Spring+SpringMVC+MyBatisPlus案例:图书管理系统
65 0
|
5月前
|
XML 前端开发 Java
SpringBoot - SpringMVC的默认配置与修改
SpringBoot - SpringMVC的默认配置与修改
55 0
|
5月前
|
Java 应用服务中间件 Maven
Spring&SpringMVC&SpringBoot
Spring&SpringMVC&SpringBoot
40 0
|
5月前
|
存储 Java 应用服务中间件
Spring、SpringMVC和SpringBoot框架中那些容器
Spring、SpringMVC和SpringBoot框架中那些容器
50 0
|
7月前
|
JSON 前端开发 Java
16 SpringBoot之SpringMVC自动配置
16 SpringBoot之SpringMVC自动配置
20 0
|
8月前
|
JSON 前端开发 Java
Spring、SpringMVC、SpringBoot中常用的注解
Spring、SpringMVC、SpringBoot中常用的注解
65 4
|
9月前
|
XML 人工智能 JSON
SpringBoot实战(二):SpringMvc接收xml请求
SpringBoot实战(二):SpringMvc接收xml请求
338 0