Cookie和Session

简介: Cookie和Session

前言

提示:这里可以添加本文要记录的大概内容:


提示:以下是本篇文章正文内容,下面案例可供参考

一、Cookie

1:Cookie是什么?

Cookie:是浏览器在本地持久化存储数据的一种机制。

2:Cookie的数据从哪来?

Cookie的数据是浏览器返回给浏览器的。

3:Cookie的数据长啥样 ?

Cookie中是键值对中的数据,并且这些键值对中的数据都是程序员自定义的。

4:Cookie的作用

5:Cookie到哪里去?

Cookie中的内容会在下次访问该网站的时候,自动被带到http请求中。

6:Cookie怎么存的?

浏览器按照不同的"域名"分别存储cookie.域名和域名之间的cookie是不同的。

 Cookie是存储在硬盘上。Cookie往往会有超时时间。

二.代码

我在springboot中写的代码

package com.example.demo.demos.web;

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

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;

@Controller
public class MyController {

    @RequestMapping ("/getCookies")
    @ResponseBody
    public String getCookies(HttpServletRequest request) {
        Cookie[] cookies = request.getCookies();

        if (cookies != null) {
            for (Cookie cookie : cookies) {
                System.out.println("Cookie Name: " + cookie.getName());
                System.out.println("Cookie Value: " + cookie.getValue());
            }
        } else {
            System.out.println("No cookies found");
        }

        // 这里可以返回视图或其他逻辑
        return "cookieView";
    }
}

刚打开8080的窗口肯定是没有cookie的

打开f12

我们自己加一个cookie的值,然后刷新

三、Session

package com.example.demo.demos.web;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpSession;

@Controller
public class LoginController {
    // 显示登录页面
    @RequestMapping("/login")
    @ResponseBody
    public String showLoginPage() {
        return "login";
    }
    // 处理登录请求
    @RequestMapping("/login2")
    @ResponseBody
    public String login(@RequestParam String username, @RequestParam String password, HttpSession session, Model model) {
        if (username == null || password == null || username.equals("") || password.equals("")) {
            model.addAttribute("message", "当前请求参数不完整");
            return "login";
        }

        // 验证用户名和密码是否正确,这里简单模拟一个合法用户
        if (!username.equals("zhangsan") || !password.equals("123")) {
            model.addAttribute("message", "当前用户名或密码错误");
            return "login";
        }

        // 登录成功,创建session
        session.setAttribute("username", username);
        session.setAttribute("time", System.currentTimeMillis());

        // 重定向到index页面
        return "redirect:/index";
    }

    // 显示首页
    // 显示首页
    @RequestMapping("/index")
    @ResponseBody
    public String showIndexPage(HttpSession session, Model model) {
        // 在index页面显示用户名信息
        String username = (String) session.getAttribute("username");
        Long time = (Long) session.getAttribute("time");

        // 如果用户名或时间戳为null,执行相应的处理逻辑
        if (username == null || time == null) {
            return "User information not available";
        }

        // 打印用户名和时间戳到控制台
        System.out.println("用户名: " + username + " 时间戳: " + time);

        // 返回一个字符串作为响应
        return "Welcome, " + username + "!";
    }


}

总结

好了,博客到这里结束

目录
相关文章
|
2月前
|
存储 自然语言处理 API
Session、cookie、token有什么区别?
Session、cookie、token有什么区别?
36 1
|
1月前
|
存储 编解码 应用服务中间件
会话跟踪技术(Session 以及Cookie)
会话跟踪技术(Session 以及Cookie)
|
1月前
|
存储 前端开发 小程序
表白墙完善(数据库,前端,后端Servlet),再谈Cookie和Session。以及一个关于Cookie的练习小程序
表白墙完善(数据库,前端,后端Servlet),再谈Cookie和Session。以及一个关于Cookie的练习小程序
|
2月前
|
存储 Web App开发 安全
Cookie和session 及Web相关工具
Cookie和session 及Web相关工具
|
19天前
|
存储 前端开发 JavaScript
VSCode调试揭秘:Live Server助力完美测试Cookie与Session,远超“Open in Browser“!
VSCode调试揭秘:Live Server助力完美测试Cookie与Session,远超“Open in Browser“!
|
19天前
|
存储 安全 网络协议
Django路由与会话深度探索:静态、动态路由分发,以及Cookie与Session的奥秘
Django路由与会话深度探索:静态、动态路由分发,以及Cookie与Session的奥秘
|
1月前
|
JSON 前端开发 Java
Spring第一课,了解IDEA里面的文件,回顾Cookie和Session,获取Session,Cookie,Header的方式
Spring第一课,了解IDEA里面的文件,回顾Cookie和Session,获取Session,Cookie,Header的方式
|
24天前
|
存储 移动开发 JavaScript
对于session、cookie、 localStorage和SessionStorage的理解
对于session、cookie、 localStorage和SessionStorage的理解
26 0
|
25天前
|
存储 安全 关系型数据库
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
安全开发-PHP应用&留言板功能&超全局变量&数据库操作&第三方插件引用&后台模块&Session&Cookie&Token&身份验证&唯一性
|
1月前
|
中间件 数据库 Python
Django——会话.Cookie&Session
Django——会话.Cookie&Session