zoukankan      html  css  js  c++  java
  • 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. }


    本笔记地址(如果页面显示效果不好可以直接看笔记)
  • 相关阅读:
    IDEA学习和收藏夹
    mysql资料收集及学习
    一些模板代码
    docker学习
    Spring事务传播类型
    rust学习疑惑
    [重新做人]从头学习JAVA SE——java.lang.reflect
    java核心技术卷一
    Spring实战 难懂的JavaBean
    Spring实战系列
  • 原文地址:https://www.cnblogs.com/crowsong/p/6364764.html
Copyright © 2011-2022 走看看