11.3SpringMVC

一.概念

1.SpringMvc: 

a.构建在Servlet(api)基础上.

b.是一个Web框架(HTTP).

c.来自于Spring webMVC模块.

2.MVC

fa362beda0e946aa94129b553aaa35f7.jpeg

二.注册路由的注解

1.@RequestMapping("/test") // 路由注册

注意: 这个注解在类和方法上都要使用,代表不同等级的路由.

2.@RestController

a)@ResponseBody // 告诉程序我返回的是一个数据而非页面
b)@Controller // 让框架启动的时候加载当前(只有加载的类,别人才能使用[访问])

注意: @RestController = @ Controller + @ ResponseBody

3.方法注解: @RequestMapping(valve ="/hi", method = RequestMethod.POST)(一般用下面两种方法)

a)@PostMapping("/hi")

b)@GetMapping("/hi")

三.传参(参数名相同)

1.形参类型使用包装类, 否则(使用基础类型)如果前后端传参错误会报错500.

2.对应多参数,使用对象传参(类在后端实现好),前端传这个类中全部的属性.

3.后端参数映射(重命名): 使用注解@RequestParam

7e13a6b2378e467491232bacecd030fd.png

注意: 重命名之后,默认参数必须传递,可以改为不必须传递.

3e2e03a4963342c386ee7f2668f91dd5.png

4.JSON: 使用注解@RequestBody

7fb2bb438d9b40eaafd6ca78ce591b0a.png

注意: Get方法不能再Body中传输数据. 

5.URL传参: 使用注解@PathVariable

415806462a9142af91aca5bb78834660.jpg

ae46a263a38a4bb8b3f13a4e8bd7dce0.jpg

6.文件传输(图片,文本,MP3......): 使用注解@RequestPart,注意格式.

4af05a7ab4ac48478cc5dd2ec9368e18.jpg

dcf8a7b44a134feeacdc4ebded91f48d.jpg

7.获取Cookie:

注意: SpringMVC中内置了HttpServletRequest和HttpServletResponse,所以Servlet的那一套方法在这里都可以使用.

a.古老方法: 使用servlet

b.新方法: 使用注解@CookieValue

f60ac9d96a3c4eac8e86c4437facd0e2.jpg

8.获取Header: 使用注解@RequestHeader

c49e16f3f11a4e7880d705a7ccdc1569.jpg

作用:用来获取用户设备类型和浏览器版本号.

9.设置Session: 只能使用古老方法.

10.获取Session: 两种方法

a.古老方法.

b.新方法: 使用注解@SessionAttribute

7eaed46072e948529a6fe1b736523d95.jpg

四.返回

1.返回json格式: HashMap对象

9948592338ca4504b85a65fde2b3dd51.jpg

2.重定向和转发

da7189d638164a1394778ae6dfa0f3d0.jpg

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

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

相关文章

ALPC_Natural_Selection

刚刚结束的ICPC2023沈阳是自然选择号的最后一场 XCPC 区域赛,很高兴也很幸运能拿到校排名 rk4,圆了一个这半年才开始做的梦。在这里讲一下这支队伍的故事。 组队、训练 本来和wjy666(aka maple)打完 EC Final 之后是想要退役的&…

“程序员们的奔溃瞬间”——分享你最令你哭笑不得的程序员经历

文章目录 每日一句正能量前言编程趣事后记 每日一句正能量 每件事最后都会是好事。如果不是好事,说明还没到最后。 前言 作为程序员,我们时常会遇到各种奇怪的错误和挑战,有时候我们会崩溃,但更多的时候,我们会从中学…

从0开始学习JavaScript--JavaScript基础

JavaScript作为一门前端编程语言,在现代web开发中扮演着不可替代的角色。它不仅为网页增添了动态和交互性,而且随着Node.js的崛起,也在服务器端开发中占据了重要地位。在本章节中,我们将探讨JavaScript的作用、重要性以及与其他前…

第二证券:大爆发!道指一夜大涨近500点

当地时间11月14日,美股三大股指显着上涨,其间,道指涨1.43%,标普500指数涨1.91%,纳斯达克指数涨2.37%。 标普500指数创4月份以来的最大单日涨幅。美债收益率大跌。美国10月CPI数据进步了美联储结束加息行为的希望&…

Find My平衡车|苹果Find My技术与平衡车结合,智能防丢,全球定位

随着人们环保意识的加强,电动车的数量与日俱增。与此同时,科学家经过潜心的研究,终于开发出新款两轮电动平衡车。两轮电动平衡车是一种新型的交通工具,它与电动自行车和摩托车车轮前后排列方式不同,而是采用两轮并排固…

舞台演出控制软件:QLab Pro

