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框架, 最后返回给浏览器
相关文章
|
6月前
|
JSON 前端开发 Java
SpringBoot:SpringMVC(上)
SpringBoot:SpringMVC(上)
48 3
|
6月前
|
SQL JavaScript Java
springboot+springm vc+mybatis实现增删改查案例!
springboot+springm vc+mybatis实现增删改查案例!
|
1月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
51 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
6月前
|
前端开发 Java API
Spring Boot之Spring MVC基于注解的控制器(RequestMapping注解类型 重定向与转发 依赖注入)
Spring Boot之Spring MVC基于注解的控制器(RequestMapping注解类型 重定向与转发 依赖注入)
73 0
|
5月前
|
安全 前端开发 Java
挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构
挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构
51 1
|
5月前
|
前端开发 Dubbo Java
spring面试题_spring mvc面试题_springboot面试题库
spring面试题_spring mvc面试题_springboot面试题库
|
6月前
|
监控 前端开发 Java
SpringBoot与SpringMVC有哪些区别?
SpringBoot和SpringMVC是Java开发中常用的两个框架,它们都是由Spring框架所提供的,但在功能和使用方式上有着一些区别。
380 2
|
6月前
|
JSON Java Maven
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
71 0
Javaweb之SpringBootWeb案例之 SpringBoot原理的详细解析
|
6月前
|
JSON 前端开发 Java
SpringBoot:SpringMVC(下)
SpringBoot:SpringMVC(下)
39 0
|
6月前
|
前端开发 Java
Springboot对SpringMVC如何扩展配置
Springboot对SpringMVC如何扩展配置