【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;
    }
}
相关推荐
子兮曰1 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
小羊没烦恼!1 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
子兮曰1 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
俊昭喜喜里1 天前
java中的继承和多态的区别
java
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
前端小万1 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝1 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
譕痕1 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码1 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖1 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商