Q1:jsp中session什么时候创建呢?
一般情况下,不管向服务器发送了多少次请求,只有当开始向Session中存储会话状态数据时,Session对象的生命周期才算真正开始,这一点不同于Cache和Application对象(Application对象的生命周期开始于向网络应用程序发送第一个请求时)。当Session对象为空,Session对象的生命周期还没有开始,Session ID Manager会为每一个请求页面赋予一个新的session ID,且每一次请求都不相同,直到有数据存储在Session对象中时,就按照图2所示的过程进行会话状态维护。有两个事件与Session对象的生命周期密切相关,分别是Session_OnStart(会话开始)和Session_OnEnd(会话结束)。如果为Session_OnStart事件定义了处理程序(event handler),那么Session的生命周期从第一次请求该页面就开始,该页面的Session ID一被赋予就不再改变,Session即使为空也会被存储,因此,从性能的角度考虑,只有在必要时才为Session_OnStart事件定义事件处理程序。Session_OnEnd事件只有在InProc模式下,且Session已经存在的前提下才能被触发,这是因为该事件是由Cache对象在删除失效的Session对象时触发,可在该事件的处理程序中通过编码终止Session对象。 最后,再补充一点。由上面的讨论可知,Session 对象的实现与Cache对象有着密切联系,尤其是再InProc模式下,但是Session不能提供和Cache那样丰富的缓存过期和依赖机制。在InProc模式下,Session对象中的数据是否失效,只能通过设定sliding time来控制,即在指定的时间间隔内没用使用Session中的数据,数据自动删除。且考虑Cache自身的特点,Session中的数据也可能在服务器端内存资源不足的情况下,由于内存回收而丢失。
Q2:httpsession什么时候创建session
新的客户端访问页面的时候,也就是客户端打开浏览器第一次登录网站时(关掉浏览器,再访问网站又会创建一个seession),估计这样说搂主不也是很明白,楼主可以写个session监听类,看下效果,如果楼主指的java的sessin的话,我这里有: 第一步:...
Q3:在java web应用中 session是什么时候创建的
在你需要进行会话跟踪的时候创建。
一般都是在输入账户、密码之后点击登陆,跳转之后就已经生成session了。
Q4:spring shiro 什么时候创建一个新的session
一样的,当session失效的时候,2113当获5261取不到sessionid的时候。
推荐一套完整的Shiro Demo,免费的。4102
Shiro介绍文档:http://www.sojson.com/shiro
Demo已经部署到线上,1653地址是http://shiro.itboy.net,
管理员帐号:admin,密码:sojson.com 如果密码错误,请用sojson。PS:你可以注册自己的帐号,然后用管理员赋权限给你自己的帐号,但是,每20分钟会把数据初始化一次。建议自己下载源码,让Demo跑起来,然后跑的更快。
Q5:session什么时候加载什么时候消失
会话开始,就是用户访问第一个servlet或者jsp时,session对象由web容器自动创建,会话结束时,session消失,但是很多情况,服务器是很难判断会话是否结束的,这就有了session有效时间的设置,可以在程序里设置,也可以在web.xml中对session的有效时间设置,另外,如果你学过java EE中的监听器的话,你会知道java web开发中,经常用监听器来监听用户的活动状态,还有可以对session的属性进行监听,这样就可以更好的利用session
Q6:什么时候需要用request.getSession 来创建一个httpsession对象?
当你需要存储会话信息时需要创建一个httpsession的对象