【 Spring MVC 核心功能(一) - 使用注解实现 URL 路由映射】

news/2024/5/5 4:44:04/文章来源:https://blog.csdn.net/qq_64317046/article/details/130075072

文章目录

  • 引言
  • 一、@RequestMapping 注解介绍
    • 1.1 @RequestMapping 是 post 还是 get 请求?
    • 1.2 @RequestMapping 指定一种请求方式
  • 二、@GetMapping
  • 三、@PostMapping
  • 四、总结

引言

前面我们讲到,学习 Spring MVC 需要掌握三个核心功能即连接,获取参数,输出数据。下面我们来学习连接功能.如何实现呢?将 MVC项目创建好之后,可以使⽤ @RequestMapping 等一系列注解来实现 URL 路由映射,也就是浏览器连接程序的作⽤

一、@RequestMapping 注解介绍

@RequestMapping 是 Spring Web 应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路
由映射的

路由映射:所谓的路由映射指的是,当⽤户访问⼀个 url 时,将⽤户的请求对应到程序中某个类的某个⽅法的过程就叫路由映射

@RequestMapping 基础使⽤:

@Controller
@ResponseBody
//我们可以使用组合注解 @RestController 来代替上述两个注解,效果一样
//@RestController
@RequestMapping("/user")
public class TestController {@RequestMapping("/sayhello")public String sayhello() {return "hello !!!good";}
}

@RequestMapping 可以同时修饰类和方法,当修饰类和⽅法时,访问的地址是类 + ⽅法。它也可以直接修饰⽅法,访问地址就是方法


1.1 @RequestMapping 是 post 还是 get 请求?

  1. @RequestMapping 默认是支持 get,post 两种⽅式的请求,可以使⽤ postman 进⾏测试

使用 get 请求:
在这里插入图片描述

使用 post 请求:
在这里插入图片描述

1.2 @RequestMapping 指定一种请求方式

  1. 那当我们想要指定某一个 请求方式呢?
    我们可以显示的指定 @RequestMapping 来接收特定方式请求,如下:
@RequestMapping(method = RequestMethod.POST, value = "/sayhi")public String sayhi() {return "hello world !";}

再次使用 postman 发送 get 请求测试,如下:

在这里插入图片描述

上述结果表名,当我们显示指定一种请求方式时,另一种请求方式就不支持了,会报错!

通过显示指定,同样可以指定 get 方式请求,我们就不举例了。那是否还有其他方式指定某一请求方式呢?答案是肯定的的!!


二、@GetMapping

@GetMapping 注解只支持 get 方式的请求

代码示例:

 //设置只支持 get 请求@GetMapping("/sayhi2")public String sayhi2() {return "hello world 2 !";

使用 postman 测试如下:
在这里插入图片描述

当我们改成 post 方式就会报错 !!

三、@PostMapping

@PostMapping 只支持 post 方式的请求

代码示例:

//设置只支持 post 请求@PostMapping("/sayhi1")public String sayhi1() {return "hello world 1 !";}

使用 postman 测试如下:

在这里插入图片描述

同样,此时使用 get 方式请求就会报错 !!


四、总结

get 请求的 3 种写法:

// 写法1
@RequestMapping("/index")
// 写法2
@RequestMapping(value = "/index",method = RequestMethod.GET)
// 写法3
@GetMapping("/index")

post 请求的 3 种写法:

// 写法1
@RequestMapping("/index")
// 写法2
@RequestMapping(value = "/index",method = RequestMethod.POST)
// 写法3
@PostMapping("/index")

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

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

相关文章

webgl-attribute、uniform、varying三者的区别

通用js: let canvas document.getElementById(webgl) canvas.width window.innerWidth canvas.height window.innerHeight let ctx canvas.getContext(webgl) attribute: 范围: 只适用于vertexShader,将js代码中的数据传递给vertexShader。 使用方…

软考-套接字(scoket)

💤SocketSocket套接字:是由系统提供用于网络通信的技术,是基于TCP/IP协议的网络通信的基本操作单元。将OSI模型中从传输层到物理层封装起来的抽象层,把网络协议隐藏在Socket抽象层中,只对使用者暴露API接口&#xff0c…

DDoS攻击实验笔记

