【springMVC】@RequestMapping的作用

ops/2024/10/22 12:28:10/

1.作用

     将指定 URL 的请求绑定到一个特定的方法或类上,从而实现对请求的处理和响应。

     RequestMapping注解只能出现在类上或者方法上。

2.value属性

     Ant风格的value(模糊匹配路径):

        1)?,代表任意一个字符

        2)*,代表0到N个任意字符

        3)**,代表0到N个任意字符,并且路径中可以出现路径分隔符 /;且只能出现路径末尾

     value中的占位符:

        传统方式:uri?name1=value1&name2=value2&name3=value3

         Ant风格:uri/value1/value2/value3

        在value属性中使用占位符使得在控制器中获取请求中的数据:如:

           /login/{id}/{username}/{password}

3.method属性

     method规定了前端请求的方式,多一个属性,就相当于多了一个映射的条件,如果value和method属性都有,则表示只有前端发送的请求路径 + 请求方式都满足时才能与控制器上的方法建立映射关系,只要有一个不满足,则无法建立映射关系。

     3.1.衍生Mapping:

        1)@PostMapping:默认采用POST处理方式

        2)@GetMapping:要求前端必须发送get请求

        3)@PutMapping:要求前端必须发送put请求

        4)@DeleteMapping:要求前端必须发送delete请求

        5)@PatchMapping:要求前端必须发送patch请求

     3.2.web的请求方式:

        1)GET:获取资源,只允许读取数据,不影响数据的状态和功能。使用 URL 中传递参数或者在 HTTP 请求的头部使用参数,服务器返回请求的资源

        2)POST:向服务器提交资源,可能还会改变数据的状态和功能。通过表单等方式提交请求体,服务器接收请求体后,进行数据处理

        3)PUT:更新资源,用于更新指定的资源上所有可编辑内容。通过请求体发送需要被更新的全部内容,服务器接收数据后,将被更新的资源进行替换或修改

        4)DELETE:删除资源,用于删除指定的资源。将要被删除的资源标识符放在 URL 中或请求体中

        5)HEAD:请求服务器返回资源的头部,与 GET 命令类似,但是所有返回的信息都是头部信息,不能包含数据体。主要用于资源检测和缓存控制

        6)PATCH:部分更改请求。当被请求的资源是可被更改的资源时,请求服务器对该资源进行部分更新,即每次更新一部分

        7)OPTIONS:请求获得服务器支持的请求方法类型,以及支持的请求头标志。“OPTIONS *”则返回支持全部方法类型的服务器标志

        8)TRACE:服务器响应输出客户端的 HTTP 请求,主要用于调试和测试

        9)CONNECT:建立网络连接,通常用于加密 SSL/TLS 连接

     注意:

        1)使用超链接以及原生的form表单只能提交get和post请求,put、delete、head请求可以使用发送ajax请求的方式来实现

        2)使用超链接发送的是get请求,使用form表单,如果没有设置method,发送get请求

     3.3.get和post区别

        1)get请求发送数据的时候,数据会挂在URI的后面,并且在URI后面添加一个“?”,"?"后面是数据。这样会导致发送的数据回显在浏览器的地址栏上

        2)post请求发送数据的时候,在请求体当中发送。不会回显到浏览器的地址栏上。也就是说post发送的数据,在浏览器地址栏上看不到

        3)get请求只能发送普通的字符串。并且发送的字符串长度有限制,不同的浏览器限制不同。这个没有明确的规范。get请求无法发送大数据量

        4)post请求可以发送任何类型的数据,包括普通字符串,流媒体等信息:视频、声音、图片。post请求可以发送大数据量,理论上没有长度限制

        5)get请求比较适合从服务器端获取数据,post请求比较适合向服务器端传送数据

        6)get请求是安全的。因为在正确使用get请求的前提下,get请求只是为了从服务器上获取数据,不会对服务器数据进行修改

        7)post请求是危险的。因为post请求是修改服务器端的资源

        8)get请求支持缓存。 也就是说当第二次发送get请求时,会走浏览器上次的缓存结果,不再真正的请求服务器(有时需要避免,怎么避免:在get请求路径后添加时间戳)

        9)post请求不支持缓存。每一次发送post请求都会真正的走服务器

4.params属性

     要求请求参数必须和params数组中要求的所有参数完全一致后,才能映射成功

5.headers属性

        与params属性相同


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

相关文章

Rabbitmq消息应答,持久化,权重分配(7)

消息应答 概览 消息应答机制是 RabbitMQ 中确保消息处理的可靠性和一致性的重要机制之一。当消费者从队列中接收到消息并处理完成后,通常需要向 RabbitMQ 发送一个明确的消息应答,以告知 RabbitMQ 消息已经被处理,并可以安全地从队列中移除…

14 Linux实操篇-进程管理

第十四章 Linux实操篇-进程管理(重点) 14.1 基本介绍 在 LINUX 中,每个执行的程序都称为一个进程。每一个进程都分配一个 ID 号(pid,进程号)。>windows > linux 每个进程都可能以两种方式存在的**。前台与后台**,所谓前台…

【MongoDB】--MongoDB的组合索引

目录 一、前言二、Query查询条件转换shell输入命令1、常用shell输入命令2、explain()解析计划三、组合索引的说明一、前言 本文章主要介绍Mongodb的组合索引的使用。 二、Query查询条件转换shell输入命令 1、常用shell输入命令 Query: {"tenantsid": {"$num…

HarmonyOS实战开发-如何在鸿蒙开发中使用数据库

鸿蒙中的数据库基于SQLite组件,用来处理关系比较复杂的数据,本文将以WORKER表为例,为大家演示在鸿蒙开发中对数据库的增删改查操作。 1、首先导入数据库模块: import relationalStore from ohos.data.relationalStore;2、配置数…

【NTN 卫星通信】NTN应该使用FDD还是TDD双工模式

1 概述 现在主流的商用地面通信系统一般都支持FDD和TDD两种模式,实用于不同的频段。那么卫星通信也需要有这两种模式吗? 2 NTN 双工模式分析 在考虑TDD模式时,需要设置保护时间,以防止终端同时发射和接收。该保护时间直接取决于终…

leetcode热题HOT 152. 乘积最大子数组

一、问题描述: 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 二、问题分析: 考虑到乘…

【iOS】分类,扩展与关联对象

文章目录 前言一、分类实现原理二、分类加载流程三、扩展四、类别与类扩展的区别五、关联对象动态添加取值移除关联对象应用 总结 前言 上一篇章我们探究了类与对象的底层,这一篇我们探究一下分类,扩展与关联对象 一、分类实现原理 首先我们知道扩展是…

java钉钉微信qq扫码登录

概述 第三方接口其实比较简单,按照文档来操作即可,代码也就那点,最费时间的反而是在对接系统的账号的申请上,不建议个人申请很麻烦,还是让公司运维申请企业账号。 作为一名合格的开人人员,不仅仅是把第三…