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. }


    本笔记地址(如果页面显示效果不好可以直接看笔记)
  • 相关阅读:
    6-Python爬虫-分布式爬虫/Redis
    ES 查询时 排序报错(fielddata is disabled on text fileds by default ... )解决方法
    Intellij Idea webstorm 激活
    Intellij Idea 配置jdk
    java 获取(格式化)日期格式
    js 跳转 XSS漏洞 预防
    CSS去掉背景颜色
    js对象无法当成参数传递 解决方法
    Elasticsearch java api
    java多条件查询SQL语句拼接的小技巧
  • 原文地址:https://www.cnblogs.com/crowsong/p/6364764.html
Copyright © 2011-2022 走看看