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

SpringMVC简介

01-SpringMVC简介

SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装。
SpringMVC是处于Web层的框架,所以其主要作用就是用来接收前端发过来的请求和数据,然后经过处理之后将处理结果响应给前端,所以如何处理请求和响应是SpringMVC中非常重要的一块内容。
REST是一种软件架构风格,可以降低开发的复杂性,提高系统的可伸缩性,后期的应用也是非常广泛。
对于SpringMVC的学习,最终要达成的目标:

  1. 掌握基于SpringMVC获取请求参数和响应JSON数据操作
  2. 熟练应用基于REST风格的请求路径设置与参数传递
  3. 能根据实际业务建立前后端开发通信协议,并进行实现
  4. 基于SSM整合技术开发任意业务模块功能

SpringMVC概述

在这里插入图片描述

  • 如果所有的处理都交给Servlet来处理的话,所有的东西都耦合在一起,对后期的维护和扩展极其不利

    • 所以将后端服务器Servlet拆分成三层,分别是web、service和dao
      • web层主要由servlet来处理,负责页面请求和数据的收集以及响应结果给前端
      • service层主要负责业务逻辑的处理
      • dao层主要负责数据的增删改查操作
  • 但servlet处理请求和数据时,存在一个问题:一个servlet只能处理一个请求

  • 针对web层进行优化,采用MVC设计模式,将其设计为Controller、View和Model

    • controller负责请求和数据接收,接收后将其转发给service进行业务处理
    • service根据需要会调用dao对数据进行增删改查
    • dao把数据处理完后,将结果交给service,,service再交给controller
    • controller根据需求组装成Model和View,Model和View组合起来生成页面,转发给前端浏览器
    • 这样做的好处就是controller可以处理多个请求,并对请求进行分发,执行不同的业务操作

随着互联网的发展,上面的模式因为是同步调用,性能慢慢的跟不是需求,所以异步调用慢慢的走到了前台,是现在比较流行的一种处理方式。

  • Web程序工作流程
    学习SpringMVC我们先来回顾下现在Web程序是如何做的,我们现在的Web程序大都基于MVC三层架构来实现的。
    在这里插入图片描述
    即:用户通过浏览器访问页面,前端页面使用异步提交的方式发送请求到后端服务器,后端服务器采用表现层、业务层、数据层的三层架构进行开发。页面发送的请求由表现层接收,获取用户的请求参数后将参数传递到业务层再由业务层访问数据层,得到用户需要访问的数据后,将数据通过业务层返回给表现层,表现层拿到数据后将数据转换成json格式将数据发送给前端页面,前端页面接收后解析数据并组织成用户浏览的最终页面信息交给浏览器
    在这里插入图片描述
  • 因为是异步调用,所以后端不需要返回View视图,将其去除
  • 前端如果通过异步调用的方式进行交互,后端就需要将返回的数据转换成JSON格式进行返回
  • pringMVC主要负责的就是
    • controller如何接收请求和数据
    • 如何将请求和数据转发给业务层
    • 如何将响应数据转换成JSON发挥到前端

SpringMVC是一种基于Java实现MVC模型的轻量级Web框架

  • 优点
    • 使用简单、开发快捷(相比较于Servlet)
    • 灵活性强
      这里说的优点,我们通过下面的讲解与练习慢慢体会

02-SpringMVC入门案例

因为SpringMVC是一个Web框架,将来是要替换Servlet,所以先来回顾下以前Servlet是如何进行开发的

  1. 创建web工程(Maven结构)
  2. 设置tomcat服务器,加载web工程(tomcat插件)
  3. 导入坐标(Servlet)
  4. 定义处理请求的功能类(UserServlet)
  5. 设置请求映射(配置映射关系)

SpringMVC的制作过程和上述流程几乎是一致的,具体的实现流程是什么?

  1. 创建web工程(Maven结构)
  2. 设置tomcat服务器,加载web工程(tomcat插件)
  3. 导入坐标(SpringMVC+Servlet)
  4. 定义处理请求的功能类(UserController)
  5. 设置请求映射(配置映射关系)
  6. 将SpringMVC设定加载到Tomcat容器中

案例制作

  • 步骤一:创建Maven项目
  • 步骤二:导入所需坐标(SpringMVC+Servlet)
    在pom.xml中导入下面两个坐标
<!--servlet-->
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope>
</dependency>
<!--springmvc-->
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.10.RELEASE</version>
</dependency>
  • 步骤三:创建SpringMVC控制器类(等同于我们前面做的Servlet)
//定义Controller,使用@Controller定义Bean
@Controller
public class UserController {//设置当前访问路径,使用@RequestMapping@RequestMapping("/save")//设置当前对象的返回值类型@ResponseBodypublic String save() {System.out.println("user save...");return "{'module':'SpringMVC'}";}
}
  • 步骤四:初始化SpringMVC环境(同Spring环境),设定SpringMVC加载对应的Bean
//创建SpringMVC的配置文件,加载controller对应的bean
@Configuration
@ComponentScan("com.yolo.controller")
public class SpringMvcConfig {
}
  • 步骤五:初始化Servlet容器,加载SpringMVC环境,并设置SpringMVC技术处理的请求

配置tomcat
在idea edit configurations 加上tomcat,选local。
在这里插入图片描述
在这里插入图片描述
配置路径
在这里插入图片描述

Deployment中添加当前项目
在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/12944.html

相关文章:

  • 【GPT模型训练】第一课:安装PyTorch环境
  • PandasAI使用
  • Doris-2:单虚拟机上非docker化安装Doris实验环境
  • 万利达电动机保护器接ModbusRTU转profibusDP网关与300PLC通讯
  • 2025-06-02-数据库的分类和应用
  • 大数据(3) 分布式文件系统HDFS
  • LeetCode 2894.分类求和并作差
  • 什么是函数对象
  • 【ArcGIS技巧】—村庄规划规划用地规划状态字段生成工具
  • 并发请求函数batchRequests
  • 类加载的过程
  • 【算法笔记】树套树
  • RSA和AES算法核心区别和原理解析
  • Python地理数学可视化:基于函数生成真实感地形
  • WebFuture 升级提示“不能同时包含聚集KEY和大字段””的处理办法
  • 【Docker 02】Docker 安装
  • 71常用控件_QHBoxLayout的使用
  • 浅谈未来汽车电子电气架构发展趋势中的通信部分
  • 【无人机】MavLink通讯协议的回调解析函数及状态机
  • AtCoder Beginner Contest 409(ABCDEF)
  • 深入解析对比学习:原理、应用与技术实现
  • 前端打包工具简单介绍
  • JavaWeb 三层架构简单介绍与案例实现
  • QEMU源码全解析 —— 块设备虚拟化(24)
  • 【Linux应用】Linux系统日志上报服务,以及thttpd的配置、发送函数
  • Java八股文——并发编程「场景篇」
  • 湖北理元理律师事务所实务手记:个人债务管理的理性突围
  • 65、.NET 中DllImport的用途
  • 轻量级数学竖式训练方案解析
  • Go语言多线程问题