首页 > 其他 > 详细

session与getSession()用法总结

时间:2019-09-10 17:01:04      阅读:123      评论:0      收藏:0      [点我收藏+]

一.session
1.session的过期时间是从什么时候开始计算的?是从一登录就开始计算还是说从停止活动开始计算?
   从session不活动的时候开始计算,如果session一直活动,session就总不会过期。
   从该Session未被访问,开始计时; 一旦Session被访问,计时清0;sessionid有效期内不会变。
session 是借助 cookie 实现的。另外,清空客户端cookie,session就会丢失。

  2.设置session的失效时间,如果session还在有效期就不会重新生成。
   web.xml中

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

//单位为分钟

3.http请求时,无论http头指定了多少个 sessionid, 最终都只能操作一个会话,
如果指定的 sessionid 不合法,会自动创建新的 session


二.request.getSession()的用法进行总结:
在javaweb项目中,用到request.getSession()一般是存储信息到session中或者从session中获取信息。
一般有三种参数设置方式:
1.request.getSession()
这是常用的方式,从当前request中获取session,如果获取不到session,则会自动创建一个session,默认为true,并返回新创建的session;如果获取到,则返回获取到的session;
2.request.getSession(true)
这种方法和第一种一样,只是增家了一个true参数,告诉它在获取不到的时候自动创建session;
3.request.getSession(false)
这种方法与上两种的区别,就是在获取不到session的时候,不会自动创建session,而是会返回null。
在使用过程中,一般想要存储到session中时,使用request.getSession(),
想要获取session中的信息时,使用request.getsession(false),并在获取后对session变量进行是否为null的判断,再进行下一步操作

4.怎么判断session是否过期。
session不存在就是session过期了,可进行如下判断,方法如下:

if(request.getSession(false)==null){
System.out.println("Session has been invalidated!");
}
else{
System.out.println("Session is active!");
}

 

session与getSession()用法总结

原文:https://www.cnblogs.com/zjdxr-up/p/11498333.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!