JavaWeb-seession原理
一.Session原理
1.第一次访问服务器,服务器帮你创建一个Session,并响应给浏览器一个SessionID的Cookie
2.其实我们关闭浏览器之后,是sessionID会丢失,而在服务器端我们的session没有消失,只不过我们再次打开浏览器访问服务器时是新的session了,之前的session找不回来了,之前在服务器端的session如果超过它的最大不活动时间,则自动会清除。
3.其实访问服务器,第一次调用了request.getSession(),人家才给你创建session,且.request.getSession()这个方法实质是帮我们创建session的同时还创建了sessionID的cookie
4.调用request.getSession(),会先获取你的SessionID来判断,以下三种情况:
sessionID不存在,创建新session保存起来,把sessionid保存到cookie里;、
sessionID存在,但是对应的session没有找到,则会创建新的session保存起来,把sessionid保存到cookie里;
sessionID存在,找到了对应的session,则不会创建新session;
5.JSP里没有写request.getSession(),但是我们访问JSP时服务器会带给我们sessionID,是因为JSP里已经创建好session了,自然也会有sessionID返回了
6.request.getSession(false)的意思是:
sessionID不存在,它不会给你创建新的session或者sessionID存在,但是没找到对应的session,也不会创建;