【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;
    }
}
相关推荐
tealcwu7 分钟前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity
涛涛ing11 分钟前
我现在最怕的不是 AI 写不出代码,是它写得太快,快到我不好意思说“等一下”
前端
AllData公司负责人17 分钟前
【产品便捷使用一】AIIData 数据中台:企业基础版核心能力支持,一站式全链路数据处理实操指南
大数据·前端·数据治理·数据可视化·数据开发·数据服务·数据接入
vipxieliang17 分钟前
JavaScript 模板字符串与标签模板:不只是拼接
前端·javascript
vipxieliang21 分钟前
Spring Boot 性能优化实战:从启动加速到运行时调优
java·spring boot
AI全栈学习助手35 分钟前
告别“转圈等待”:Spring Boot + SSE 让大模型像 ChatGPT 一样流式输出
java·人工智能·spring boot·后端·aigc
天天被压力35 分钟前
【A股分钟级高频数据完全手册 #02】Python调用股票1分钟数据接口:Pro版最新分时取数与字段解析
java·人工智能·python
代码不停36 分钟前
Spring Aop
java·数据库·spring
恋猫de小郭36 分钟前
Flutter 开始支持 Jetpack Compose Platform View
android·前端·flutter
时间的拾荒人44 分钟前
CMake 实战指南:从基础语法到静态库/动态库制作与链接
开发语言·c++·面试