Day7 | Java框架 | SpringMVC

ops/2024/9/23 5:11:36/

Day7 | Java框架 | SpringMVC

  • SpringMVC简介
    • SpringMVC 概述
    • 入门案例
    • 入门案例工作流程分析
    • Controller 加载控制与业务bean加载控制(SpringMVC & Spring)
    • PostMan
  • 请求与响应
    • 请求映射路径
    • 请求方式(不同类型的请求参数):@RequestParam
    • 传递 json 数据
    • 日期型参数传递
    • 响应
  • REST风格
    • 简介
    • RESTful 入门案例
    • REST 快速开发
    • 案例:基于RESTful数据交互
  • SSM整合
    • SSM整合:整合配置、功能模块开发、接口测试
      • Spring 整合 MyBatis
      • Spring 整合 SpringMVC
    • 表现层数据封装
    • 异常处理器
      • SpringMVC 提供了异常处理器
      • 项目异常处理方案
    • 案例:SSM整合标准开发-前后台协议联调
  • 拦截器
    • 概念
    • 入门案例:配置
    • 拦截器执行顺序
    • 拦截器参数
    • 拦截器链配置

视频链接:黑马程序员SSM框架教程-SpringMVC

学习目标

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

SpringMVC简介

在这里插入图片描述

  • 表现层拿到业务层返回的数据之后,将其转换成 json 格式发送给前端页面
  • 前端页面接收数据,将其解析成用户最终浏览的页面信息,交给浏览器

技术栈

  • 后端服务器
    • 数据层实现:JDBC → MyBatis 框架(加速开发)
    • 表现层开发:Servlet → SpringMVC 框架

SpringMVC 概述

  • SpringMVC 是一种基于 Java 实现 MVC 模型的轻量级 Web 框架
  • 优点:相比于Sevlet,使用简单,开发便捷;灵活性强

入门案例

  1. 导入 SpringMVC 坐标与 Servlet 坐标
    在这里插入图片描述

  2. 创建 SpringMVC 控制器类(等同于 Servlet 功能)

    用于处理请求
    在这里插入图片描述

  3. 初始化 SpringMVC 环境(同Spring环境),设定 SpringMVC 加载对应的 bean
    在这里插入图片描述

  4. 初始化 Servlet 容器,加载 SpringMVC 环境,并设置 SpringMVC 技术处理的请求
    在这里插入图片描述

涉及的注解

Controller
在这里插入图片描述
在这里插入图片描述

SpringMVC 入门程序开发总结

在这里插入图片描述

在这里插入图片描述

AbstractDispatcherServletInitializer 类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

入门案例工作流程分析

在这里插入图片描述

Controller 加载控制与业务bean加载控制(SpringMVC & Spring)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

PostMan

PostMan是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件

  • 作用:常用于及进行接口测试(模拟网页发送各种各样的请求)
  • 特征:简单、实用、美观、大方
  • 基本使用:注册登录–>创建工作空间/进入工作空间–>发送请求测试结果

请求与响应

请求映射路径

团队多人开发,每人设置不同的请求路径。冲突问题如何解决? --> 设置模块名作为请求路径前缀

在这里插入图片描述

PostMan 发送携带参数 GET 请求

在这里插入图片描述

PostMan 发送携带参数 POST 请求

在这里插入图片描述

SpringMVC解决POST请求中文乱码问题

在这里插入图片描述

请求方式(不同类型的请求参数):@RequestParam

请求方式
请求参数

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

传递 json 数据

具体操作看视频:json 数组、json 对象(POJO)、json 数组(POJO)

  1. 接收请求中的 json 数据
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 注解
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

日期型参数传递

在这里插入图片描述

注解
在这里插入图片描述

类型转换器

在这里插入图片描述

响应

在这里插入图片描述

注解

在这里插入图片描述
类型转换器:将对象数据转换成 JSON 返回出去
在这里插入图片描述

REST风格

简介

即,访问网络资源的格式。
在这里插入图片描述

在这里插入图片描述

RESTful 入门案例

在这里插入图片描述
在这里插入图片描述
注解
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

REST 快速开发

在这里插入图片描述

简化为如下形式:

注解

在这里插入图片描述

标准请求动作映射(4种)

在这里插入图片描述

