当前位置: 首页 > news >正文

SpringMVC中的注解

SpringMVC中的注解

文章目录

  • SpringMVC中的注解
    • @RequestMapping注解
      • @RequestMapping中的value属性
      • @RequestMapping中的method属性
      • 派生类
    • @PathVariable注解
    • @RequestParam注解

@RequestMapping注解

@RequestMapping中的value属性

@RequestMapping:既可以标识在方法上也可以标识在类上

  • 将@RequestMapping注解标识在方法上表示设置请求映射的具体信息(/:会被解析成http://localhost:8080/上下文/)
@RequestMapping(value = "/hello")
public void hello(){System.out.println("hello,SpringMVC");
}
  • 将@RequestMapping注解标识在方法上表示设置请求映射的初始信息
  • 如果@RequestMapping注解标识在方法上请求地址会匹配类中的注解再加上某个方法的注解
@Controller
@RequestMapping(value = "/text")
public class HelloController {@RequestMapping(value = "/hello")public void hello(){System.out.println("hello,SpringMVC");}}

value属性:它是一个String类型的数组,即当前浏览器所发送请求的请求路径匹配value属性中的任何一个值,则当前请求就会被注解所标识的方法进行处理

@RequestMapping中的method属性

method属性是RequestMethod类型的数组,当前浏览器所发送请求的请求方式匹配method属性中的任何一中请求方式,则当前请求就会被注解所标识的方法进行处理

@RequestMapping(value = {"/hello","/abc"},method= {RequestMethod.GET,RequestMethod.POST}
)
public void hello(){System.out.println("hello");
}

派生类

  • 在@RequestMapping注解的基础上,结合请求方式的一些派生类

@GetMapping、@PostMapping、@DeleteMapping、@PutMapping

@GetMapping:表示当前发送的请求方式为get请求,value属性为请求地址

后面三个注解也是如此,表示当前发送的请求方式,value属性为请求地址

@PathVariable注解

在传统发送带参数的请求方式:/helloUser?id=1

在rest风格中将参数作为请求路径发送:/helloUser/1

需要在@RequestMapping注解value属性中所设置的路径中,使用{xxx}的方式表示路径中的数据

在通过@PathVariable注解,将占位符所标识的值和控制器方法的形参进行绑定

  • 发送发请求
<a th:href="@{/rest/helloUser/username/1}">测试</a>
  • 接收请求
@RequestMapping("/rest/helloUser/{username}/{id}")
public void testRest(@PathVariable("id") Integer id , @PathVariable("username") String username){System.out.println(id);//1System.out.println(username);//username
}

@RequestParam注解

@RequestParam注解:将请求参数和控制器方法的形参绑定

  • @RequestParam注解的三个属性,value、required、defaultValue

value:设置和形参绑定的请求参数名字

required:设置是否必须传输value所对应的请求参数,默认值为true,表示value所对应的请求参数必须传输,否则页面报错

若设置为false,则表示value所对应的请求参数不是必须传输,若没传输,则形参值为null

defaultValue:设置当没有传输value所对应的请求参数时,为形参设置的默认值

  • 发送请求
<form th:action="@{/param}" method="post"><input type="text" name="name"/><input type="password" name="password"/><input type="submit" value="登录"/>
</form>
  • 接收请求
@RequestMapping("/param")public void testgetParamTwo(@RequestParam(value = "name",required = false,defaultValue = "hello") String username,String password
) {System.out.println("username = " + username);System.out.println("password = " + password);}

相关文章:

SpringMVC中的注解

SpringMVC中的注解 文章目录SpringMVC中的注解RequestMapping注解RequestMapping中的value属性RequestMapping中的method属性派生类PathVariable注解RequestParam注解RequestMapping注解 RequestMapping中的value属性 RequestMapping&#xff1a;既可以标识在方法上也可以标识…...

python+Vue学生作业系统 django课程在线学习网站系统

系统分为学生&#xff0c;教师&#xff0c;管理员三个角色&#xff1a; 学生功能&#xff1a; 1.学生注册登录系统 2.学生查看个人信息&#xff0c;修改个人信息 3.学生查看主页综合评价&#xff0c;查看今日值班信息 4.学生在线申请请假信息&#xff0c;查看请假的审核结果和请…...

CSS 美化网页元素【快速掌握知识点】

目录 一、为什么使用CSS 二、字体样式 三、文本样式 color属性 四、排版文本段落 五、文本修饰和垂直对齐 1、文本装饰 2、垂直对齐方式 六、文本阴影 七、超链接伪类 1、语法 2、示例 3、访问时&#xff0c;蓝色&#xff1b;访问后&#xff0c;紫色&#xff1b; …...

Tableau连接openGauss实践

目录 一、摘要 二、什么是Tableau&#xff1f; 三、安装Tableau 四、安装ODBC驱动 1、openGauss数据库 2、连接前置条件 3、Tableau连接openGauss方式一 4、Tableau连接openGauss方式二 一、摘要 Tableau可以连接到多种数据库&#xff0c;包括关系型数据库&#xff0…...

RabbitMQ 实现延迟队列

业务场景&#xff1a;1.生成订单30分钟未支付&#xff0c;则自动取消&#xff0c;我们该怎么实现呢&#xff1f;2.生成订单60秒后,给用户发短信1 安装rabbitMqwindows安装ubuntu中安装2 添加maven依赖<!-- https://mvnrepository.com/artifact/org.springframework.boot/spr…...

Spring Bean 生命周期,好像人的一生

简单说说IoC和Bean IoC&#xff0c;控制反转&#xff0c;想必大家都知道&#xff0c;所谓的控制反转&#xff0c;就是把new对象的权利交给容器&#xff0c;所有的对象都被容器控制&#xff0c;这就叫所谓的控制反转。 控制反转 Bean&#xff0c;也不是什么新鲜玩意儿&#xf…...

C++算法基础课 05 —— 数据结构1_单链表/双链表/栈/单调栈/队列/单调队列/KMP

文章目录 1. 单链表(用数组模拟链表)1.1 模板1.1.1 插入操作1.1.2 删除操作1.2 习题1 —— 826.单链表2. 双链表2.1 模板2.1.1 插入操作2.1.2 删除操作2.2 习题1 —— 827.双链表3. 栈(用数组模拟栈)3.1 模板3.2 习题1 —— 828.模拟栈4. 单调栈4.1 模板4.2 习题1 —— 830.单调…...

小型水库大坝安全监测的主要对象

一、监测背景 大坝监测的目的分成两个大的方面&#xff0c;一方面是为了验证设计、指导施工、为科研提供必要的资料&#xff1b;另一方面&#xff0c;也可以说是更重要的方面&#xff0c;就是为了长期监视大坝的安全运行。因此&#xff0c;一个成功的监测设计者不仅要能充分领会…...

常见软件开源(alpha,beta等)版本介绍

一、开发期Alpha&#xff1a;是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用。Beta&#xff1a;也是测试版&#xff0c;这个阶段的版本会一直加入新的功能。在Alpha版之后推出。-RC(ReleaseCandidate)&#xff1a;最终测试版本&#xff1b;可能成为最终产品的…...

凌恩生物资讯|抗性宏基因组又一力作|抗性基因+可移动元件研究新成果!

凌恩生物合作客户&#xff1a;合肥工业大学崔康平老师团队利用凌恩生物宏基因组抗性基因研究解决方案&#xff0c;对污水处理厂活性污泥中的钆&#xff08;Gd&#xff08;III&#xff09;&#xff09;和抗生素磺胺甲噁唑&#xff08;SMX&#xff09;的联合污染情况进行了调查&a…...

常见前端基础面试题(HTML,CSS,JS)(二)

ES6 新增哪些东西 箭头函数字符串模板支持模块化&#xff08;import、export&#xff09;类&#xff08;class、constructor、extends&#xff09;let、const 关键字新增一些数组、字符串等内置构造函数方法&#xff0c;例如 Array.from、Array.of 、Math.sign、Math.trunc 等…...

按关键词搜索,商品详情采集,API接口

公共参数 名称类型必须描述keyString是 调用key&#xff08;必须以GET方式拼接在URL中&#xff09; 注册Key和secret测试&#xff1a; https://o0b.cn/anzexi secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_g…...

C++的纯虚函数使用与接口实现

虚函数主要是为了父类指针访问子类同名成员方法而引入的&#xff0c;即通过重写了父类的方法&#xff0c;从而实现多态。 01 为何引入纯虚函数 对于普通虚函数&#xff0c;如果子类没有重写相应的虚函数&#xff0c;那么父类指针就只能调用父类函数实现&#xff0c;然而父类有…...

Exception has occurred: ModuleNotFoundErrorNo module named ‘urllib3‘【已解决】

问题描述 实际上只是想要测试一下torch是否安装成功&#xff0c;输出相应版本。谁知道就报错了。 Exception has occurred: ModuleNotFoundError No module named urllib3 解决方案 &#xff08;1&#xff09;使用pip或者conda卸载urllib3 pip uninstall urllib3conda unin…...

CSS 盒子模型【快速掌握知识点】

目录 一、什么是盒子模型 二、边框border-color 三、边框粗细border-width 四、边框样式border-style 五、外边距margin 六、内边距padding 七、圆角边框 八、圆形 九、盒子阴影 一、什么是盒子模型 css盒子模型又称为框模型&#xff0c;盒子的最内部是元素的实际内容…...

公网远程连接Oracle数据库【内网穿透】

文章目录1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程OracleOracle&#xff0c;是甲骨文公司的一款关系数据库管理系…...

国内售价仅10元的鸭子滑梯玩具TK卖到20美元,相关视频获400万+播放!

在TikTok上玩具一直是增速极快的一个类目&#xff0c;不同于很多其他品类在疫情期间取得了巨大增长但在疫情后销售大幅下降的现象不同&#xff0c;全球玩具市场继续表现并保持稳定的较高的销售水平。美国市场研究机构NPD的统计&#xff0c;2021年&#xff0c;全球玩具市场的销售…...

直播平台的视频美颜sdk是什么?

直播平台的视频美颜sdk是什么&#xff0c;可以做什么&#xff1f;简而言之&#xff0c;直播美颜sdk是将直播平台的视频美颜效果做成一个sdk&#xff0c;给用户提供美颜效果选择&#xff0c;同时提供不同的视频分辨率&#xff0c;可以让用户在观看直播时有更好的体验。那么具体有…...

实现Vue组件库

实现Vue组件库 如何实现一个Vue组件库 Vue组件库是一种常见的前端工具&#xff0c;可以提供可复用的UI组件来简化应用程序的开发和维护。本文将介绍如何实现一个基本的Vue组件库。 步骤一&#xff1a;创建Vue项目 首先&#xff0c;我们需要使用Vue CLI创建一个Vue项目。打开…...

面试 | 移位妙解递归乘法【细节决定成败】

不用[ * ]如何使两数相乘❓一、题目明细二、思路罗列 & 代码解析1、野蛮A * B【不符合题意】2、sizeof【可借鉴】解析3、简易递归【推荐】① 解析&#xff08;递归展开图&#xff09;② 时间复杂度分析4、移位<<运算【有挑战性&#x1f4aa;】① 思路顺理② 算法图解…...

DeepSeek总结的将 Rust Delta Kernel 集成到 ClickHouse

来源&#xff1a;https://clickhouse.com/blog/integrating-rust-delta-kernel 将 Rust Delta Kernel 集成到 ClickHouse 作者: Melvyn Peignon, Kseniia Sumarokova, Ral Marn 日期: 2026年5月22日 阅读时间: 24分钟 除非你过去几年一直呆在没有互联网的洞穴里&#xff0c;否则…...

IPXWrapper完整教程:让经典游戏在现代Windows系统重获联机能力

IPXWrapper完整教程&#xff1a;让经典游戏在现代Windows系统重获联机能力 【免费下载链接】ipxwrapper 项目地址: https://gitcode.com/gh_mirrors/ip/ipxwrapper 你是否怀念《星际争霸》《帝国时代》《红色警戒2》等经典游戏的局域网对战乐趣&#xff1f;在现代Windo…...

为什么92%的团队部署DeepSeek失败?火山引擎vLLM+Triton加速方案(2024最新生产级验证)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;为什么92%的团队部署DeepSeek失败&#xff1f;火山引擎vLLMTriton加速方案&#xff08;2024最新生产级验证&#xff09; 92%的团队在部署DeepSeek-R1或DeepSeek-V2时遭遇推理延迟超标、OOM崩溃、吞吐骤降等问…...

【AI工具成本真相报告】:开源≠免费!TCO测算显示中大型项目3年隐性成本反超商业工具37%

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;【AI工具成本真相报告】&#xff1a;开源≠免费&#xff01;TCO测算显示中大型项目3年隐性成本反超商业工具37% 开源AI工具常被默认等同于“零许可费用”&#xff0c;但真实总拥有成本&#xff08;TCO&#xf…...

Burp Suite小白挖洞实战:公益漏洞挖掘的最小可行闭环

1. 这不是“无脑”&#xff0c;而是把重复动作压缩成肌肉记忆“使用Burp Suite插件如何无脑挖的第一个公益漏洞&#xff08;小白挖洞&#xff09;”——这个标题里最危险的词&#xff0c;不是“Burp Suite”&#xff0c;也不是“公益漏洞”&#xff0c;而是“无脑”。我带过二十…...

CentOS停服后,我为什么选了Rocky Linux 8.9?手把手教你从下载到配置网卡(附避坑点)

CentOS停服后&#xff0c;我为什么选了Rocky Linux 8.9&#xff1f;手把手教你从下载到配置网卡&#xff08;附避坑点&#xff09;当CentOS宣布转向Stream滚动更新模式时&#xff0c;整个运维圈都在寻找稳定可靠的替代方案。作为一位经历过CentOS 5到7全周期的系统管理员&#…...

2026运营经理进阶指南:从“执行者”到“数据操盘手”的能力跃迁

嘿&#xff0c;未来的运营总监们&#xff01;&#x1f44b; 2026年的运营战场早已不是单纯拼“执行力”和“写文案”的时代了。你是否发现&#xff0c;只会盯着排期表催进度的运营&#xff0c;正逐渐被会用数据驱动业务增长、用AI提升效率的“操盘手”所取代&#xff1f;作为你…...

显存节省68%、训练加速2.3倍,DeepSeek-R1微调实测报告,中小团队必看的轻量化方案

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek-R1微调的轻量化价值与适用场景 DeepSeek-R1作为一款高性能开源推理模型&#xff0c;其架构设计天然支持参数高效微调&#xff08;PEFT&#xff09;&#xff0c;在保持原始推理能力的同时显著降…...

终极视频字幕神器:VideoSrt让字幕制作从3小时变3分钟![特殊字符]

终极视频字幕神器&#xff1a;VideoSrt让字幕制作从3小时变3分钟&#xff01;&#x1f680; 【免费下载链接】video-srt-windows 这是一个可以识别视频语音自动生成字幕SRT文件的开源 Windows-GUI 软件工具。 项目地址: https://gitcode.com/gh_mirrors/vi/video-srt-windows…...

Windows电脑安装安卓应用:告别模拟器的轻量级解决方案

Windows电脑安装安卓应用&#xff1a;告别模拟器的轻量级解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经渴望在Windows电脑上运行安卓应用&#xf…...