web10-session

概述

当浏览器访问Web服务器时,Servlet容器就会创建一个Session对象和ID属性。
当客户端(浏览器)后续再访问服务器的时候,只需要把ID标识传给服务器,服务器就能判断出是哪个客户端发送的请求,从而选择与之对应的Session对象为其服务。
服务器需要通过Cookie技术来传递Session的ID属性。

基本使用

HttpSession session = request.getSession();

String value= (String) session.getAttribute("key");

session.removeAttribute("key");

session.setAttribute("key", "value");

Cookie和Session的区别

  • Cookie有大小和个数的限制,Session没有
  • Cookie相对于Session来说不安全

Servlet 三个域对象的总结

ServletContext

  • 一个Web应用只有一个ServletContext。
  • 生命周期
    • 创建:服务器启动的时候
    • 销毁:服务器关闭,或者移除的时候

Request

  • 一次请求(一个页面,请求转发)内有效
  • 生命周期
    • 创建:客户端发送请求
    • 销毁:响应结束

Session

  • 一次会话内有效。
  • 生命周期
    • 创建:服务器第一次调用getSession()的时候
    • 销毁:
      • 非正常关闭服务器(正常关闭,服务器会序列化Session)
      • Session过期,默认是30min
      • 手动调用Session的invalidate方法

共同点

API基本一致

发布了26 篇原创文章 · 获赞 1 · 访问量 594

猜你喜欢

转载自blog.csdn.net/laonxs/article/details/104244207