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

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.dtcms.com/a/239387.html

相关文章:

  • 【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)
  • AD学习(2)
  • Cinnamon修改面板小工具图标
  • 【整数逐位除法求余补〇完整版】2022-4-11
  • 代码审计 BlueCms SQL注入
  • Power Query动态追加查询(不同工作簿下)
  • JLINK脚本初始化外部SDRAM STM32H7
  • 高等数学 | 第八章-向量值函数的积分与场论
  • LLMs 系列科普文(10)
  • 贝叶斯医学分析中“先验”的如何进行选择(文献解读)
  • UVM验证—第一课:方法学&类库&工厂
  • 基于PTN传输承载的4G网络-故障未连接...(我不理解哪错了排查了几遍没发现哪错啊啊啊啊)
  • GNSS高精度定位之-----星基差分
  • YooAsset 2.3.9版本 示例教程运行
  • RPG23.应用武器伤害(一):设置武器命中
  • 第八章 信息安全基础知识
  • 【量化】策略交易 - 均线策略(Moving Average Strategy)
  • 智慧园区管理平台
  • SpringCloudAlibaba和SpringBoot版本问题
  • DQN强化学习怎么来使用
  • 主体与代理的义项选择用意: 融智学视域下的三元操作机制
  • Go语言中的if else控制语句
  • Python训练营---DAY48
  • AI医生时代来临!o1模型在医疗诊断中超越人类医生
  • Springboot 基于MessageSource配置国际化
  • 玄机——某次行业攻防应急响应(带镜像)
  • 力扣-131.分割回文串
  • 72常用控件_QGridLayout的使用
  • 一个自动反汇编脚本
  • 大数据(3) 分布式文件系统HDFS