zoukankan      html  css  js  c++  java
  • 会话技术Cookie&Session

    1、会话技术概述

    从打开浏览器访问某个站点,到关闭这个浏览器的整个过程,称为一次会话。会话技术用于记录本次会话中客户端的状态与数据。

    会话技术分为Cookie和Session:

    • Cookie:数据存储在客户端,减少服务器端的压力,安全性不好,客户端可以清除Cookie
    • Session:将数据存储到服务器端,安全性相对好,增加了服务器端的压力

    2、Cookie技术

    服务器端向客户端发送Cookie信息:

    • 创建Cookie:Cookie cookie = new Cookie(String cookieName, String cookieValue); Cookie中不能设置中文
    • 设置Cookie在客户端的持久化时间:cookie.setMaxAge(int seconds); 不设置持久化时间,cookie信息被存储在浏览器内存中,浏览器关闭时,cookie信息销毁,当设置了持久化时间时,cookie信息会被持久化到硬盘上,过期浏览器自动删除该cookie。
    • 设置cookie的携带路径:cookie.setPath(String path),不设置时,该cookie信息会在访问该cookie的web资源所在的路径都携带cookie信息
    • 向客户端发送cookie:response.add(String cookie);
    • 删除客户端cookie:设置同名同路径的持久化时间为0的cookie进行覆盖

    服务器端接受客户端携带的Cookie:

    • 获得cookie:Cookie[] cookies = response.getCookies();
    • 取得指定名字的cookie:
    1 for(Cookie cookie : cookies){
    2   if(cookie.getName().equal(cookieName)){
    3     String cookieValue = cookie.getValue();
    4   }
    5 }

    3、Session技术

    获得Session对象:HttpSession session = request.getSession();

      用于获取当前会话的Session对象,如果服务器端没有该Session对象会创建一个新的Session返回,如果有直接去得该Session对象返回。

    向Session中存取数据

      session.setAttribute(String name, Object obj);

      session.getAttribute(String name);

      session.removeAttribute(String name);

    Session对象的生命周期

      销毁:服务器非正常关闭或session过期(session默认30分钟,从不开始操作服务器端开始),手动销毁,session.invalidate();

      作用范围:默认在一次会话中

      

  • 相关阅读:
    LIS问题:二分+DP
    AndroidBDMap学习05:连续定位地图
    AndroidBDMap学习04:定位配置的设置实现
    AndroidBDMap学习03:定位获取当前地点的信息
    AndroidBDMap学习02:获取用户的相关权限
    AndroidBDMap学习01:基于百度地图SDK的配置以及利用API实现一个简单的地图应用
    数据结构--可迭代红黑树模板类(C++)
    数据结构--大小根堆模板类(C++)
    Apache poi导出的文件损坏解决办法
    deepin图标显示不正常的问题解决
  • 原文地址:https://www.cnblogs.com/alphajuns/p/9989593.html
Copyright © 2011-2022 走看看