SSM—【笔记】1.2 SpringMVC

SpringMVC:用于表现层开发,同Servlet功能等同,但比Servlet技术使用更加简便,可以用更少代码量完成开发

项目结构:

在这里插入图片描述

后端采用的是三层架构模式:

数据层:先学的JDBC技术,后用MyBatis框架取代

表现层:先用的servlet技术,现在用SpringMVC框架可取而代之

业务层:

一、SpringMVC简介

1、SpringMVC概述

在这里插入图片描述

2、入门案例

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

3、Controller加载控制与业务bean加载控制

在这里插入图片描述

4、PostMan

  • 一款功能强大的网页调试与发送网页HTTP请求的chrome插件
  • 作用: 常用于进行接口测试

二、请求与响应

1、请求映射路径在这里插入图片描述

2、请求参数

在这里插入图片描述

3、参数传递

(1)五种类型参数传递

普通参数、POJO类型参数、嵌套POJ0类型参数、数组类型参数、集合类型参数
在这里插入图片描述

(2)json数据传递参数(常用)

在这里插入图片描述

对比:

在这里插入图片描述

(3)日期类型参数传递

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

4、响应

响应页面
响应数据
  • 文本数据

  • json数据

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

三、REST风格

1.REST简介

一种资源描述方式

简介
在这里插入图片描述

REST风格:
在这里插入图片描述

接收参数方式:
在这里插入图片描述

接收参数方式对比:
在这里插入图片描述

案例:基于RESTful页面数据交互

四、SSM整合

1、SSM整合

Spring整合Mybatis

在这里插入图片描述

Spring整合SpringMVC

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

2、表现层数据封装

(1)表现层与前端数据传输协议定义

  • 前端接收数据格式一封装操作结果到code属性中
  • 前端接收数据格式一创建结果模型类,封装数据到data属性中
  • 前端接收数据格式一封装特殊消息到message(msg)属性中

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

(2)表现层与前端数据传输协议实现

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

3、异常处理器

好处:可以快速、统一的处理异常
在这里插入图片描述在这里插入图片描述

4、项目异常处理方案

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

EG:

分类—自定义异常编码—激活异常—处理器处理异常

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

案例:SSM整合标准开发

五、拦截器

1、拦截器概念

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

  • 执行流程:
    在这里插入图片描述

2、入门案例

实现一个接口—覆盖接口三个方法—配置(覆盖)

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

3、拦截器参数

在这里插入图片描述

4、拦截器链配置

拦截器可配置多个,形成拦截链
在这里插入图片描述在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/5947.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ThreeJS-缩放、旋转(四)

代码&#xff1a; <template> <div id"three_div"> </div> </template> <script> import * as THREE from "three"; import {OrbitControls } from three/examples/jsm/controls/OrbitControls export default { name: &quo…

在华为做了三年软件测试被裁了,我该怎么办

近年来&#xff0c;随着经济环境的变化和企业战略的调整&#xff0c;员工被裁员的情况变得越来越普遍。无论是因为企业经营困难还是因为业务调整&#xff0c;员工们都可能面临被裁员的风险。如果你也遇到了这样的情况&#xff0c;那么你应该怎么办呢&#xff1f; 首先&#xf…

centos7 SystemV 开机自启动脚本配置方法 redis集群三主三从

centos7 SystemV 开机自启动脚本配置方法 redis集群三主三从1、安装redis集群2、编写redis启动脚本2.1、建立启动脚本2.2、复制多份redis启动脚本给集群使用2.3、添加可执行权限3、配置开机自启动1、安装redis集群 参考: redis三主三从集群安装 2、编写redis启动脚本 2.1、建…

RabbitMQ 07 发布订阅模式

发布订阅模式 发布订阅模式结构图&#xff1a; 比如信用卡还款日临近了&#xff0c;那么就会给手机、邮箱发送消息&#xff0c;提示需要去还款了&#xff0c;但是手机短信和邮件发送并不一定是同一个业务提供的&#xff0c;但是现在又希望能够都去执行&#xff0c;就可以用到发…

HTTP协议发展历程-HTTP2【协议篇】

HTTP2.0 HTTP2为了解决HTTP1.1中存在的问题。其中慢启动和TCP连接竞争是TCP本身导致的&#xff0c;在H2中依赖的还是TCP协议&#xff0c;不过思路换了一下。 HTTP/2 的思路就是一个域名只使用一个 TCP 长连接来传输数据&#xff0c;这样整个页面资源的下载过程只需要一次慢启动…

【Elastic (ELK) Stack 实战教程】04、ElasticSearch 集群进阶及优化

目录 一、ES 集群故障转移 1.1 什么是故障转移 1.2 模拟节点故障 1.2.1 重新选举 1.2.2 主分片调整 1.2.3 副本分片调整 二、ES 文档路由原理 2.1 文档的创建流程 2.2 文档的读取流程 2.3 文档批量创建的流程 2.4 文档批量读取的流程 ​三、ES扩展集群节点 3.1 …

【目标检测论文阅读笔记】Multi-scene small object detection with modified YOLOv4

Abstract. 小目标检测的应用存在于我们日常生活中的许多不同场景中&#xff0c;该课题也是目标检测与识别研究中最难的问题之一。因此&#xff0c;提高小目标检测精度不仅在理论上具有重要意义&#xff0c;在实践中也具有重要意义。然而&#xff0c;当前的检测相关算法在这项任…

