• Cookie与Session


    Cookie:

    向客户端写入Cookie以及获取Cookie中的值

    Cookie cookie=new Cookie("key","value");  //第一个参数是键,第二个参数是键(类似Map集合的键值对)
    cookie.setMaxAge("int second");           //设置cookie的存活时间
    response.addCookie(Cookie cookie);        //将cookie添加到客户端
    
    //从客户端获取cookie
    String cookie;
    Cookie[] cookies=request.getCookies();
    if(int i=0;i<cookies.length;i++)
    {
        if(cookies[i].getName().equals("想要得到的Cookie名称"))
        {
             cookie=cookies[i].getValue();
        }
    }
    //将同一个cookie中的值分开(例如值的格式是:a,b,c……)
    String[] array=cookie.split(",");
    String a=array[0];
    String b=array[1];
       ……

    Cookie的作用:

    1、Cookie可以持久的保存一些和客户相关的信息。

    2、Cookie可以帮助服务器端保存多个状态信息,但是又不用服务器端专门分配存储资源,减轻了服务器的负担。 

    Cookie不安全的原因:

    1、可以利用跨站技术将信息发给目标服务器;为了隐藏跨站脚本的URL,可以结合Ajax(异步JavaScript和XML)后台窃取Cookie。

    2、通过某些软件,窃取硬盘Cookie。

    解决Cookie安全问题的方法:

    1、Session代替Cookie

    2、及时删除Cookie

        a、设置Cookie的失效时间

        b、通过浏览器删除Cookie

    3、禁用Cookie

    关于Session这里只补充两点:

    session.removeAttribute("参数名");//移除session中的参数
    session.invalidate();             //干掉session

    问题:从session中获取一个集合,移除集合中的一个元素,不放回session,那么session中是否还有存在这个元素?

            答:不存在,因为集合是一个引用对象,session和集合指的是同一片内存。

  • 相关阅读:
    Nginx介绍
    linux vi编辑
    MySql数据类型
    Mysql用户权限控制(5.7以上版本)
    Linux上安装MySQL
    Java得到指定日期的时间
    Spring Boot 整合Redis 实现缓存
    编写高效优雅Java程序
    JVM调优和深入了解性能优化
    JVM执行子程序
  • 原文地址:https://www.cnblogs.com/darren0415/p/6039735.html
Copyright © 2020-2023  润新知