Spring MVC 常用注解和用法(二)——url,cookie,session

目录

一·请求参数接收

1.1@PathVariable:获取url中参数

1.2@RequestBody:传递JSON数据

结果:​编辑1.3@RequestPart:上传文件

1.4@RequestHeader:获取Header

1.5@CookieValue:获取Cookie

二·响应处理

2.1返回静态页面

2.2@ResponseBody:返回数据

2.3返回JSON


一·请求参数接收

1.1@PathVariable:获取url中参数

@PathVariable主要用于请求url路径上的数据绑定。

java 复制代码
@RequestMapping("/m8/{id}/{name}")
public String method8(@PathVariable Integer id,
                      @PathVariable("name") String userName) {
    return "解析参数 id:" + id + ", name:" + userName;
}

访问:http://127.0.0.1:8080/param/m8/5/zhangsan

结果:解析参数 id:5, name:zhangsan

1.2@RequestBody:传递JSON数据

JSON是一种轻量的数据交互格式,本质是字符串,负责在不同语言中数据传递和交换。

接收JSON对象,需要使用@RequestBody注解

postman发送JSON数据

结果:1.3@RequestPart:上传文件

java 复制代码
@RequestMapping("/m9")
public String getFile(@RequestPart("file") MultipartFile file) throws IOException {
    String fileName = file.getOriginalFilename();
    file.transferTo(new File("D:/temp/" + file.getOriginalFilename()));
    return "接收到文件名称为:" + fileName;
}

1.4@RequestHeader:获取Header

传统方式可以从HttpServletRequest中获取:

更简洁的方式:

1.5@CookieValue:获取Cookie

传统方式:获取所有cookie的key和value放在数组中

简洁方式:一个变量接收一个cookie的value

1.6@SessionAttribute:获取Session

二·响应处理

2.1返回静态页面

创建前端界面index.html

后端响应处理:

结果:

注意:这里必须使用@Controller,不能使用@RestController。否则index.html会被当作数据返回,而不是视图。

2.2@ResponseBody:返回数据

此时/index.html会作为字符串数据返回给前端

作用在类上:该类中的所有方法返回的都是数据。

作用在方法上:该方法返回的是数据。

如果类中有方法返回页面,有方法返回数据,可以将@ResponseBody加到对应方法上。

2.3返回JSON

后端方法返回对象,Spring MVC可以自动转为JSON。

相关推荐
杨运交42 分钟前
[074][示例]基于Redisson的分布式锁在定时任务中的实践与异常模拟
java·后端·spring
小刘在重生~43 分钟前
Java Lock 显式锁案例|ReentrantLock 解决多线程安全问题(超详细实战)
java·笔记·面试
步行cgn1 小时前
Spring 中完整的 Scope 选项详解
java·后端·spring
hai_android1 小时前
Android MeasureSpec 详解
android·java·kotlin
阳光宅男@李光熠3 小时前
【电子通识】一起学习TDK的EMC基础——电池兼容设计方法概述
java·前端·数据库
张宜强3 小时前
025 安居租赁 · 房屋租赁平台
java·课程设计
Java_2017_csdn3 小时前
ReentrantLock 与 Redis RLock 对比解读
java
YDS8293 小时前
Small Spring IOC篇:实现 Bean 的定义、注册、获取
java·spring
边境悍匪3 小时前
蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘
java·开发语言·vue.js·学习·spring