四种会话跟踪机制

本贴最后更新于 1455 天前,其中的信息可能已经东海扬尘

四种会话跟踪机制

1. 隐藏域

<input type="hidden" name="sessionid" value="12345">

2. url 重写

url 地址栏追加额外数据来标识 session 会话。
serlvet jar
HttpServletResponse responseHttpServletRequest request

存储在客户端浏览器中,最多 20 个域名。
创建 cookie
Cookie cookie = new Cookie(name,value);

  1. 设置域名:cookie.setDomain(字符串 xxx)
  2. 设置指定路径,若不指定,与当前页面相同目录下的 url 都会返回 cookie
    cookie.setPath(字符串 xxx)
  3. 设置失效时间: cookie.setMaxAge(int xxx)-1 表示一致持续下去,0 表示失效。
  4. 设置 js 脚本无法获取 cookiecookie.setHttpOnly(true)
  5. 添加 cookieresponse.addCookie(cookie对象)
  6. 获取 cookie 数组:Cookie[] cookies = request.getCookies();
    通过 for 循环遍历,getName(),getValue()

4. session

存储在服务器中,JsessionId 存在 cookie 中的。

  1. 获取 SessionHttpSession session = req.getSession();
  2. 设置 Sessionkeyvaluesession.setAttribute("name","张三");
  3. 获取 Session 的值:session.getAttribute("name");
  4. 设置 Session 失效:session.invalidate();
    设置 Session 存活时间/秒:session.setMaxInactiveInterval(10);

SessionId 持久化
JsessionId 存放在 cookie 中,
Cookie cookie = new Cookie("JSESSIONID",session.getId());
cookie.setMaxAge(60*60);
response.addCookie(cookie); // 秒

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • Session
    14 引用 • 6 回帖
  • Cookie
    21 引用 • 63 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...