java怎么销毁session_Java中session的销毁

java怎么销毁session_Java中session的销毁【概述】之前文章中介绍过Session,Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。今天我们来聊一下如果销毁session。【Session的销毁】1.关闭浏…

大家好,欢迎来到IT知识分享网。java怎么销毁session_Java中session的销毁

【概述】

之前文章中介绍过Session,Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。今天我们来聊一下如果销毁session。

【Session的销毁】

1.关闭浏览

关闭浏览器的操作,再次打开浏览器时就会发现没有办法自动登录了,需要重新输入用户名和密码。这时就代表着session被结束了,但是并不意味着此时的session就是被销毁了。因为session 的创建和销毁是在服务器端进行的,当浏览器访问服务器就会创建一个sessionid,浏览器通过这个ID来访问服务器中所存储的session,当关闭浏览器后,再次打开浏览器访问服务器,你的浏览器已经失忆了,他忘记了之前的那个sessionid,所以他也就找不到了服务器端他的session内容,所以你只有再次登录,那么这时就会创建一个新的sessionid,存入一个新的session内容,而不是之前的那个id。而创建的session由服务器自己控制销毁,当然也可以在服务器端代码中销毁。

2.设置Session过期

A.在web容器中设置(以tomcat为例):在tomcat-7.0\conf\web.xml中设置,以下是tomcat7.0中默认配置:

30

tomcat默认session超时时间为30分钟,可以根据需要修改,负数或0为不限制session失效时间。这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果在调试程序,应该是修改服务器端时间来测试,而不是客户端。

B.在工程的web.xml中设置,设置方法同上

C.通过Java代码设置

session.setMaxInactiveInterval(30*60);//以秒为单位,即在没有活动30分钟后,session将失效

3.服务器端调用了HttpSession的invalidate()方法。

退出销毁session的Action方法

/**

* 用户退出的方法

*/

public String quit(){

// 销毁session

ServletActionContext.getRequest().getSession().invalidate();

return “quit”;

}

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/20980.html

(0)
上一篇 2024-02-01 14:00
下一篇 2024-02-01 22:26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信