java设置session过期时间,java session失效时间
如何解决写爬虫IP受阻的问题?立即使用。
一般系统登录后会设置一个当前会话无效的时间,保证用户长时间不与服务器交互会自动注销并销毁会话。
有三种具体的设置方法:
1.在web容器中设置它(以tomcat为例)
在tomcat-7.0\conf\web.xml中设置,以下是tomcat7.0中的默认配置:
会话配置
会话超时30/会话超时
/session-configtomcat的默认会话超时是30分钟,可以根据需要进行修改。负数或0表示无限制的会话过期时间。
请注意,此会话设置的时间是根据服务器计算的,而不是根据客户端。所以如果你在调试一个程序,你应该修改服务器端的时间来测试它,而不是客户端。
2.在项目的web.xml中设置它
!-时间单位是分钟-
会话配置
会话超时15/会话超时
/session-config 15在这里表示过期15分钟。
3.由java代码设置
session . setmaxinactiveinterval(30 * 60);//以秒为单位,即30分钟不活动后,会话将以三种方式失效。优先级:1 2 3
在一般系统中,您可能还需要在会话失败后执行一些操作:
1.控制用户数量。当会话失败时,系统中的用户数将减少一个,用户数被控制在一定范围内,以保证系统的性能。
2.控制用户多次登录。当会话有效时,如果同一个用户登录,会提示他已经登录。当会话失败时,他可以使用不同的提示直接登录。
那么会话失败后如何执行一系列操作呢?
这里需要监听器,就是当会话因为各种原因失败时,监听器可以监听它,然后执行监听器中定义的程序。
侦听器类是:HttpSessionListener类,它有两个方法:sessionCreated和sessioncrusted。
您可以继承这个类并单独实现它。
SessionCreated是指创建会话时执行的方法。
SessionDestroyed是指会话失败时执行的方法。
示例:
公共类OnlineUserListener实现HttpSessionListener{
创建了公共void会话(HttpSessionEvent事件){
http session session=event . getsession;
string id=session . getid()session . getcreation time();
夏季常数。UserMap.put(id,Boolean。真);//添加用户
}
public void session destroyed(http session event事件){
http session session=event . getsession;
string id=session . getid()session . getcreation time();
同步(这){
夏季常数。USERNum-;//用户数量减去-
夏季常数。user map . remove(id);//从用户组中移除,这是一张地图。
}
}
}然后你只需要在web.xml中声明这个监听器
听众
listener-classcom.demo.OnlineUserListener/listener-class
/listener以上是Java中设置会话超时(失效)时间的详细内容。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。