• Cookie概述与应用


    一、概述
    Cookie是Web服务器保存在客户端的一系列文本信息

    典型应用一:判断注册用户是否已经登录网站。
    典型应用二:”购物车“的处理。

    Cookie的作用:
        对特定对象的追踪
        保存用户网页浏览记录与习惯
        简化登录

    安全风险:容易泄露用户信息

    cookie保存对象大小是有限制的,包括每个域名所包含的cookie数,cookie的总大小,这些均与使用的浏览器有关。在所有浏览器中,任何cookie大小超过限制的都会被忽略,且永远不会被设置。



    二、Cookie与session的共同点与区别

    共同点:都是用来保存用户状态的一种机制,并且都有生存期限,都会过期
    区别:
    sessioncookie
    在服务器端保存用户信息在客户端保存用户信息
    session中保存的是object类型cookie保存的是string类型
    随会话的结束而将其存储的数据销毁cookie可以长期保存在客户端
    保存重要信息保存不重要信息,如用户习惯




    三、应用
    创建Cookie对象
    Cookie newCookie = new Cookie(String key,Object value);
    写入Cookie对象
    response.addCookie(newCookie);
    读取Cookie对象
    Cookie[] cookies = request.getCookies();

    示例:
    通过request获得用户名密码后将其保存到Cookie中
    1. // 通过request获取用户名密码
    2. String username = URLEncoder.encode(request.getParameter("username"), "utf-8");
    3. String password = request.getParameter("password");
    4. // 将用户密码保存到Cookie中
    5. Cookie usernameCookie = new Cookie("username", username);
    6. Cookie passwordCookie = new Cookie("password", password);
    7. // 设置Cookie的最大生存期限(单位为秒)
    8. usernameCookie.setMaxAge(864000);
    9. passwordCookie.setMaxAge(864000);
    10. // 通过response对象将Cookie保存
    11. response.addCookie(usernameCookie);
    12. response.addCookie(passwordCookie);
    从Cookie中获取用户名密码并将其赋值给username和password
    1. String username = "";
    2. String password = "";
    3. // 读取Cookie
    4. Cookie[] cookies = request.getCookies();
    5. if (cookies != null && cookies.length > 0) {
    6. for (Cookie c : cookies) {
    7. if (c.getName().equals("username")) {
    8. username = URLDecoder.decode(c.getValue(), "utf-8");
    9. }
    10. if (c.getName().equals("password")) {
    11. password = c.getValue();
    12. }
    13. }
    14. }


    本笔记地址(如果页面显示效果不好可以直接看笔记)
  • 相关阅读:
    架构师维度理解 程序=数据+算法
    vuejs 中 select 动态填充数据,后台的数据
    vuejs 的错误代码,有助于理解
    graphviz 绘制架构图
    graphviz 布局和子图,表格教程
    graphviz layer 教程(非布局)
    待学习
    Linux进程管理
    TCP连接的11种状态,三次握手四次挥手原因
    Linux基本命令使用(三)
  • 原文地址:https://www.cnblogs.com/crowsong/p/6364764.html
Copyright © 2020-2023  润新知