java设置session过期时间,java session失效时间

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: