这个问题好象很简单嘛,还是我水平太差?
关闭浏览器=session死亡
关闭浏览器=session死亡
解决方案 »
- many-to-one 和 one-to-many怎么理解
- 谁能帮我啊?????
- 关于远程访问路径的问题
- 文本框打印问题
- 请教一个关于MySQL的简单问题
- 报错:HTTP Status 503 - Servlet org.apache.catalina.INVOKER.xingzhengguanli is currently unavailable
- 如何检测查询数据库是否获得结果呢?是使用ResultSet.getRow()这个方法么?多谢!
- 一个控制层的处理问题?
- jsp+access2数据库操作
- maven 打包问题
- 在一个jsp页页中用java代码new出来的对象,怎样把这个对象传递到下一个页面去?
- 我在JB8里运行一个JSP文件,出现如下错误,帮忙解答一下是什么意思,看不懂。
1.session的持有者(即客户端浏览器)在最大无活动等待时间(MaxInactiveInterval)内无任何响应或请求
2.session被调用invalidate()方法强制弊了
3.jsp服务器重起或发生中断(此时应该是所有session都当了)用户关闭浏览器后标志着
a.session将不再发送请求到服务器
b.该session将不会有人调用他的invalidate()方法
所以,此时只能等待session自己超时死亡,如果设置了该session的MaxInactiveInterval为-1,那么这个session只有在第3种情况下才能死了.
session不可以放在客户端,放在客户端的叫cookie,
session是在内存里的,即时的东西,如果这个能放在客户端,那web的安全简直就是纸了
----------
回复人: zhouziqiang(zhouziqiang) ( ) 信誉:100
的session的存活周期就是浏览器存活周期啊,浏览器关闭了,session自然也就没了
--------------回复人: gmmilk(牛奶哥) ( ) 信誉:100
浏览器关闭session就失效吗?理论上好像我也是这么看到的,可是有一次亲身经历(我的页面上设置失效是默认的),关闭浏览器后重新打开页面居然原来登陆的用户还在,session居然没有失效,当然我不是通过“安全注销”来关闭session的!所以“关闭浏览器==session失效”表示怀疑
--------------回复人: zhugegod(诸葛) ( ) 信誉:100
关闭浏览器和session失效没有任何关系,session有一个存活时间,在tomcat中默认是30分钟,这个值可以在jsp页面中通过调用内置对象session的一个方法改变(具体方法名忘了,反正是意义很明显的一个方法名)。即使你浏览器一直开着,如果在30分钟内没有发出任何请求,那你原来存在服务器上的session域内的东西就全没有了,你再次访问的时候,服务器会新建一个session的。
-------------回复人: gmmilk(牛奶哥) ( ) 信誉:100
re:诸葛
session的失效和关闭浏览器没有任何关系?那是不是每次关闭浏览器之前都要有session失效语句?那万一用户不是正常关闭浏览器而是机器突然重启呢?你的意思是不是这样的话你在网吧里输入某些重要的隐私然后突然关机你就走了那接下来上网的那个只要在默认时间内(比如30分中)内上了这台机器就可以获得前面那个人都某些资料?
非常关注session
------------回复人: nighthawk(梦游中……) ( ) 信誉:76
关闭浏览器就把session给关了?这个是哪里的结论?完全同意诸葛的观点。
关闭浏览器时session是还存在的。
你再次访问的时候,服务器会新建一个session的。
可以通过session的ID来判断是不是新的session。
你提的问题本身就是有问题的。可以肯定的告诉你:关闭浏览器后session是没有关的。
gmmilk(牛奶哥):你没有看到最后一句话:
你再次访问的时候,服务器会新建一个session的。
------------回复人: Jane000(编程程) ( ) 信誉:100
to: zhugegod(诸葛)
你说的是session.getMaxInactiveInterval()吧.
to:nighthawk(梦游中……)
正如gmmilk(牛奶哥) 所说的
浏览器关闭session就失效吗?理论上好像我也是这么看到的,可是有一次亲身经历(我的页面上设置失效是默认的),关闭浏览器后重新打开页面居然原来登陆的用户还在,session居然没有失效,当然我不是通过“安全注销”来关闭session的 这是什么原因呢.如果不注销直接关浏览器.
1.为什么session还存在客户端呢?说明一些信息存在了cookie中,打开浏览器session从中取得?
2.服务器又新建一个session和原来的ID相同,然后呢,删掉以前的?
session 最初是基于 cookie 的,后来发展增加了 url rewriting sessioin, database session.
google 的关于语言选择 session 是放在客户端的。
很多网站 session 都是放在客户端的。CSDN 用户登录信息可以放在客户端一周,也是用客户端cookie实现的。
什么“感人肺腑”??太激动了吧?
赶紧去查一下,我无知了……
但是session真正的数据,比如你设置了一个attribute叫name,value是china,这些session实际的数据是在服务器的内存里的,csdn等那是利用了cookie的功能,吧你的登录信息放在客户端的cookie中,当你访问csdn的时候是用的cookie中的用户信息登陆的,这个不是session,叫cookie.
session早已自成体系了
session不能放在客户端,只能保存某些关联信息在客户端,比如sessionid.
……
可是我们的bs系统在weblogic重启后刷新后session还是有效!
另外,如果我修改我 cookie 的信息(好像不难),是不是可以冒充别人?
我现在遇到个问题,就是要在关闭窗口是能够调用程序清除session
请问在jsp里怎么捕捉窗口关闭,并执行事先写好的的程序
1,网页上在超时间的时间内没有任何的响应,结果超出了时间。
2,在获得session与在所有得到session后派生出来的网页全部关掉了之后,session自动消失。
3,客户端关闭(如断电,关闭电源)
4,服务器端的关闭(服务器的服务关闭或计算机的从新启动)
以上的我用了六台不同的机做实验,只有一台不符合(可能跟cookies有关系)
如果有需要的我可以伏上代码
所以session的生命周期就是那个时间设定,任何的关闭都不能使他灭亡,除非是注销了它。
到了这里我就产声了一个疑问,ASP中的session与JSP/servlet中的session是不是不同的呢,如果同,为什么ASP可以用global.asa中的application与session_star,session_end来做在线人数的统计??????
每一个IE进程在访问网站时都相互独立,保存了相应的SessionID,
也就是说在IE_a中所得到的SessionID和在IE_b中SessionID是不一样的
只要这个IE不释放,它所得到的SessionID是不变的
ASP中的session与JSP/servlet中的session是相同的,ASP的在线功能可以使用SessionListner来完成,它就是和global.asa对应的
session在asp中在线人数统计的appcation中的session_onstart,session_onend,在关闭了ie时就触发,如果按照的是jsp session的思路的话,session lisenter就会只监听到session id的消忘而感应不到session的消忘。这又是怎样解释呢??
还有的是我最想知道的ASP与JSP的session的问题,它们的原理是否相同(例ASP中session_onstart,session_endstart的在线人数统计问题)
ASP中session_onstart,session_endstart和sessionListner是完全对应的。没有什么区别
session_endstart根本不能在我的IE被强行关闭等情况下马上得到通知,都应该是由timeout触发的
1.session的持有者(即客户端浏览器)在最大无活动等待时间(MaxInactiveInterval)内无任何响应或请求
2.session被调用invalidate()方法强制弊了
3.jsp服务器重起或发生中断(此时应该是所有session都当了)用户关闭浏览器后标志着
a.session将不再发送请求到服务器
b.该session将不会有人调用他的invalidate()方法
所以,此时只能等待session自己超时死亡,如果设置了该session的MaxInactiveInterval为-1,那么这个session只有在第3种情况下才能死了.
绝对同意~