jsp中session什么时候创建呢?

如果我设置了过滤器,在过滤器类里面调用request.getSession(),就创建了一个session吧,如果不调用是不是再过滤器作用的这段时间没有创建session... 如果我设置了过滤器,在过滤器类里面调用request.getSession(),就创建了一个session吧,如果不调用是不是再过滤器作用的这段时间没有创建session? 展开
 我来答
m瀚霖
2011-05-20 · TA获得超过473个赞
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:188万
展开全部
一般情况下,不管向服务器发送了多少次请求,只有当开始向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中的数据也可能在服务器端内存资源不足的情况下,由于内存回收而丢失。
情龙人
2011-05-20 · 超过28用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:75.8万
展开全部
估计你问的。session什么时候创建。session是用户第一次访问的时候就创建了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友624183f
推荐于2018-05-10 · TA获得超过143个赞
知道答主
回答量:72
采纳率:0%
帮助的人:17.8万
展开全部
如果jsp中没有禁用session的话,那么jsp中的session是在jsp转换为servlet时创建的,过滤器是作用在servlet之前,所以request.getSession()确实是创建了session,不调用则没有创建session。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式