java Servlet API引入session 机制来跟踪客户的状态,session指的是在一段时间内,单个客户和web服务器之间一连串的交互过程,在一个session中,一个客户可能会多次请求同一个网页,也可能请求多个不同服务器资源,例如:在一个邮件系统应用中,从一个客户登录到邮件系统,到写信,收信和发信等,到最后退出邮件系统,整个过程为一个session;再例如:大家在网上购物的时候,从购物到最后的付款,整个过程也是一个session 。

session对像是jsp中的内置对象,可以直接使用;在Servlet中使用session时,必须先创建出该对象,Servlet中创建session的方法:

HttpSession session=request.getSession();或   HttpSession session=request.getSession(boolean value);

在服务器上,通过session ID来区分每一个请求服务器的用户,用户只要一连接到服务器,服务器就会为之分配一个唯一的不会重复的session ID,session ID由服务器统一管理,人为不能控制

session中的主要方法:

  1. session.getId();//获取session ID,长度为32位
  2. session.isNew();//判断是否是新建立的session

  3. session.getCreationTime();//获取session创建的时间

  4. session.getLastAccessedTime();//获取用户最后操作时间
  5. sesson.setAttribute(String key,Object value);//将对象存到session中

  6. session.getAttribute(String key);//获取session中存的Object对象

  7. session.removeAttribute(String key);//将键值为key的对象从session中删除

session的销毁

  1. web容器关闭或重启,session会死亡
  2. 调用session.invalidate();方法,强制session死亡
  3. 前后两次请求超过了session指定的生命周期时间,默认为30分钟,我们可以通过在web.xml文件中进行如下配置:
<session-config><session-timeout>5</session-timeout> </session-config>

也可以调用session.setMaxInactiveInterval(int intelval);方法来设置,单位为秒。

补充:session与cookie的区别

  1. session将信息保存在服务器上,cookie保存在客户端上
  2. session比cookie更安全,session比cookie更占资源
  3. session使用cookie的机制,如果cookie被禁用,那么session也无法使用,因为session ID是以cookie的形式保存在客户端的内存当中

转载于:https://www.cnblogs.com/hz04022016/p/5483866.html

对session的理解相关推荐

  1. [html] 说说你对cookie和session的理解

    [html] 说说你对cookie和session的理解 cookie: 可以通过客户端, 服务端设置, 容量小, 可以通过设置domain来实现同步登录, 除了name, value, 它还有多个选 ...

  2. Spark session 深入理解

    Spark session Spark session 深入理解 创建SparkSession Builder 的方法如下: 设置参数 读取元数据 读取数据 使用SparkSQL 存储/读取Hive表 ...

  3. 对cookie与session的理解

    cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户. cookie的出现就是为了解决这个问题, 第一次登录 ...

  4. Java Web之Cookie和Session的理解

    日常现象 登录了某个网站,过一会儿再登录,诶,不用输入密码了,直接是登录状态了,好神奇~~~ 在某网站看了一部手机,接下来浏览其他网站,旁边的广告全是手机和类似信息,好恐怖~~~ 浏览某网站时,提示我 ...

  5. Session的理解

    一.Session简介 Session的使用场景 当我们登陆电商网站时,无论浏览哪个页面都会显示登陆人的名字,还可以随时查看购物车里面的商品 也就是说当一个用户浏览一个网站的不同页面时,服务器怎么知道 ...

  6. cookie和session的理解

    一个常见的错误是以为 session 在有客户端访问时就被创建,然而事实是直到某 server 端程序(如 Servlet )调用HttpServletRequest.getSession(true) ...

  7. hibernate中SessionFactory,Session的理解?

    Session接口         Session接口对于Hibernate   开发人员来说是一个最重要的接口.然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会 ...

  8. 说说对javaee中的session的理解

    在服务器上,通过Session来区分每一个上网用户 用户只要一连接到服务器,则立刻分配一个Session给用户 Session主要方法: 1 服务器上通过Session来分别不同的用户-->Se ...

  9. cookie 百科_Cookie和session应该这样理解

    前言 虽然在学习服务器端语言的时候屡屡提到了Cookie和session这两个概念,有关Cookie和Session的接口也调用过,但始终对实现交互机制和这两者区别的理解感觉是云里雾里,于是打算静下心 ...

最新文章

  1. 赠书 | 新手指南——如何通过HuggingFace Transformer整合表格数据
  2. HTML5 —— 视频/音频
  3. 以太坊智能合约预言机
  4. Java IO (二),常见的输入/输出流
  5. python基础知识资料-Python基础知识篇 列表简介
  6. 【C 语言】二级指针作为输入 ( 自定义二级指针内存 | 二级指针 排序 | 通过 交换指针方式 进行排序 )
  7. Java Spring源代码学习之How is class annotation evaluated by Spring framework
  8. QT中的MessageBox设置自动关闭退出
  9. java udp 同一个端口实现收发_Java网络编程之UDP协议
  10. linux ls mv,04_Linux目录文件操作命令1(mv ls cd...)_我的Linux之路
  11. 低头编码的程序员们,你们颈椎不疼吗?
  12. word模板生成利器poi-tl
  13. (生物信息学)R语言与统计学入门(四)——Fisher检验
  14. 自动化缺陷检测系统---项目总览
  15. 把AppData目录挪到D盘的方法方法
  16. 华三路由交换配置命令_华为-华三交换机路由器命令大全
  17. linux下go语言代理
  18. 示波器带宽和采样率与被测信号的关系(转)
  19. 魅族MX5 如何进入开发者模式
  20. WDS+MDT部署Windows7操作系统2—;导入启动映像和安装映像

热门文章

  1. qt解析html的数据,windows下用QTwebkit解析html
  2. 如何发布GAE的应用(一)
  3. 使用Linux auto Makefile自动生成的运行步骤
  4. C++(12)--函数基础:按值传递、传递数组、函数指针
  5. 数据结构和算法(01)--- 算法复杂度
  6. ubuntu下解压缩zip,tar,tar.gz和tar.bz2文件
  7. C++primer第九章 顺序容器 9.6 容器适配器
  8. C++中lock_guard的学习
  9. springBoot的模版引擎
  10. 利用qt和ffmpeg软件来制作视频裁剪工具