标签:
一、Session的简介:
在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因 此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的session中,当用户使用浏览器访问其它程序时,其它程序可以从用户的 session中取出该用户的数据,为用户服务。
二、Session和Cookie对象的区别:
三、Session的生命周期:
A、什么时候产生Session
只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session,可调用request.getSession(true)强制生成Session。
B、什么时候销毁:
1. 服务器会把长时间没有活动的Session从服务器内存中清除,此时Session便失效。Tomcat中Session的默认失效时间为30分钟。
2. 调用Session的invalidate方法。
四、Session的getSession()的方法
Request.getSession();//可以创建session
Request.getSession(false);//只会调用session
五、Session的实现原理:
服务器创建session出来后,会把session的id号,以cookie的形式回写给客户机,这样,只要客户机的浏览器不关,再去访问服务器时,都 会带着session的id号去,服务器发现客户机浏览器带session id过来了,就会使用内存中与之对应的session为之服务。但是,cookie的有效时间是没有设置的,通过覆盖方法,可以通过以下方法解决.
//获取session的Id String sessionId = session.getId(); //将session的Id存储到名字为JSESSIONID的cookie中 Cookie cookie = new Cookie("JSESSIONID", sessionId); //设置cookie的有效路径 cookie.setMaxAge(1800); cookie.setPath(request.getContextPath()); response.addCookie(cookie);
标签:
原文地址:http://www.cnblogs.com/lyjs/p/4897788.html