• SpringMVC:什么是SpringMVC



    【尚硅谷】SSM框架全套教程-讲师:杨博超

    保持热爱、奔赴山河

    1、SpringMVC简介

    1.1、什么是MVC

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

    M:Model,模型层,指工程中的JavaBean,作用是处理数据。

    JavaBean分为两类:

    • 一类称为实体类Bean:专门存储业务数据的,如 Student、User 等。
    • 一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理业务逻辑和数据访问。

    V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据。

    C:Controller,控制层,指工程中的servlet,作用是接收请求和响应浏览器。

    MVC的工作流程: 用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果找到相应的View视图,渲染数据后最终响应给浏览器。

    1.2、什么是SpringMVC

    SpringMVC 是 Spring 的一个后续产品,是Spring的一个子项目。

    SpringMVC 是 Spring 为表述层开发提供的一整套完备的解决方案,在表述层框架历经 Strust、WebWork、Strust2 等诸多产品的历代更迭之后,目前业界普遍选择了 SpringMVC 作为 Java EE 项目表述层开发的首选方案

    SpringMVC封装的就是Servlet,原来在Servlet中可以实现的功能,在SpringMVC中都可以实现,而且更方便。

    注:Java 三层架构分为表述层(或表示层)、业务逻辑层、数据访问层,(表述层包含前台页面和后台servlet)。

    表述层功能:

    • 页面发送请求到控制层(servlet)
    • 控制层设置编码、获取请求参数
    • 向域对象中共享参数
    • 渲染视图,跳转到指定页面

    1.3、SpringMVC的特点

    • Spring 家族原生产品,与 IOC 容器等基础设施无缝对接。
    • 基于原生的Servlet,通过了功能强大的前端控制器DispatcherServlet,对请求和响应进行统一处理。
    • 表述层各细分领域需要解决的问题全方位覆盖,提供全面解决方案
    • 代码清新简洁,大幅度提升开发效率。
    • 内部组件化程度高,可插拔式组件即插即用,想要什么功能配置相应组件即可。
    • 性能卓著,尤其适合现代大型、超大型互联网项目要求。
    • SpringMVC官网文档

    1.4、中心控制器

    • Spring的web框架围绕DispatcherServlet设计。
    • DispatcherServlet的作用是将请求分发到不同的处理器。
    • 从Spring 2.5开始,使用Java 5或者以上版本的用户可以采用基于注解的controller声明方式。

    在这里插入图片描述

    Spring MVC框架像许多其他MVC框架一样, 以请求为驱动 , 围绕一个中心Servlet分派请求及提供其他功能,DispatcherServlet是一个实际的Servlet (它继承自HttpServlet 基类)。

    SpringMVC的原理如下图所示:

    当发起请求时被前置的控制器拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制器,控制器使用模型与视图渲染视图结果,将结果返回给中心控制器,再将结果返回给请求者。

    原图

    在这里插入图片描述

    中文图

    在这里插入图片描述

  • 相关阅读:
    【附源码】计算机毕业设计SSM天气预报系统
    自己编译JDK
    算法 - 磁盘容量排序
    [C++](19)AVL树插入,旋转,详细图解与代码
    公共关系学试题及答案
    致力于成为某个细分行业最牛逼的程序员,您该如何实现?
    Python中使用item()方法遍历字典的例子
    RTMP流媒体服务器EasyDSS视频点播平台在不关闭防火墙的情况下平稳部署的具体步骤
    集群规模:3 FE + 89 BE
    MyBatis-Plus(一)
  • 原文地址:https://blog.csdn.net/zhao854116434/article/details/126435126