案例:基于RESTful数据交互

  • 先做后台功能,开发接口并调通接口
  • 再做页面异步调用,确认功能可以正常访问
  • 最后完成页面数据展示
  • 补充:放行静态资源访问
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

SSM整合

SSM整合:整合配置、功能模块开发、接口测试

在这里插入图片描述

Spring 整合 MyBatis

在这里插入图片描述在这里插入图片描述

Spring 整合 SpringMVC

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

表现层数据封装

即,前后端联调协议。配合业务将数据整理成统一格式,反馈给前端页面,再由前端页面的人员进行解析。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

异常处理器

在这里插入图片描述

  • 各个层级均出现异常,异常处理代码书写在哪一层?–>** 所有的异常均抛出到表现层进行处理**
  • 表现层处理异常,每个方法中单独书写,代码书写量巨大且意义不强,如何解决?–>AOP思想

SpringMVC 提供了异常处理器

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

项目异常处理方案

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

案例:SSM整合标准开发-前后台协议联调

在这里插入图片描述

详细请看视频教程。

拦截器

概念

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

入门案例:配置

  1. 制作拦截器功能类
  2. 配置拦截器的执行位置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

拦截器执行顺序

在这里插入图片描述

拦截器参数

在这里插入图片描述
在这里插入图片描述

拦截器链配置

在这里插入图片描述


http://www.ppmy.cn/ops/111920.html

相关文章

Rust 控制流

文章目录 发现宝藏1. if 表达式1.1 基本用法1.2 带有 else if 的多重条件1.3 在 let 语句中使用 if1.4 类型不匹配的错误 2. 循环结构2.1 使用 loop 进行无限循环2.2 使用 break 从循环中退出2.3 while 循环2.4 for 循环遍历集合2.5 使用 Range 进行迭代 总结 发现宝藏 前些天…

Vite + Electron 时,Electron 渲染空白,静态资源加载错误等问题解决

问题 如果在 electron 里直接引入 vite 打包后的东西,那么有些资源是请求不到的 这是我的引入方式 根据报错,我们来到 vite 打包后的路径看一看 ,修改一下 dist 里的文件路径试了一试 修改后的样子,发现是可以的了 原因分析 …

【可视化大屏系列】数据列表自动滚动效果

要实现列表的自动滚动效果,这里提供两种解决方案: 1.vue插件 官方文档:链接: vue-seamless-scroll (1)安装依赖 npm install vue-seamless-scroll --save(2)全局注册(main.js中&a…

新手教学系列——用Nginx将页面请求分发到不同后端模块

在当今的Web开发中,前后端分离架构已经成为主流,尤其是大型应用项目。前端可以通过Vue这样的框架来统一管理页面和用户交互,而后端则通常会拆分成多个微服务模块,以便应对不同业务需求和功能扩展。在这样的架构下,Nginx作为一个高效、灵活的Web服务器,能够帮助我们将前端…

R语言统计分析——散点图1(常规图)

参考资料:R语言实战【第2版】 R语言中创建散点图的基础函数是plot(x,y),其中,x和y是数值型向量,代表着图形中的(x,y)坐标点。 attach(mtcars) plot(wt,mpg,main"Basic Scatter plot of MPG vs. Weigh…

解码 OpenAI 的 o1 系列大型语言模型

OpenAI 表示,其 Strawberry 项目已升级为新的大型语言模型 (LLM) 系列,公司将其命名为 OpenAI o1。 该公司表示,新系列模型还包括一个 o1-mini 版本,以提高成本效益,可根据其推理能力与最新的GPT-4o 模型进行区分。 …

裸金属服务器与云服务器的区别有哪些?

随着云计算服务的快速发展,云服务器与裸金属服务器则称为各大企业基础设施的两大核心选择,会运用在不同的场景当中,本文就来介绍一下裸金属服务器与云服务器的区别都有哪些吧! 裸金属服务器相对于云服务器来说有着卓越的性能&…

回溯-重新安排行程

1.排序 Collections.sort(list,(o1, o2)-> o1.get(0).compareTo(o2.get(0))); 2.返回值 3.往集合添加元素 Arrays.asList(元素) List<List<String>> list new ArrayList<>();List<String> path new ArrayList<>();// 将[["JFK"…