2 oathzhanghaihao oathZHANGHAIHAO 于 2017.09.10 14:16 提问

关于request.getSession()的问题
web

如果是第一次请求,request没有携带相应的sessionID,然后在jsp中多次调用request.getSession()方法,是如何使得session相同的

5个回答

taoleialskdjfhg
taoleialskdjfhg   2017.09.10 15:26
已采纳

第一次请求,后台判断看request中是否存在session,如果不存在,则后端生成一个session,并放在request中,接着才是后台controller处理。
jsp中获取的session就是后端生成的(jsp是后端分析处理的)

qwqe123131
qwqe123131   2017.09.10 14:22

因为request是同一个的原因吧

xillee388366
xillee388366   2017.09.10 14:56

应该是每次都没有携带session id,取回来的是默认的sessionid,也就是为游客准备的sessionid

XxPingEr
XxPingEr   2017.09.10 18:21

通常在一次会话的范围内session的id是唯一的,如果没有sessionid就会生成默认的sessionid

zhwyj1019
zhwyj1019   2017.09.11 12:36

Session的生命周期是一次会话,也就是浏览打开,到你关闭浏览器,第一次调用request.getSession()的时候会创建一个SessionID存放到cookie中,并且在服务器中创建一个session,第二次调用request.getSession(),会通过cookie中的sessionID去找服务器中的session,如果有就不创建,没有就创建一个新的。

session是有存活时间的默认是30分钟,这个时间是可以修改的

 设置session的过期时间的方法
                    。(一般会手动配置,在项目中的web.xml中)(单位是分钟)
                    。tomcat中的conf中设置(单位是分钟)
                    。代码置,getSession().setMaxInactiveInterval(60);(单位是秒)
Csdn user default icon
上传中...
上传图片
插入图片