【Java】SpringMVC参数接收(三):cookie、session、header

1、接收cookie

(1)接收所有cookie

java 复制代码
@RequestMapping("/request")
@RestController
public class RequestController {
    @RequestMapping("/c1")
    public String c1(HttpServletRequest request){
        Cookie[] cookies = request.getCookies();
        if(cookies != null){
            for (Cookie cookie : cookies){
                System.out.println(cookie.getName() + ":" + cookie.getValue());
            }
            return "获取cookie成功!";
        }
        return "cookies为空";
    }
}

(2)接收单个cookie

java 复制代码
@RequestMapping("/request")
@RestController
public class RequestController {
    @RequestMapping("/c2")
    public String c2(@CookieValue("java") String java){
        return "java:" + java;
    }
}

2、接收session

首先设置session

java 复制代码
@RequestMapping("/request")
@RestController
public class RequestController {
    @RequestMapping("/s1")
    public String s1(HttpServletRequest request){
        HttpSession session = request.getSession();
        session.setAttribute("name","zhangsan");
        return "设置会话成功!";
    }
}

接收session方法一

java 复制代码
@RequestMapping("/request")
@RestController
public class RequestController {
    @RequestMapping("/s2")
    public String s2(HttpServletRequest request){
        HttpSession session = request.getSession();
        String username = (String)session.getAttribute("name");
        return "登录用户" + username;
    }
}

接收session方法二

java 复制代码
@RequestMapping("/request")
@RestController
public class RequestController {
    @RequestMapping("/s3")
    public String s3(@SessionAttribute(value = "username",required = false)String username){
        return "登录用户" + username;
    }
}
}

3、接收header

接收方法一

java 复制代码
@RequestMapping("/request")
@RestController
public class RequestController {
    @RequestMapping("/h1")
    public String getHeader1(HttpServletRequest request){
        String userAgent = request.getHeader("User-Agent");
        return "userAgent: " + userAgent;
    }
}

接受方法二

java 复制代码
@RequestMapping("/request")
@RestController
public class RequestController {
    @RequestMapping("h2")
    public String getHeader2(@RequestHeader("User-Agent") String userAgent){
        return "userAgent: " + userAgent;
    }
}
相关推荐
艾莉丝努力练剑24 分钟前
【C++:异常】C++ 异常处理完全指南:从理论到实践,深入理解栈展开与最佳实践
java·开发语言·c++·安全·c++11
武子康25 分钟前
Java-184 缓存实战:本地缓存 vs 分布式缓存(含 Guava/Redis 7.2)
java·redis·分布式·缓存·微服务·guava·本地缓存
小马爱打代码6 小时前
Spring Boot:模块化实战 - 保持清晰架构
java·spring boot·架构
岁忧7 小时前
GoLang五种字符串拼接方式详解
开发语言·爬虫·golang
tyatyatya7 小时前
MATLAB基础数据类型教程:数值型/字符型/逻辑型/结构体/元胞数组全解析
开发语言·matlab
遇到困难睡大觉哈哈7 小时前
Harmony os 静态卡片(ArkTS + FormLink)详细介绍
前端·microsoft·harmonyos·鸿蒙
小坏讲微服务7 小时前
SpringBoot4.0整合knife4j 在线文档完整使用
java·spring cloud·在线文档·knife4j·文档·接口文档·swagger-ui
8***Z897 小时前
springboot 异步操作
java·spring boot·mybatis
i***13247 小时前
Spring BOOT 启动参数
java·spring boot·后端
用户47949283569157 小时前
Bun 卖身 Anthropic!尤雨溪神吐槽:OpenAI 你需要工具链吗?
前端·openai·bun