首页 >Java >java教程 > 正文

session的生命周期是什么

原创2020-09-08 11:38:41015341
Session直接翻译成中文比较困难,一般都译成时域。在计算机专业术语中,Session是指一个终端用户与交互系统进行通信的时间间隔,

通常指从注册进入系统到注销退出系统之间所经过的时间。以及如果需要的话,可能还有一定的操作空间。

推荐课程:Java教程

Session的生命周期

Session存储在服务器的内存中(为了高速存取)。

Session何时生效

Sessinon在用户访问第一次访问服务器时创建,需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静 态资源并不会创建Session,可调用request.getSession(true)强制生成Session。

Session何时失效

1.服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。Tomcat中Session的默认失效时间为20分钟。

2.调用Session的invalidate方法。

HttpSession session = request.getSession();
session.invalidate();//注销该request的所有session

3.session的过期时间是从什么时候开始计算的?是从一登录就开始计算还是说从停止活动开始计算?

答:从session不活动的时候开始计算,如果session一直活动,session就总不会过期。

从该Session未被访问,开始计时; 一旦Session被访问,计时清0;

4.设置session的失效时间

a)web.xml中

<session-config>
    <session-timeout>30</session-timeout>
</session-config>

b)在程序中手动设置

session.setMaxInactiveInterval(30 * 60);//设置单位为秒,设置为-1永不过期

c)tomcat也可以修改session过期时间,在server.xml中定义context时采用如下定义:

<Context path="/livsorder" 
docBase="/home/httpd/html/livsorder"   defaultSessionTimeOut="3600" 
isWARExpanded="true"   
isWARValidated="false" isInvokerEnabled="true"   isWorkDirPersistent="false"/>

[注]:若要移除Session中特定的值,可以调用removeAttribute方法,但request中的SessionID仍不变,只是其中的值发生了改变, Session还是原来的Session。↓↓↓↓↓↓↓↓

request.getSession().removeAttribute("xxx");

以上就是session的生命周期是什么的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:session
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息
    推荐视频教程
  • 马士兵JAVA坦克游戏视频教程马士兵JAVA坦克游戏视频教程
  • 魔乐科技java五子棋视频教程魔乐科技java五子棋视频教程
  • SESSION实现登录与验证SESSION实现登录与验证
  • 最新Java完整视频教程最新Java完整视频教程
  • 视频教程分类