当前位置: 首页 > news >正文

SpringMVC:SpringMVC执行流程

文章目录

  • 一、介绍
  • 二、什么是MVC

一、介绍

Spring MVC 是一种基于Java的Web框架,它采用了MVC(Model - View - Controller)设计模式,通过吧Model、View和Controller分离,将Web层进行职责解耦,把复杂的Web应用分成逻辑清晰的几部分简化开发。其执行流程主要包括以下几个步骤:

  • 客户端发送请求到DispatcherServlet,当客户端在浏览器中输入URL并发送请求时,请求会到达前端控制器DispatcherServlet。
  • DispatcherServlet会将请求的URL传递给HandlerMapping,HandlerMapping会根据URL找到相应的处理器(即Controller)。
  • HandlerMapping会返回找到的处理器及其相关拦截器给DispatcherServlet,DispatcherServlet会将他们保存在处理器执行链中。处理器链中包含多个拦截器的信息,以及需要查找的处理器handler的信息。
  • DispatcherServlet会将处理器对象传递给HandlerAdapter,HandlerAdapter会根据处理器调用相应的方法。
  • HandlerAdapter会调用处理器(Controller)的方法进行业务处理,并将处理结果封装成ModelAndView对象。
  • 处理器会将处理结果封装成ModelAndView对象,并将其返回给HandlerAdapter。
  • HandlerAdapter会将ModelAndView对象返回给DispatcherServlet,DispatcherServlet会将其保存起来。
  • DispatcherServlet会将ModelAndView中的viewName传递给ViewResolver,ViewResolver会根据viewName查找具体的视图对象(即View对象)。
  • ViewResolver会将找到的视图对象返回给DispatcherServlet,DispatcherServlet会将其保存起来。
  • DispatcherServlet会调用View的渲染方法,将ModelAndView中的数据渲染到具体的响应内容中。
  • DispatcherServlet会将渲染后的响应内容返回给客户端,完成整个请求处理过程。

在执行过程中,Spring MVC还提供了很多其他的组件,例如:数据绑定、类型转换、数据校验和异常处理等,还有各种配置方式包括XML配置、Java配置和注解配置等可以根据具体的需求进行灵活的配置

在这里插入图片描述

二、什么是MVC

MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分。

  • M: Model,模型层,指工程中的JavaBean,作用是处理数据。JavaBean分为两类:
    • 一类为实体类Bean:专门存储业务数据的,如Student、User等。
    • 一类称为业务处理Bean:指Service或Dao对象,专门用于处理业务逻辑和数据访问。
http://www.lryc.cn/news/393514.html

相关文章:

  • 如何在前端网页实现live2d的动态效果
  • 昇思25天学习打卡营第15天|linchenfengxue
  • 软考中级数据库系统工程师备考经验分享
  • Centos7删除MariaDB
  • 【Docker系列】Docker 镜像构建中的跨设备移动问题及解决方案
  • C++友元函数和友元类的使用
  • 黑马苍穹外卖技术亮点 详情
  • Python酷库之旅-第三方库Pandas(005)
  • javascripr如何设计弹出输入框并在网页内输出输入内容
  • gitee代码初次上传步骤
  • android调用openssl库
  • Hugging face Transformers(3)—— Tokenizer
  • kubernetes集群部署:环境准备及master节点部署(二)
  • 第8篇 智能合约的商业应用场景解析
  • Zabbix 配置grafana对接
  • 三相感应电机的建模仿真(2)基于ABC相坐标系S-Fun的仿真模型
  • 开源全新H5充值系统源码/自定义首页+充值页面/灵活对接上游渠道接口
  • Linux查看文件的行数,字数,字节数
  • 【IO】文件操作
  • 代码随想录算法训练营第74天:路径总结[1]
  • 用 Emacs 写代码有哪些值得推荐的插件
  • 自定义注解-手机号验证注解
  • 华为od-C卷200分题目5 -项目排期
  • 如何使用Pip从Git仓库安装Python包:深入探索远程依赖管理
  • 计算机专业怎么选择电脑
  • 当前国内可用的docker加速器搜集 —— 筑梦之路
  • 【腾讯内推】腾讯2025校招/青云计划/社招——长期有效
  • 集群限流sentinel实践
  • Flutter-实现双向PK进度条
  • unix高级编程系列之文件I/O