当前位置: 首页 > news >正文

Springboot使用Cookie,生成cookie,获取cookie信息(注解与非注解方式)

最近无意间发现好多人搬了这个简单的cookie使用文章,大家搬文章的时候,可以先跟我说一声,互相尊重下。 不过知识分享推广这个是好的!欢迎大家一起分享!

做了个简简单单的小例子去记录一下,怎么使用这个Cookie,虽然现在用了shiro去管控登录,里面用的是token,但是说不定以后得用上这个。

废话不多说,开始上! 代!码!

先 创建一个控制类吧, 其实我没有分层啊,随便做个例子:

MyGetCookieController:

@RestController
public class MyGetCookieController {

  //......先空着-JCccc

}


//首先,想要获取Cookie信息,那么就得先有Cookie信息,这边我们自己从头开始,先弄个Cookie吧。

@RequestMapping(value = "/setCookies",method = RequestMethod.GET)
    public  String setCookies(HttpServletResponse response){
        //HttpServerletRequest 装请求信息类
        //HttpServerletRespionse 装相应信息的类
        Cookie cookie=new Cookie("sessionId","CookieTestInfo");
        response.addCookie(cookie);
        return "添加cookies信息成功";
    }

上边,可以看到,我new了个Cookie,name是sessionId,value是CookieTestInfo; 接下来我们看看怎么取。

//非注解方式获取cookie中对应的key值

@RequestMapping(value = "/getCookies",method = RequestMethod.GET)
public  String getCookies(HttpServletRequest request){
    //HttpServletRequest 装请求信息类
    //HttpServletRespionse 装相应信息的类
 //   Cookie cookie=new Cookie("sessionId","CookieTestInfo");
    Cookie[] cookies =  request.getCookies();
    if(cookies != null){
        for(Cookie cookie : cookies){
            if(cookie.getName().equals("sessionId")){
                return cookie.getValue();
            }
        }
    }

   return  null;
}

上边注意了,看到那个循环没,这是非常有必要的! 因为这不是通过注解方式去获取Cookie中对应的key值(注解方式下边有介绍),所以得用这种方式去获取(看到里面的if没,就是通过Cookie的name:sessionId去拿值),如果执行成功,会显示在网页上的,因为这个是个@RestController。

 

//注解方式获取cookie中对应的key值

@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue("sessionId") String sessionId ) {
   //前提是已经创建了或者已经存在cookie了,那么下面这个就直接把对应的key值拿出来了。
   System.out.println("testCookieValue,sessionId="+sessionId);
  
   
    return "SUCCESS";
}

上边的代码,你可以看到实际上通过注解方式去获取Cookie信息的话,是非常!简单!的!,直接@一下,然后String sessionIValue=sessionId; 就拿出来了!


好了,Cookie的简单使用,就这样子吧。

相关文章:

  • Springboot最简单的整合使用Mongodb案例
  • IDEA 设置 快速生成serialVersionUID
  • springboot 最简单的日志打印,输出日志文件 及全局异常捕获处理
  • SpringBoot 最简单的使用异步线程案例 @Async
  • Springboot中 使用request的几种方法。
  • 使用WebStorm 报错解决方法!!Unable to save settings: Failed to save settings (内含注册码破解码)
  • Angular7 关于Bootstrap4.x.x版本无法使用Glyphicons 字体图标 简单解决方案
  • springboot 获取访问接口的请求的IP地址
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • 什么是Kafka
  • Springboot 线程同步之Semaphore 的简单使用
  • JAVA Gson的使用
  • JAVA 最全最细的fastjson使用介绍,带你透彻领悟JSON
  • fastJson注解@JSONField 的作用及其效果
  • HttpClient 不同版本的超时时间设置
  • [case10]使用RSQL实现端到端的动态查询
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 0基础学习移动端适配
  • docker容器内的网络抓包
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Python_网络编程
  • STAR法则
  • ubuntu 下nginx安装 并支持https协议
  • 动态规划入门(以爬楼梯为例)
  • 给初学者:JavaScript 中数组操作注意点
  • 力扣(LeetCode)22
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 驱动程序原理
  • 责任链模式的两种实现
  • 怎样选择前端框架
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (2020)Java后端开发----(面试题和笔试题)
  • (3)STL算法之搜索
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (四)图像的%2线性拉伸
  • (新)网络工程师考点串讲与真题详解
  • (转)菜鸟学数据库(三)——存储过程
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET MVC之AOP
  • .NET 事件模型教程(二)
  • .net 中viewstate的原理和使用
  • .NetCore项目nginx发布
  • .NET分布式缓存Memcached从入门到实战
  • .net和jar包windows服务部署
  • .NET上SQLite的连接
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell