**Session**

  1. HttpSession对象介绍
  •  HttpSession 对象是 javax.servlet.http.HttpSession 的实例,该接口并不像HttpServletRequest 或 HttpServletResponse 还存在一个父接口,该接口只是一个纯粹的接口。这因为 session 本身就属于 HTTP 协议的范畴。
    
  •  对于服务器而言,每一个连接到它的客户端都是一个 session,servlet 容器使用此接口创建 HTTP 客户端和 HTTP 服务器之间的会话。会话将保留指定的时间段,跨多个连接或来自用户的页面请求。一个会话通常对应于一个用户,该用户可能多次访问一个站点。可以通过此接口查看和操作有关某个会话的信息,比如会话标识符、创建时间和最后一次访问时间。在整个 session 中,最重要的
    

就是属性的操作。
2. Session 的作用

  •   1) Session 的作用就是为了标识一次会话,或者说确认一个用户;
      2) 并且在一次会话(一个用户的多次请求)期间共享数据
      3) 可以通过 req.getSession()方法,来获取当前会话的 session 对象。
    

3.JSESSIONID

  •   1) SessionId 是标识一次会话的唯一标志。
      2) 每当一次请求到达服务器,如果开启了会话(访问了 session),服务器第一步会查看是否从客户端回传一个名为 JSESSIONID 的 cookie;
      3) 如果JSESSIONID不存在,则服务器会新建session对象,并重新标识;
      4) 如果JSESSIONID存在,服务器会将客户端回传过来的ID去服务器中查找与之对应的session对象
      	<1>如果没找到,则服务器会新建session对象,并重新标识;
      	<2>如果找到,则获取 session对象,响应给客户端;
    

4.Session域对象

  •  1) 通过 setAttribute(name,value);方法向域对象中添加数据,
     2) 通过 getAttribute(name) 从域对象中获取数据
     3) 通过 removeAttribute(name)从域对象中移除数据
    

5.Session的失效

  •   1、达到最大不活动时间
      	Tomcat中默认最大不活动时间为30分钟。
      	可以自行修改默认不活动时间,但不建议。 
      	在web.xml文件中
      	<session-config>
      		<session-timeout>30</session-timeout>
      	</session-config>
      	
      2、自己设定过期时间
      	通过 session.setMaxInactiveInterval(int);来设定 session 的最大不活动时间,单位为秒。
      	通过 getMaxInactiveInterval();方法来查看当前 Session 对象的最大不活动时间。
      
      3、立即失效
      	手动销毁session对象	session.invalidate();
      	
      4、关闭浏览器
      	session的底层依赖于cookie,默认关闭浏览器失效
    
      5、关闭服务器
      	非正常关闭服务器时才会失效。
      	如果是正常关闭服务器,session会被钝化到本地磁盘,下次访问时会从本地磁盘中活化出来。
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值