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。

相关推荐
郭小李22 分钟前
mybatis的 Mapper.xml语法
xml·java·mybatis
小蒜学长25 分钟前
基于SpringBoot 框架的自媒体新闻系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·mysql数据库·自媒体新闻管理系统
96245626 分钟前
补打一条卡,为什么要从前一天重新算:人工补录与实时重算业务复盘
java·mysql·kafka
Java后端的Ai之路35 分钟前
01、Java并发编程:学习攻略如何才能学好并发编程?
java·开发语言·学习
ScilogyHunter1 小时前
Hercules系列安全MCU功能安全原理详解
java·单片机·安全·hercules
博风1 小时前
eclipse中配置maven,以及在本地使用maven。
java·eclipse·maven
云-缩影1 小时前
实际项目中怎么选排序算法:从面试题到工程落地
java·算法·排序算法
追星星の人1 小时前
java web项目(eclipse软件)全流程备份
java·servlet
文丑颜不良啊2 小时前
LeetCode1461~1480题目解析
java·leetcode
2301_7807896610 小时前
跨平台适配!SDK 游戏盾兼容全终端游戏场景
java·网络·ddos