建立连接

将用户(浏览器)和java程序连接起来,也就是访问一个地址能够调用到我们的Spring程序。在 Spring MVC 中使用 @RequestMapping来实现URL 路由映射,也就是浏览器连接程序的作用。


1.@RequestMapping注解介绍

  • @RequestMapping :它是用来注册接口的路由映射的注解。当用户访问一个URL时,将用户的请求对应到程序中某个类的某个方法的过程就叫路由映射
  • @RestController:与@RequestMapping 一起使用。 ⼀个项目中, 会有很多类, 每个类可能有很多的方法, Spring程序怎么知道要执行哪个方法呢?Spring会对所有的类进行扫描, 如果类加了注解@RestController, Spring才会去看这个类里面的方法有没有加 @RequestMapping 这个注解。如果不写@RestController会出下如下报错:

2.@RequestMapping注解使用

访问方法:类路径 + 方法路径

  • 访问地址:http://127.0.0.1:8080/user/sayHi
@RequestMapping("/user")
@RestController
public class UserController {@RequestMapping("/sayHi")public String sayHi(){return "hello,Spring MVC";}
}
  • 访问地址:http://127.0.0.1:8080/user/m1/say/hi
    (RequestMapping 的URL路径也可以是多层路径 依然是 类路径 + 方法路径
@RequestMapping("/user/m1")
@RestController
public class UserController {@RequestMapping("/say/hi")public String sayHi(){return "hello,Spring MVC";}
}
  • 注1:@RequestMapping 的URL 路径最前面加不加 / (斜杠)都可以, Spring程序启动时, 会进行判断, 如果前面没有加 / , Spring会拼接上⼀个 /  (通常情况下, 我们加上 /)
@RequestMapping("user")
@RestController
public class UserController {@RequestMapping("sayHi")public String sayHi(){return "hello,Spring MVC";}
}

    3. @RequestMapping 既支持Get请求, 又支持Post请求

    • 可显示的指定@RequestMapping 来接收POST请求

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;@RestController
    public class UserController {@RequestMapping(value = "/getRequest",method= RequestMethod.POST)public String sayHi(){return "get request...";}
    }
    • 可显示的指定@RequestMapping 来接收GET请求

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;@RestController
    public class UserController {@RequestMapping(value = "/getRequest",method= RequestMethod.GET)public String sayHi(){return "get request...";}
    }

    4.GetMapping

    和@RequestMapping相同用法,但专门支持Get请求

    5.PostMapping

    和@RequestMapping相同用法,但专门支持Post请求

    注意:客户端(浏览器)传过来的数据会自动进行类型转换(但不一定成功)

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

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

    相关文章

    蘑菇云路由器使用教程

    1: 手机连接路由器的Wi-Fi,在浏览器输入背面IP地址:192.168.132.1进入路由管理界面1.1: 电脑连接路由器网线在浏览器输入背面IP地址:192.168.132.1进入路由管理界面账号:admin密码:123456782:选择上网模式2.1&#xff…

    ubuntu的tar解压指令相关

    1. 指令说明参数作用-xextract,解包-z通过 gzip 解压(.tar.gz、.tgz)-vverbose,显示过程-ffile,后面紧跟压缩包文件名2. 什么时候用z参数场景是否加 -z结果.tar.gz / .tgz✅ 必须加 -z正常解压.tar.gz / .tgz❌ 没加 -…

    车载诊断刷写 --- Flash关于擦除和写入大小

    我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…

    【Verilog HDL 入门教程】 —— 学长带你学Verilog(基础篇)

    文章目录一、Verilog HDL 概述1、Verilog HDL 是什么2、Verilog HDL产生的背景3、Verilog HDL 和 VHDL的区别二、Verilog HDL 基础知识1、Verilog HDL 语言要素1.1、命名规则1.2、注释符1.3、关键字1.4、数值1.4.1、整数及其表示1.4.2、实数及其表示1.4.3、字符串及其表示2、数…

    SQL Developer Data Modeler:一款免费跨平台的数据库建模工具

    SQL Developer Data Modeler 是由 Oracle 公司开发的一款免费的图形化数据建模和数据库设计工具,用于创建、浏览和编辑逻辑模型、关系模型、物理模型、多维模型和数据类型模型。 SQL Developer Data Modeler 既是一个独立的应用程序,同时也被集成到了 Or…

    CSS面试题及详细答案140道之(21-40)

    《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

    篇四 tcp,udp客户端服务器编程模型

    一 前言 本篇内容主要介绍tcp,udp客户端服务器编程的基础API和示例代码。 二 APIAPI用途使用方socket创建套接字,这是网络通信的桥梁Tcp,udp客户端,服务器bind绑定本地IP地址和端口Tcp,udp客户端,服务器listen监听端口&#xff0c…

    ESP32学习笔记_Components(1)——使用LED Strip组件点亮LED灯带

    LED strip ESP32-S3 的 RMT(Remote Control Transceiver,远程控制收发器)外设最初设计用于红外收发,但由于其数据格式的灵活性,RMT 可以扩展为通用的信号收发器,能够发送或接收多种类型的信号;…

    无人机抛投模块分析

    一、设计核心要点1. 结构轻量化与强度平衡 材料选择:主体采用航空铝、碳纤维复合材料,降低自重并保证承重强度。 机械传动优化:齿轮-齿条传动替代传统丝杆结构,简化机构并提升可靠性。 模块化设计:支持多仓位独立控…

    【硬件-笔试面试题】硬件/电子工程师,笔试面试题-33,(知识点:二极管结温,热阻,二极管功耗计算)

    目录 1、题目 2、解答 步骤一:明确热阻的相关公式 步骤二:计算二极管的功耗 步骤三:计算二极管的结温 3、相关知识点 一、热阻的定义 二、二极管功耗的计算 三、结温的计算 题目汇总版--链接: 【硬件-笔试面试题】硬件…

    【LeetCode 热题 100】79. 单词搜索——回溯

    Problem: 79. 单词搜索 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格…

    ARM SMMUv3控制器注册过程分析(八)

    1.概述 ARM SMMUv3控制器初始化及设备树分析(七)中描述了IOMMU控制器初始化过程。SMMU驱动最后调用iommu_device_register将其注册到内核中,下面分析一下SMMU控制器注册过程中都做了那些工作。 如下图所示,SMMU控制器注册过程中…

    Idefics3:构建和更好地理解视觉-语言模型:洞察与未来方向

    温馨提示: 本篇文章已同步至"AI专题精讲" Idefics3:构建和更好地理解视觉-语言模型:洞察与未来方向 摘要 视觉-语言模型(VLMs)领域,接收图像和文本作为输入并输出文本的模型,正在快…

    利用DeepSeek解决kdb+x进行tpch测试的几个问题及使用感受

    上文其实没有成功运行tpch的22个标准查询中的任何一个,因为DeepSeek原始给出的导入语句有错,有一些表没有导入。 1.解决类型及长度问题导致的插入tbl文件到内存表失败。 kdbx的Reference card()提到的基本数据类型如下: Basic datatypes n …

    SGLang 核心技术详解

    SGLang 作为一个高性能的 LLM 服务框架,通过一系列先进的优化技术实现了卓越的推理性能。下面详细解释其核心功能组件: 1. RadixAttention 用于前缀缓存 核心概念 RadixAttention 是 SGLang 独创的前缀缓存机制,基于 Radix Tree(基…

    精密全波整流电路(四)

    精密全波整流电路(四) 背景说明 [[精密半波整流电路|半波整流]]虽然能实现交直流信号的转换,但是半波整流只能保留信号半个周期的能量,导致信号能量的利用率不高。 因此,在一些场合需要使用到全波整流电路。 同样的&…

    深入解读Prometheus 2.33 Series Chunks压缩特性:原理与实践

    深入解读Prometheus 2.33 Series Chunks压缩特性:原理与实践 随着监控指标规模不断增长,Prometheus的本地TSDB存储压力日益增大。为提升存储效率,Prometheus 2.33引入了Series Chunks压缩特性,对时间序列数据在写入和存储时进行深…

    SpringBoot整合Liquibase提升数据库变更的可控性、安全性、自动化程度(最详细)

    为什么要使用liquibase?- 团队协作与版本管理- 当多人(或多个小组)并行开发、对同一数据库结构进行变更时,如果仅靠手写 SQL 脚本,很 容易产生冲突或漏掉某些变更。- Liquibase 将所有 DDL/DML 操作以“changeset”形式纳入源码管…

    数据写入因为汉字引发的异常

    spark 数据写hive表,发生 查询分区异常问题 异常: 25107124 19 26.49 ERROR Hive: MelaException(message.Exception thrown when execuling quey. S ELECT DISTINCT ‘org apache.hadop.hive melastore .modelMpartion As"NUCLEUS TYPE,AONCREATE TIME,AO.LAST ACCE…

    Springboot项目实现将文件上传到阿里云

    Springboot项目实现将文件上传到阿里云 一、概述二、具体步骤 2.1引入阿里云工具 首先先建utils包,然后引入AliOSSUtils类,如下: package com.hechixueyuan.forestfiredetectionsystem.utils;import com.aliyun.oss.OSS; import com.aliyun.o…