QLab Pro是一款功能强大的现场多媒体控制器软件,专为Mac用户设计。它提供了一个直观简洁的用户界面,使得用户能轻松管理和组织所有的媒体资源。QLab Pro支持导入各种音频和视频文件,并具备强大的音频、视频处理和灯光控制功能,可以…

Umi-OCR :一个完全离线的OCR图片转文字识别软件。

Umi-OCR :一个完全离线的OCR图片转文字识别软件。 开源免费,支持截屏或批量导入图片,并能识别多国语言,合并段落,处理竖排文字。 排除图片中的水印区域,提取干净的文本。 忽略特定区域的文字识别&#x…

什么是Vue.js中的单向数据流(one-way data flow)?为什么它重要?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

colormap与colorbar应用

一,colormap 常见色度枚举值如下 应用如下 img cv2.applyColorMap(img, cv2.COLORMAP_JET) cv2.imshow(img,img) cv2.waitKey(0) cv2.destroyAllWindows() 常用的COLORMAP_JET效果如下,该模式常用于生成热力图 二,colorbar colorbar所有…

洗袜子的洗衣机哪款好?家用小洗衣机推荐

最近这两年在洗衣机中火出圈的内衣洗衣机,它不仅可以清洁我们较难清洗的衣物,自带除菌功能,可以让衣物上的细菌,还能在清洗的过程中呵护我们衣物的面料,虽然说它是内衣洗衣机,它的功能不止可以清洗内衣&…

VS2017新建.hpp文件

目录 1、新建h文件的方法:2、新建对用的cpp文件:3、在main.cpp中调用 1、新建h文件的方法: 2、新建对用的cpp文件: 3、在main.cpp中调用 参见大佬博客

[Linux]tcpdump抓包工具

windows中的抓包工具:wireshark linux中的抓包工具:tcpdump cpdump是Linux系统中自带抓包工具 [rootIKUN ~]# rpm -q tcpdump tcpdump-4.9.0-5.el7.x86_64 [rootIKUN ~]# tcpdump tcp -i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.1…

SaleSmartly新增AI意图识别触发器!让客户享受更精准的自动化服务

AI意图识别技术是对话式AI中很重要的组成部分,通俗点来说就是一种可以识别用户在对话中表达的意图的技术。通过对大量数据的分析和学习,AI可以理解用户想要获得的信息,并根据这些信息来采取相应的行动或提供相应的响应。而在对话式AI中&#…

node将package.json中的包降为低版本或者升级为高版本

前言 比如现在你用某个包的当前版本,但是你安装的版本高了,那么你应该这么做 1.首先删除node项目中的node_modules目录,防止安装时的包不一致 如果没安装就忽略 例如将package.json中的view-design包降为^4.6.1,当前view-design的版本为^4.…

适合苹果电脑的格式转换器,你都知道几个

我之前都是用windows电脑的,现在突然换了苹果电脑,如何使用苹果电脑进行格式转换呢?有没有好用的格式转换器呢? 不要着急,本文将为你介绍几款常见的格式转换器,可让你轻松的在苹果电脑上进行格式的转换。 …

PyG(torch_geometric)的MessagePassing详解

1. 提出MessagePassing的目的 MessagePassing是图神经网络(Graph Neural Networks,GNNs)的一个基础组件,它被设计用来处理图形数据的问题。在图形数据中,数据点(节点)之间的关系(边…

【python】单词接龙

题目: 这是一个关于“单词接龙”的算法题目。在这个游戏中,我们需要从给定的一组单词中,以特定的开头字母构造出一条最长的“龙”。每个单词在这条“龙”中最多出现两次。当两个单词相连时,它们的重合部分被合并成一个。例如&…

【吐血总结】前端开发:一文带你精通Vue.js前端框架(七)

文章目录 前言1️⃣事件处理器2️⃣表单3️⃣总结 前言 上一篇中我们学习了vue.js 的条件语句、循环语句等知识点.,现在让我们接着Vue系列的学习。 Vue中事件处理器、表单等在开发中的作用不可或缺,本文将基于实例进行以上知识点的讲解。 1️⃣事件处理器…

Oracle如何快速删除表中重复的数据

方法一: 在Oracle中,你可以使用DELETE语句结合ROWID和子查询来删除重复的记录。以下是一个示例: DELETE FROM your_table WHERE ROWID NOT IN (SELECT MAX(ROWID)FROM your_tableGROUP BY column1, column2, ... -- 列出用于判断重复的列 )…

6大赛题,超148万奖池!2023无锡国际人工智能算法大赛等你来挑战!

各位人工智能卓越的推动者们,我们诚邀您参与【2023年无锡国际人工智能算法大赛】,探索未来AI创新的巅峰之战! 比赛为您提供与全球AI开发者技术切磋的机会,不仅是一场竞技,更是智慧的盛宴。 本次大赛总奖金超过148万&…