Node.js学习笔记——Express.js

一、express介绍 express是一个基于Node.js平台的极简、灵活的WEB应用开发框架&#xff0c;官方网址&#xff1a;https://www.expressjs.com.cn/ 二、express使用 2.1express下载 express本身是一个npm包&#xff0c;所以可以通过npm安装。 npm init npm i express 2.2expr…

Java接口

目录 抽象类 抽象类的概述 如何使用抽象类 抽象类的使用 抽象特征 关于抽象需要注意的几个事情 接口(interface) 常量 如何实现接口 接口与接口多继承 接口的注意事项 抽象类 抽象类的概述 父类中的方法&#xff0c;被它的子类们重写&#xff0c;子类各自的实现都不…

《花雕学AI》02:人工智能挺麻利,十分钟就为我写了一篇长长的故事

ChatGPT最近火爆全网&#xff0c;上线短短两个多月&#xff0c;活跃用户就过亿了&#xff0c;刷新了历史最火应用记录&#xff0c;网上几乎每天也都是ChatGPT各种消息。国内用户由于无法直接访问ChatGPT&#xff0c;所以大部分用户都无缘体验。不过呢&#xff0c;前段时间微软正…

Vulnhub:DC-3靶机

kali&#xff1a;192.168.111.111 靶机&#xff1a;192.168.111.250 信息收集 端口扫描 nmap -A -v -sV -T5 -p- --scripthttp-enum 192.168.111.250 通过nmap得知目标CMS为Joomla 3.7.0 漏洞利用 搜索发现该版本存在sql注入 利用sqlmap获取目标后台用户密码 sqlmap -u &…

测试行业3年经验,面试想拿 17K,HR说你只值 8K,该如何回答或者反驳?

面试最尴尬的不是被拒绝&#xff0c;而是直接说你不值那个价格... 最近朋友在面试的时候&#xff0c;HR 突然来了句&#xff1a;你只值 7K。朋友后面和我说了这个事。我想如果是我处在这种情况下&#xff0c;自己并不能很好地回答或者反驳。不知道大家会怎么回答或者反驳&…

基于vivado(语言Verilog)的FPGA学习(4)——FPGA选择题总结(针对华为逻辑岗实习笔试)

基于vivado&#xff08;语言Verilog&#xff09;的FPGA学习&#xff08;4&#xff09;——FPGA选择题总结 文章目录基于vivado&#xff08;语言Verilog&#xff09;的FPGA学习&#xff08;4&#xff09;——FPGA选择题总结1. 消除险象2. 建立时间和保持时间3.ISE4.DMA5.仿真器6…

【Linux】-- 权限和Shell运行原理

目录 Shell的运行原理 用户切换 su - / su sudo 权限 chmod chown chgrp 八进制方法修改文件属性 目录权限 粘滞位 umask 自定义默认权限 Shell的运行原理 广义上&#xff0c;Linux发行版 Linux内核 外壳程序 Linux 从广义上来理解它是一个操作系统 而从狭义上…

关于Map类的使用小结

目录 1. 常用Map类和区别 2. HashMap工作原理 2.1 Put()执行过程 2.2 扩容机制 3. ConcurrentHashMap 3.1 工作原理 3.2 JDK7分段锁的优缺点 1. 常用Map类和区别 Map类包含&#xff1a;HashMap、HashTable、LinkedHashMap、TreeMap。 1) 从功能上区分。 HashMap&…

多线程进阶学习11------CountDownLatch、CyclicBarrier、Semaphore详解

CountDownLatch ①. CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞 ②. 其它线程调用countDown方法会将计数器减1(调用countDown方法的线程不会阻塞) ③. 计数器的值变为0时,因await方法阻塞的线程会被唤醒,继续执行 public static void m…

SpringBoot学习笔记上

文章目录1 SpringBoot1.1 SpringBoot介绍1.2 SpringBoot创建的三种方式1.3SpringBootApplication注解1.4 SpringBoot的配置文件1.5多环境配置1.6 使用jsp1.7 ComnandLineRunner 接口 &#xff0c; ApplcationRunner接口2 Web组件2.1 拦截器2.2 Servlet2.3 过滤器Filter2.4 字符…

gpt3官网中文版-人工智能软件chat gpt安装

GPT-3&#xff08;Generative Pre-trained Transformer 3&#xff09;是一种自然语言处理模型&#xff0c;由OpenAI研发而成。它是GPT系列模型的第三代&#xff0c;也是目前最大、最强大的自然语言处理模型之一&#xff0c;集成了1750亿个参数&#xff0c;具有广泛的使用场景&a…

Flutter Row 实例 —— 新手礼包

大家好&#xff0c;我是 17。 本文在 3.31 日全站综合热榜第一。 新手礼包一共 3 篇文章&#xff0c;每篇都是描述尽量详细&#xff0c;实例讲解&#xff0c;包会&#xff01; Flutter Row 实例 —— 新手礼包Flutter TextField UI 实例 —— 新手礼包Flutter TextField 交…

靠近用户侧和数据,算网融合实现极致协同

游弋自如的生产力&#xff0c;在边缘。IMMENSE、36氪&#xff5c;作者 1846年1月&#xff0c;纽约。 一行长短不一的电码顺着通讯线路飞往130公里开外的费城&#xff0c;这是华尔街的巨头们首次使用电报传输讯息&#xff0c;更具有金钱意味的是&#xff0c;电力通讯的成功&am…