在spring boot的controller层里使用cookie

##controller层里使用cookie
简要说明:
1.cookie会话技术
2.会话: 会话技术默认就是指打开一个浏览器到关闭浏览器这个过程就称作为一个会话。
3.cookie是一个服务器发送给浏览器,在浏览器上保存的一个小文件
4.应用场景:
浏览器第一次访问服务器时,服务器会校验用户名和密码是否存在,如果存在则生成一个小文件cookie,cookie上记录着用户名和密码,把小文件发送给浏览器保存(需要设置有效时间)。

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;

/**
 * @author SongXianYang
 * @date 2020-07-25 14:16:17
 **/

@Controller
@RequestMapping("cookie")
public class CookieTest {
    @ResponseBody
    @RequestMapping("song")
    public String myCookie(HttpServletResponse response) {

        Cookie cookie = new Cookie("student", "songXianYang");
        //指定cookie绑定路径  setPath  在非springboot项目里需要添加项目的名称(request.getcontestpath()+路径)
        cookie.setPath("/cookie");
        //给cookie设置有效期  单位秒   setMaxAge
        cookie.setMaxAge(60*60*24*10);
        //把生成的cookie写到响应的客户端
        response.addCookie(cookie);
        return "my cookie";
    }

}

在这里插入图片描述

在这里插入图片描述

从请求中获取cookie的name与value

@ResponseBody
    @RequestMapping("getCookie")
    public String findAllCookie(HttpServletRequest request) {
        //从请求中获取cookie的name与value
        Cookie[] cookies = request.getCookies();
        for (Cookie cookie : cookies) {
            System.out.println(cookie.getName() + "====" + cookie.getValue());
            if (cookie.getName().equals("student") && cookie.getValue().equals("songXianYang")) {
                //执行相应的代码
            } else {
                //否则执行什么
            }
        }

        return "从请求中获取cookie的name与value";
    }

结果打印:
student====songXianYang

禁止cookie

不建议禁止cookie 。因为cookie一般存的都是用户名与密码。
黑客攻击首先就是获取到用户名与密码。不建议禁止。

总结

基本使用
一.常用的方法
1.New Cookie(name,value) 创建一个Cookie对象。
2.Response.addCookie(cookie) 把cookie发送给浏览器
3.Cookie.setMaxAge(秒) 如果一个cookie没有设置有效时间 ,那么并不会产生一个文件。
4.Request.getCookies() 返回网站中的所有cookie。
5.Cookie.getName() 获取cookie的名字
6.Cookie.getValue() 获取cookie的数据。
二.Cookie.setPath() 设置有效路径。一个cookie如果没有设置有效的路径,那么默认是当前工程,如果设置了,当只有访问当前路径,浏览器才会将cookie发送给服务器

下期:在spring boot的controller层里使用session

不合适的地方忘指正。。谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SteveCode.

永远年轻,永远热泪盈眶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值