DoS&DDoS简介 DoS(Denial of Service),拒绝服务攻击是通过一些方法影响服务的可用性,比如早期主要基于系统和应用程序的漏洞,只需要几个请求或数据包就能导致长时间的服务不可用,但易被入侵检测系统发现。 DDoS(Distributed D…

Mysql通过行表中的行数据筛选主表数据

有订单头表和订单行表。筛选出行表中包含某些商品的头表 文章目录1. 示例表test_ordertest_order_line2. 实现EXISTS(推荐)内联1. 示例表 test_order test_order_line 2. 实现 EXISTS(推荐) 优点: 使用内联,主表字段很多的情况下,需要写越…

人员跌倒识别检测系统 yolov7

人员跌倒识别检测系统通过PythonYOLO7网络模型算法,人员跌倒识别检测算法模型对现场画面中有人员倒地摔倒行为实时分析预警,发现则立即抓拍存档告警同步提醒后台值班人员及时处理。YOLOv7 的发展方向与当前主流的实时目标检测器不同,研究团队…

LabVIEW实现ST-Link自动烧录单片机

目录 1、添加CLI到系统环境变量中 2、查询ST-Link/V2烧录器信息 3、连接待烧录的MCU芯片 4、下载固件到Flash 5、可能会使用的命令 5.1、-Rst 5.2、-ME 5.3、-SE 6、封装好的LabVIEW库 在讲解LabVIEW实现ST-Link自动烧录之前先聊一聊ST官方提供一款专用的Flash烧录工具…

《华为机试》——查找两个字符串a,b中的最长公共子串

本期给大家带来的是 华为机试题库 关于 查找两个字符串a,b中的最长公共子串 的讲解。首先,我们还是先从题目入手进行分析思考!!! 题目如下 :👇 查找两个字符串a,b中的最长公共子串。若有多个,输…

正则化的基本认识

正则化(一) 拟合与欠拟合(二) 正则化的目的(三) 惩罚项(3.1)常用的惩罚项:(3.2)L-P范数:(3.3)L1与L2的选择:(一) 拟合与欠拟合 欠拟合: 是指测试级与训练集都…

IDEA集成Git、GitHub、Gitee

一、IDEA 集成 Git 1.1、配置 Git 忽略文件 为什么要忽略他们? 与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽 IDE 工具之间的差异。 怎么忽略? 创建忽略规则文件 xxxx.ignore(前缀名随便起&#xff0c…

〖Python网络爬虫实战⑫〗- XPATH语法介绍

订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费…

java 通过 spring 官网创建springboot项目

文章java简单一写一个springboot入门案例带大家用idea工具工具创建了一个springboot简单的小案例 但有时 我们idea如果连不上网 就会有点问题 我们可以采用另一种创建方式 但这里的前提肯定就是 你的计算机是要有网的 然后访问 https://spring.io/ 打开spring的官网 在 Project…

SpringBoot基础使用

SpringBoot基础使用1.SpringBoot简介2.SpringBoot项目创建3.RESTful Web 服务4.SpringBoot 实现WebMvcConfigurer拦截器4.1 WebMvcConfigurer介绍4.2 WebMvcConfigurer接口常用方法4.3 WebMvcConfigurer拦截器5.SpringBoot常用注解总结6.SpringBoot异常处理6.1 使用 Controller…

Zeppelin框架及Hive查询操作

1)、介绍 Apache Zeppelin是一款基于Web交互式框架,支持多种语言,Scala、SparkSQL、Markdown,SQL、Shell、Python等。 Zeppelin提供数据分析、数据可视化。 可以使用Zeppelin链接SparkSQL Zeppelin安装和使用 1)、…

JVM性能调优简介

一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代) Tenured(年老代) 永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参…

Hive查询语句

目录 1.1 基础语法 1.2 基本查询(Select…From) 1.2.1 数据准备 1.2.2 全表和特定列查询 1.2.3 列别名 1.2.4 Limit语句 1.2.5 Where语句 1.2.6 关系运算函数 1.2.7 逻辑运算函数 1.3 分组 1.3.1 Group By语句 1.3.2 Having语句 1.4 Join语句…

【云原生】Dockerfile制作WordPress镜像,实现compose编排部署

文章目录👹 关于作者前言环境准备目录结构dockerfile制作镜像yum 脚本Dockerfile-mariadb 镜像Dockerfile-service 镜像docker compose 编排提升✊ 最后👹 关于作者 大家好,我是秋意临。 😈 CSDN作者主页 😎 博客主页…

BGP联邦实验

实验目的: 实验拓扑: IP地址规划: AS2内部: 172.16.0.0/16 172.16.0.0/24---P2P网络 172.16.1.0/24----MA网络 172.16.1.0/29 172.16.1.8/29 172.16.1.16/29 172.16.1.24/29 172.16.1.32/29 172.16.1.40/29 172.16.2.0/24--…

NIFI大数据进阶_Kafka使用相关说明_实际操作Kafka消费者处理器_来消费kafka数据---大数据之Nifi工作笔记0037

首先我们先看一下kafka消费者流程,可以看到,我们需要创建一个consumeKafka_0_10 因为我们用的kafka的版本是0_10的对吧,要用对应版本的,消费者,然后,再用一个logattribute处理器,消费的 数据我们放到这个处理器里面进行查看 然后再就是需要配置consumekafka_0_10的,这个消费者…

数据结构入门(C语言版)栈和队列之队列的介绍及实现

队列队列的概念队列的实现过程队列的结构体与接口函数的定义队列的接口实现①初始化队列(QueueInit)②队尾入队列(QueuePush)③队头出队列(QueuePop)④队头元素(QueueFront)⑤队尾元素(QueueBack)⑥有效元素个数(QueueSize)⑦检测队列是否为空(QueueEmpty)⑧销毁队列(QueueDest…

《Java8实战》第4章 引入流

集合是 Java 中使用最多的 API。 4.1 流是什么 流是 Java API 的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不是临时编写一个实现)。可以看作是遍历数据集的高级迭代器,而且还可以并行的处理。…